Hi all, For a few years now i've been developing a quant trading system. So for it has been tested on forex only. For forex I've used the historical Data oanda provides for it's costumers for free. Moving on to the next phase I need to things: 1) I need a broker that offer a good API preferbly for free but low cost is also good. Oanda API is starting at 600$ per month which is waaay to expensive for me. Had an account with IB and remeber they had a free API, is it true, and if so, are they any good with forex (good like oanda)? Any other offers will be much appreciated. Just to say that my needs are very low, i only need the API to be able to send current price to my software and the software to be able to send buy/sell orders to the API, nothing more then this. 2) Want to start backtesting my system on stocks. I need date, don't need a lot of data. Is there a good, low-priced (or free) place for Intraday historical data (don't any real time data right now)? Heard that Open tick got closed and IQ feed is still a bit to expensive. Any thoughts on this matter will be highly appriciatable. Thanks.
http://tradelink.googlecode.com TradeLink is 100% free and open source. It supports 10+ brokers and 3 data feeds for equities, futures, options and FX : http://code.google.com/p/tradelink/wiki/ProviderFeatureMatrix You can record data using the platform to obtain historical testing. You can also import from many popular sources : http://code.google.com/p/tradelink/wiki/DataSupport Trading physics in particular is a free source of data supported for import.
It is hard to find Tick/Trade data for free since these are large files and bandwidth is not cheap at that scale. For daily summary data, there are many scappers available to get data from CSI through Yahoo. If you are willing to pay, Tick Data is a dominant player. Their exporter outputs a number of ASCII-like formats. DTN/Nanex can sell you what you needed, but you access the data through a call-back based API. Their real strength is the availability of Level II Quotes.
OP what kind of data do you want? Just print? BId/Ask/Print? Do you want Level2? Do you want exchange and order type identifiers?
Are you going to add 4-5 cents against you every trade to factor in for the spread plus size that may/may not be there and slippage? Simulation based on prints only is a wasted effort and never returns accurate results.
I'm in the process of putting together a website to explain all of this... Maybe one day it'll be live & running...LOL Think aobut trading. If you use market orders you lift the offer and hit the bid. You have to take the spread into account as well as the order book - if you use limit orders you can't just say "well i see a print at that price therefore I would have gotten a fill - you have no clue whether or not there was enough size to get filled, where you would have been in the book, etc. Using prints is a very very very poor way of simulating trades.
There are limitations to the accuracy of simulations based on filling according to Level II bid/ask data, but it is at least pessimistic. If you are testing a very tight, auction level, system which cannot eat lots of slippage, then think about what is really involved in back testing your system. I don't know what your budget is, but we aren't talking about loading a file into Matlab. Building a back testing platform from scratch isn't that quick and easy, and being sure that it is really calculating everything correctly isn't quick and easy. This problem has been solved many times by different people. Don't get discouraged. Just be realistic about your next step.
That's exactly what I did so far ,so of course I'm goung to do it in the future. As I have years of expreince with manual trading I try to run the simulation on pessimistic side (means including slippage, bid/ask spread and commisions)