4 FREE Sources of Historical Stock Data
No professional trader should ever rely on FREE data for their day to day trading. Free data occasionally contains errors and often isn’t updated in a timely manner after market close. However, for beginner traders just testing the waters, Finance majors in college, and buy and hold investors, free data should suffice. Once you have a profitable trading strategy running, it’s recommended that you switch to paid data.
I’ll only briefly go over how to import the data from these sources into Excel although some of these sources have APIs which allow you to import the data into a variety of different programming languages and statistical packages.
#1: Yahoo Finance
Yahoo Finance is perhaps the most well-known source of free daily stock market data. Lots of software packages (i.e. Matlab, GNU R, Octave, etc.) have libraries for importing Yahoo Finance historical data including this one for Excel. However, in my experience, Yahoo Finance has occasional errors. One of the most annoying errors is the blatant inconsistencies in the data for the same stock during the same time period. It’s hard to explain in words but you’ll notice this if you backtest your trading models frequently and observe radically different stats one day vs. the next without changing stocks or time periods when you request data from Yahoo. Btw, you can mitigate some of the bugs in Yahoo Finance if you use GNU R to do your backesting like I’ve briefly described in this article.
#2: Google Finance
Google Finance is often touted as an alternative to Yahoo Finance and works better in a few areas in my experience. First, it’s less prone to instabilities and data corruption unlike Yahoo Finance which, on random days, spits out different data for the same security over the same period. Second, it updates and integrates the OHLC data from the most recent trading day much more quickly than Yahoo (usually within an hour or so after market close.) The biggest disadvantage is that Google Finance doesn’t have data for as many foreign securities as Yahoo (although both databases will have daily data for 99% of US Stocks and ETFs.) You can import Google Finance data directly into Excel using this addon.
If you don’t mind a bigger learning curve, stick with Quandl. Most of their free data is sourced from Yahoo and Google finance but unlike the first two, Quandl data tends to be more reliable in my experience and I’ve not encountered any inconsistencies or malfunctions so far, unlike Yahoo or Google (knock on wood.) Besides daily stock prices, Quandl also contains a wider variety of data including economic data, company fundamentals, futures, option implied volatility etc. Quandl also has an excellent Excel addon that they developed in-house.
Keep in mind Quandl is a freemium service which means it offers paid premium data in addition to free data. This also means that when you’re ready to make the move from free to premium data, you don’t need to learn a completely new service with a new API; if your programs are properly written, you can start using the premium data by changing just a few lines of code.
#4: Free Stock Charts
If you’re using Windows (or managed to get Silverlight running on a Mac or Linux machine), then you definitely want to check out Freestockcharts.com. This is the only place I know of where you can get free intraday stock data. Unfortunately, there’s no API so you’ll need to manually download the stock data through their web interface into a text file each time.
Simply select the time period you’re interested in for your charts (i.e. Weekly, Daily, Hourly, 5 minutes, 1 minute, etc.)
Next, click the export data button (see the screenshot below) and you’ll later be prompted to save the data into a file.
Open this file, Select All, and paste it into Excel. Use the Text to Columns function to properly populate the cells in Excel.
If this all sounds confusing, then take a look at this excellent Youtube video I found which explains the process in detail.
If accuracy and consistency is a priority and you don’t mind a bigger learning curve, use Quandl.
If you need recent intraday data, you should try Free Stock Charts.
Last but not least, check with your broker if they offer free stock data through their own APIs to their members which is often at the same level of quality as some of the cheaper commercial data available.