File Exchange

image thumbnail

Historical Stock Data Download (alternate Method)

version 1.0 (6.83 KB) by

Retrieves historical stock data from Yahoo Finance by parsing html pages instead of .csv download.

8 Downloads

Updated

View License

This function is used to retrieve historical stock data from Yahoo Finance. I was using the the 'hist_stock_data.m' by Josiah Renfree (January 25, 2008)and it worked great but I noticed that it stopped working for the Dow Jones Industrial Average Index (^DJI). It turns out that due to some licensing issues, Yahoo is no longer permitted to give ^DJI data out in the .csv form that 'hist_stock_data.m' relied on. As I still wanted access to ^DJI, I hacked together this function to read the data not from .csv, but by parsing the html from displayed tables. Yahoo was still showing ^DJI data in this format.

This function will work with any valid Yahoo listed stock symbol, but will be
slower than 'hist_stock_data.m' because it has to do more work to extract the
data, including potentially reading dozens of pages to get it all. It goes to the first page, extracts the table data and reads the link for the next page of data and continues on till it gets it all. It then cleans it up and returns it in a tidy data structure.

Comments and Ratings (7)

Matlabuser

Unforunatly, this doesn't work anymore. I got this error.

>> get_yahoo_stockdata2('IBM','01-Mar-2008')
Downloaded IBM stock date for 01-Mar-2008 to 23-Apr-2017
Downloading data from page 1
http://finance.yahoo.com/q/hp?s=IBM&a=02&b=01&c=2008&d=03&e=23&f=2017&g=d
Warning: stock data download failed: IBM
> In get_yahoo_stockdata2 at 180

    return
  end

Josiah Renfree

Josiah Renfree (view profile)

Thanks for the info regarding the Dow Jones data. That's very odd and annoying, but it is what it is.

Guillaume

Hi!
I use 7.6.0 version ( R2008a) and i have a problem with this function:

==>
??? Input argument "ticker" is undefined.

Error in ==> get_yahoo_stockdata2 at 98
ticker=upper(ticker);

Do you have an idea to resolve this bug?
Thank you!

yan Chen

cool

Jia

Jia (view profile)

I'll try on R2012b then,see if it works.

SuperDude

I'm tried this in R2012b and did not get any errors.

Jia

Jia (view profile)

Hi there, I'm absolutely new to Matlab, when I run this function, it tell me

>> get_yahoo_stockdata2
Error: File: get_yahoo_stockdata2.m Line: 1 Column: 39
Unexpected MATLAB expression.

I'm running the R0212a version, is it the problem?

MATLAB Release
MATLAB 7.9 (R2009b)
Tags Add Tags
Acknowledgements

Inspired by: hist_stock_data(start_date, end_date, varargin)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video