[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