[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GT] IB, tree; was: Opentick



On Thu, 10 Jul 2008, João Costa wrote:

I tried building it yesterday but it wasn't a svn snapshot, rather one
of the releases.

It also failed to build but it was a minor issue in one of the header
files, a function with duplicate argument names.

I get a different error (a missing library target, rather than something trivial to tweak) with tree-1.1.0.2.19_20080312.tar.gz
which I have filed upstream:

http://sourceforge.net/tracker/index.php?func=detail&aid=2015270&group_id=3809&atid=103809

Have you used it ?  What's your opinion about it ?

I was hopeful that the 'tree' project's goal:

The TREE Data Server captures real-time financial data from one or several datafeed services (e.g. IB TWS API), archives data in a historical database, and makes both live and archived data available to client applications.

seemed 'tailor made' to extend what were locally cobbled together management of datasets when I first looked at the description. I was not at all interested in the IB or TWS data connector matters (but as as to the other connectors which have been implemented), as we have had those working against IB/TWS for quite a while. (over 5 years for Yahoo Finance EOD data; IB intra-day, over two years for tickstream, and a year and a half for history retrieval, in the shim)

I had sent a private email to the 'tree' project's author about some questions I had on symbology which reading 'ib-notes' in the release had raised, and had not heard back ....

So near as I make out, a daemon process, called' parser' runs, per settings in a config file, and accepts (or notes the absence) of data feeds from varioious market data sources; the 'parser' then handles insertions into the data stores outlined in 'data-storage'. various routes for maintenance (unloading, reloading datasets) exist.

In part, 'data-storage' notes:

We will store historical data as individual ticks, 5- or 15-minute bars,and daily bars. This will allow standard bar widths to be generated quickly, and will make it easier to store long historical data series for slow-starting signal processing schemes.

Intraday bars may be either 5 or 15 minutes wide.

... to some extent, IB's offerings down to 'per second' history retrieval suggest that the capabilities of 'tree' may need extension (but than very high frequency trading strategies may simply be outside of what hte program author is interested in)

The 'database' store used appears to be flatfiles of a defined format, which is perfectly reasonable ... the *nix filesystem is, after all, a 'database' and with well named files (the conventions the author uses are outlines), probably 'faster' than any SQLish approach.

again quoting:

$TREE/data/info/                        Root of parameter file storage area
$TREE/data/info/XX/INST.info            Instrument parameter file for INST
$TREE/data/info/XX/INST.root            Future-root parameter file for INST
$TREE/data/info/XX/INST.opt             Option-root parameter file for INST
$TREE/data/FEED                 Root of data storage area for datafeed FEED
$TREE/data/FEED/XX/INST/        Data directory for instrument INST (eg, SPU4)
$TREE/data/FEED/XX/INST/YYYY.day        Daily-bar data file for year YYYY
$TREE/data/FEED/XX/INST/YYYYMM.5m       5-minute-bar data file for month MM
$TREE/data/FEED/XX/INST/YYYYMM.15m      15-minute-bar data file for month MM
$TREE/data/FEED/XX/INST/YYYYMM.tick     Tick data file for month MM

Client 'readers' then can do RO accesses at will and without a need to consider locking issues.

I speak here from a static file analysis. Unfortunately as I have not gotten a clean compile, and the author has been non-responsive, I lost interest, and No, I have not been able to get it working in testing. Understanding the design goals and effort is well worth the read, however, and my opinion for its potential is high.

I did not immediate locate the backtesting 'reader' scripts implied in the documentation, and these may have been intentionally elided.

Similar thought underlies the choices we made for the 'shim' of course, and we have reached some different choices.

-- Russ herrold