I'm sure this has been discussed before, but I couldn't find a good post. I need historical data for equities and options, going back as long as possible. I'd like to have a lot of stocks in the database (say the Russell 3000). Intraday data would be useful, but even end of day (open/close and high/low) would be a good start. I a reasonably good programmer, so any text formal is fine. The question is what's a good source to get the data from? Thanks!
These programs, which can download the data you want, have free trials: http://www.databull.com/ and http://www.trading-tools.com/mld.htm.
I tried databull at one point and it worked well. If you use AmiBroker to build and backtest systems it comes w/ a program called AmiQuote that will download years and years of free end of day data from yahoo or msn. And, my experience is that you can build and test just about any system you'd want to test using AmiBroker. Mike
You can use the export to text function in telechart (tc7000). Cost about 30.00 month. www.worden.com. Allows you to capture from just one day to many years of historical data in separate symbol textfiles (can save them as tab-delimited or CSV). Also, you can get free daily downloads for all markets in separate CSV files from www.eoddata.com and build your own history in separate symbol text files going foward (daily downloads files are available for the last 20 trading days).
Worden provides prices only with only 2 digits behind the point. Such accuracy is absolutely inadequate for historical backtesting and Worden data is useless for backtesting.
a5519 Would you please enlighten us as to what the heck you are talking about? Why do you need more than 2 digits behind a decimal point? All cents less than a whole dollar are represented by only 2 decimal points e.g. .00 to .99. What exactly are you looking for in your backtesting. Please tell me what I have been missing for many years of my own backtesting using historical daily data of Open, High Low, Close and Volume. Worden data has been excellent as far as I am concerned for traversing historical ascii symbol text files.
I think what he perhaps is referring to is split-adjusted data. E.g. when a stock experienced a 2:1 split 4 times in the past, it means a past quote of $5.42 (unadjusted), would show up in the split-adjusted series as 0.34 if only 2 digits are included. In fact any quote between 5.36 and 5.52 would be shown as 0.34. Needless to say, using these data will lead to spurious results in a backtest.
All data that I have ever worked with where splits have occurred has been adjusted on every daily level to reflect the split. So stock is trading today for 34.00 and a 2 for 1 split occurs the next day, all prices on days before it are halfed also. So if it were 28.00 per share last week then it is now 14.00 per share for that particular day last week and it is 17.00 per share currently. Lets say that prices, in 6 months, rise back to 34.00 per share from the current $17.00 and another 2 for 1 split occurs. Then, all prices in the past are halfed again. The current price is now $17.00 again (not 8.50) and all prices in the past are halfed again (not fourthed) as it should be. This is split-adjusted data. Split-adjusted data reflects changes in all prices across the board for many years back as it relates to the most recent split. As in tne example above, $17.00 is the accurate correlation to the most recent split and 8.50 is not.