Tuesday, September 7, 2010

Project Status: Hold

I've been contacted by several people on the status of this project. Here's my response to the inquiry.


No, I'm not working on the project at this time. While testing the api, I came across too many unexpected/undocumented behavior in the API and weird data coming through IB's system. I think in order to have a fully functional trading system, I would have to spend quite a bit of time coming up with logic to correct and verify data that is coming through the API to make sure I'm not making trading decisions based on false data. And since this is the type of thing that you can't fully anticipate, I think this is a major problem to tackle (never mind the fact that IB is constantly updating their system, and there's no guarantee that the API won't be affected). I wanted to spend more time on defining/revising my trading rules, not on filtering and working around bad data coming through the system.

On auto trading, one other issue to consider is how the system will perform during market gyrations like the flash crash we had a few months ago. I noticed that bid-ask spread were huge, and I wasn't getting filled on any orders. So that's a consideration.

Maybe I'll pick up the project again if IB's API platform gets a little better, but for now, I have other things to concentrate on.


.. regarding the details of the problems/learning experience ..



I don't remember exact details, but there were issues of getting order status and how to properly cancel them if they didn't get filled in reasonable amt of time. There were also issues where if IB exits, and reconnect is made, it was hard to determine which orders were submitted/ pending / closed. Of course this is not an issue if you just submit one order at a time.