[ts-gen] Syntax error due to unknown symbol [Was: OrderStatus dups and skips]

Nils Gebhardt mail at ngebhardt.de
Tue Aug 18 15:48:24 EDT 2009

on contract expiration: 

On Fri, 2009-07-31 at 17:33 -0400, Bill Pippin wrote:
> Nils,

>   ...
> > Process rule: Compound (tick)
> > Syntax error:
> > Grammar rule: Compound tick    
> > Cursor state: match; text is:
> > select tick  FUT:DTB:GBL:EUR:20090908 1;
> > -------------------------------------^--
> A.  To cut to the chase, the database is out of date for many futures,
> including the one of interest here.  Sorry; this is a known issue
> and we're working on it.  For now, you'll need to collect symbols
> info, either using the api, or by hand from:
>     http://www.interactivebrokers.co.uk/contract_info/
> and add it to one of the futures symbols load files in the sym
> directory; you are free to use sym/A0Fut01.sql .  Those files
> are sql insert statements, and you can also use a separate local
> file, presumably in the same directory, although you will then
> have to also edit sql/load.sql to include a source statement
> for your local file.

I use sql/mod/LocalFut.sql, set the appropriate expiry date for the
front moth and source it. This way I can keep a fixed ibc:xxxx
identifier for the front month. This procedure worked fine so far,
however I do not have any idea wether it has any side effects or wether
it is related to a missing resolution of expressions like

> ________________________________________________________________
> Now, about how you could have diagnosed this problem on your own:
> B.  Whenever a syntax error is signaled immediately after reading a
> contract expression in the course of command processing, you should
> suspect, besides the possibility of a syntactic error such as a
> missing colon, a table lookup failure due to use of an unknown
> or mispelled symbol, that is one not occurring in the database.
> >  ... contract exists ...
> You point out that IB has a contract for FUT:DTB:GBL:EUR:20090908,
> which is to be expected, yet as noted above, unfortunately the shim's
> default database does not include it.

Yes, sorry, with contract exists I meant there is an usable ibc:xxxx
with correct expiry produced as described above, but appearently this is
not equivivalent. ibc stands for IB Contract id or something like this,
right? With usable I mean I can send orders with probably wrong contract
id, but updated expiry date.  



More information about the ts-general mailing list