Discussion in 'Automated Trading' started by PlusMinus, Nov 20, 2009.
Looking to do low-medium volume, decent prices and a clean API.
by auto-trading, I assume you mean you code and they run your strategies?
or strategies of someone else?
Yes, custom developed strategies. I'm just looking for a clean API, I don't care what it is. Good clean API, and reasonable commissions. Preferably DMA, but it seems most DMA brokers require larger account positions and volume.
Not how I trade, but StrategyRunner.com may be one.
I've been auto-trading with them for over 2 years.
Cheap Commissions, big pool of stocks that are shortable.
Don't count on their customer service if you need to have a quick response though.
Interactive Brokers trading fees are also great ($1 for 200 shares or less).
Also you can find sample programs to help you get started, in many programming languages, on the TWSAPI Yahoo group.
I just wrote a note in response to this on my blog maxdama.com. Here it is copied and pasted:
Here are my opinions on the API's I've worked with. I recently sent them to someone and thought they'd be worth sharing with anyone who wants the opinion of a programmer and trader who's used them for long enough to have a legitimate opinion.
The three APIs I've actually tested, WEX, IB, and Lime, are fairly flexible, although they do each have their own quirks. Here are my thoughts on each below, sorry that it's a bit disorganized.
IB has the worst customer support of the three. It's hard to get in touch with someone who knows what they're talking about since they have a call center. One problem with IB is that their Java/ActiveX API is only active when their high-overhead GUI is running in the background. But IB is nice because they have access to many markets, their commissions are good, and they provide up to a year of historical 1min bars. It's hard to extract historical data though because of barriers, like not being allowed to request data except every 10 seconds. These are extra hurdles to jump through, but I've written tools to make it usable for myself. Another annoyance are their internal symbols, which are inconsistent and poorly documented. For example a futures contract's symbol might be "MAR 09" while another is "JUN 09", where only the number of spaces is different. It's extremely frustrating to debug but eventually you get used to it and learn all the quirks. There are complaints about the documentation, but I haven't felt it's that bad.
WEX has the most features, including a chat client which I wasn't very interested in and news data feeds. They're very professional and have the best documentation of the three. Their API is .NET so it's flexible. I was going to translate WEX's .NET API into Matlab for a hedge fund but the project fell through so I haven't spent as much time trying to smooth out bugs introduced by it as with the other two.
Lime's Java API is the most barebones. They only have access to US markets and very few extra functions beyond order submission, portfolio details, and data subscription. However they do offer co-location. Their niche is that they're built for speed and they do a good job. Also their customer support is the best. Whenever I emailed them very technical questions they'd reply in detail typically within an hour. I liked working with their API the best because I never ran into any problems caused by them being careless with their implementation. The only problem with Lime is that the data feeds they have available are for book data rather than trades so it's nontrivial to construct an accurate midpoint price, which I find most practical.
I haven't used each of the three's FIX APIs.
How lime compares with IB in terms of accessability for small retail traders... If I run small acc 20-30k does it make sense to go ahead with lime? What are the costs associated with trading trough lime?
Separate names with a comma.