Blogs

how it is to work at a start-up ...

Added by Ulrich Staudinger 204 days ago

Work on training videos

Added by Ulrich Staudinger 205 days ago

Work on some training and educational videos has begun. I'll keep you posted. The raw videos are attached to this post.

new website feature: subdomains

Added by Ulrich Staudinger 221 days ago

Since today, projects can have their own subdomain on activequant.org. Files can be hosted there!

List of moving averages

Added by Ulrich Staudinger 261 days ago

GridGain for clustering on EC2

Added by Ulrich Staudinger 264 days ago

Csv To Java Objects and back

Added by Ulrich Staudinger 293 days ago

XSLT from HTML to DocBook with Ruby

Added by Ulrich Staudinger 297 days ago

require 'rubygems'
require 'xslt'

# Create a new XSL Transform
stylesheet_doc = XML::Document.file('html2docbook.xsl')
stylesheet = XSLT::Stylesheet.new(stylesheet_doc)

# Transform a xml document
xml_doc = XML::Document.file('TestWiki.html')
result = stylesheet.apply(xml_doc)

# dump it out
puts result

How backtesting and data download in AQ Jms GUI could work ..

Added by Ulrich Staudinger 305 days ago

In the gui, it is possible to script around. However, as of now, when the script is set, the script is not ran on so far received data. It is ran from the time on when the set button was pressed.

On the other hand, it is already possible to send orders from a script, to chart the pnl in realtime and also the current position. In order to reevaluate past data, any existing (configured) order routing to live accounts has to be turned off. The easiest way to achieve this, is through use of the paper broker. As of the time of this writing, the paper broker is already used as the only implementation available, by using the IBroker interfaces it is trivial to replace the PaperBroker with any other IBroker implementation.

The flow for re-feeding the received data should be like this:
a) A copy of the received data is made, data reception continues into a buffer
b) the data containers are wiped (except backup and buffer)
c) the script is set
d) every received data point from the backup is replayed into the work window
e) once the backup is replayed, the buffer is replayed into the work window

As all received data comes with a data timestamp and the scripts have to work with the data timestamps (and not System.currentMillis or similar), all data will be insync.

By enabling the PNL charts and the Position Charts, it is easily possible to see the PNL curve.

Food for thought.

On a side note, i think i'll add some sort of data mirror that always holds for example the last 5000 data points of the live market feeds in memory, of course in the AQ jms gui csv format. The mirror has to connect to the MessageQueue server and will simply record everything into memory. Upon data reception, it will check if it has, say, more than 5000 lines and will immediately throw the oldest data line away. As the data timestamps between the mirror and the live feed are of course synchronized (the mirror is really just a past data mirror), the workwindow can ignore all data points it receives that are in the data obtained from the data mirror.

Blog plugin added to redmine

Added by Ulrich Staudinger 305 days ago

Hi there,
this is the first post using the new blog plugin. I am really happy that we have a blog again on this website, although the former content from activestocks.de didn't make it into the transition to redmine.

Happy posting,
Ulrich

Atom RSS