hist_stock_data(sta​rt_date, end_date, varargin)

Used to retrieve historical stock data for a user-specified date range
Updated 15 Mar 2021

View License

This program uses the Yahoo! Finance website to download and sort historical stock prices or dividend data for a user-specified time period. The user can either supply the program with individual ticker symbols or with a text file containing a list of ticker symbols. The program returns a structure array that holds information on the date and either historical price or dividend data. The user must specify the date range for the desired information, and has the option of specifying a sample frequency of daily, weekly, or monthly. Refer to the help section in the m-file for data formats and options.

Cite As

Josiah Renfree (2024). hist_stock_data(start_date, end_date, varargin) (https://www.mathworks.com/matlabcentral/fileexchange/18458-hist_stock_data-start_date-end_date-varargin), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Price and Analyze Financial Instruments in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Fixes error resulting from update to Yahoo Finance service

- Volume and Adjusted Close values were swapped
- Now allows for passing ticker symbols into function as a cell array of ticker symbol strings
- Date inputs can now be expressed as Matlab datenums

Changed date calculations to avoid using the posixtime function, since that is a relatively new function that some people might not have. Instead, it now calculates the posix time using Matlab datenums and converting to seconds.

Now allows for downloading of historical dividend data

Fixed error obtaining data from Yahoo Finance. Yahoo changed their service which now requires an account to access the data.

Change url for stock data to use https instead of http
Updated program description to notify users that it currently doesn't work

Minor updates:
1. Changed textread comand to use textscan, as textread may eventually be removed.
2. Changed how results are put into the data structure by using the deal command.

Some users are experiencing problems with the urlread command, which I believe occurs because the program is accessing the ticker symbols as cell arrays not as strings. Changed command 'tickers(i)' to 'tickers{i}' in urlread command.