[ts-gen] Saving local history [Was: How do I use "post"?]

Ken Feng kfmfe04 at gmail.com
Thu Aug 6 18:13:17 EDT 2009


Thanks, Bill, for that detailed explanation.

To allow for flexible user (me) modification and considering the other
implications mentioned in your reply, I think I will go with
continuing to use Ruby and switching on |3|50|3 - I currently write
out this data as .csv files (but actually pipe-delimited), which I
may/may not load into MySQL at a later time - maybe I will just load
the dailies.  Depending on my mood, I tend to go back-and-forth into
the merits of having this data in a RDBMS.  With CSV, I can monitor
what's going on with tail -f.  With a column based binary format, I
can have super-fast File I/O.  With MySQL, I can have queries against
positions (mark-to-market, risk-analysis), but this may be offset by
statistical programs like R to do the analyses (ie, reading from .csv
and doing the computation in R about may be as easy as doing an
equivalent query/stored-proc in MySQL).  I guess this is the bane of
having too many tools at our disposal!

Of course, with cheap disks these days, I could store data in .csv,
MySQL, and binary column format, but there would be the headache of
triple maintenance/sync'ing of data.  Maybe I can reduce this to just
.csv and MySQL - I read a while back that there is a column-based data
store in MySQL, but I dropped it, as it was commercial at that time,
rather than free/open source.

Today, I will work on order generation/cancellation/modification.  In
particular, I am interested in LMT, STP, and OCA tags on orders.  I
think LMT and STP are already in the Shim.  I hope OCA is implemented,
too.

I wonder if there should only be one instance of the Shim running,
switching on message-types, or I should (is there a way?) run one
instance for pulling down prices, and one for wiring orders...

- Ken


More information about the ts-general mailing list