Quantitative finance collector
C++ Matlab VBA/Excel Java Mathematica R/Splus Net Code Site Other
Apr 16

Free Historical Intra-Daily Data

Posted by abiao at 09:24 | Code » Matlab | Comments(10) | Reads(21217)
The last decade we have seen a significant increase in the demand for high frequency data. This is explained for a large part by an increased attention of the academic world in algoritmic trading. Moreover, as lot of papers suggest, the profitability has been shifted to an intra-daily format. In this segment, speed is what counts. For instance, Scholtus and Van Dijk (2012) state that strategies that yield a positive return when they experience no delay, a delay of 200 milliseconds is enough to lower their performance significanlty. Given the competition on the market from large institutions, such as JP Morgan and Morgan Stanley, a private investor has always a competative disadvantage due to its lack of the required technology. Nevertheless, there is always room for improvement in the modelling of stochastic intra-daily processes such as the VWAP and daily volatility.

A key ingredient in these research areas is proper and clean (historical and up-to-date) intra-daily data. On the web there are various resources available, but most of them require a relatively high fee. Other solutions require the use of a specific software. However, there are ways to retrieve intra-daily data for free using Google Finance and also without any software.

Using Matlab

If you are familiar with MatLab you can use parts of the package 'Volume Weighted Average Price from Intra-Daily Data' by Semin Ibisevic referenced at Qoppa Investment Society. This package allows you to
(1) retrieve intra-daily stock price data from Google Finance; (2) calculate the VWAP at the end of each trading day; and (3) transform intra-daily data to a daily format. It is a relatively flexible function as it only requires the user to input the ticker symbol and the exchange where the security is listed on. Additionally, the user can define the frequency of the data (1 second or higher) and the period (for instance past 10 days).

Without software

If you don't have Matlab you can replicate parts of the code manually. The package above connects with Google Finance and downloads a spreadsheet of intra-daily data consisting of the prices high, open, low, close and volume from: Google Finance get price 1.  

You can adjust this to your own preferences by 'seeing' the address as: Google Finance get price 2, where
    TICKER refers to the ticker symbol of the security at Google Finance;
    EXCHANGE is where the security is listed on;
Hint: to track these inputs, for instance for the Dow Jones Industrial Average, you search the security of interest at Google Finance and then you can find at the top: (INDEXDJX:.DJI) which obviously refers to (EXCHANGE:TICKER).
    INTERVAL defines the frequency (60 = 60 seconds).
    PERIOD is the historical data period (see also Google Finance), here 10d refers to the past 10 days (up to current time).

In a world with increasing competition, such solutions are an handy tool to easier the life of a researcher.


Scholtus, Martin L. and Van Dijk, Dick J. C., High-Frequency Technical Trading: The Importance of Speed (February 28, 2012). Tinbergen Institute Discussion Paper 12-018/4. Available at SSRN: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2013789.

Ibisevic, Semin. Volume Weighted Average Price from Intra-Daily Data, 2012, MatLab File Exchange. Available online at: http://www.mathworks.com/matlabcentral/fileexchange/36115-volume-weighted-average-price-from-intra-daily-data.

This is a guest post by an anonymous.

Thanks a lot, that's great!! Quick question though:

I've tried retrieving data for INDEXDB:DAX but it doesn't work... Is this service restricted to US-indices? The difference/problem seems to stem from the ".INX" part in INDEXSP:.INX for instance, which is different in INDEXDB:DAX.

Thanks again!
Dear Meaureau,

No the package is not limited to the US only. You should be able to get the quotes of europen indices as well (everything that is listed at Google Finance). However, you probably got the error 'No historical intra-daily data of volume'. This because there is no publicly available data on volume of DAX. The other values, such as open, high, low and close, are retrieved with succes (see the structure 'data')

You get this error because without volume intra-daily you can't calculate the VWAP. Sometimes the volume of some indices are not available or not listed (at an intra-daily range). As a solution, practitioners or academics then look at the ETF's of these indices to model intra-daily volume.

Dear Anon,

Many thanks for the quick reply. I actually figured it out now:


returns the DAX Performance index intraday prices.

intraday data is very useful tool.

very much appreciated and thank you
Hi Abiao, Thank you for featuring our codes.  I just also like to mention that the price downloaded directly from Google is not equally spaced, meaning when you pull prices of the same duration from 3 different companies, you will have different number of data points.  I have provided an example method for cleaning the data (http://www.mathworks.com/matlabcentral/fileexchange/32745-get-intraday-stock-price) here for your readers.

I'd also like to mention I enjoy your post, and best of luck with your research.
Thanks alot Ted for your new files. I am glad you enjoyed the post.
Hello everybody,

Here is a list of websites that provide intra-day and tick data free:

Laura Johson Trainee Quant
Intraday quotes can be imported straight into Excel with this spreadsheet
I am hence glad by myself observed the site. Thanks. fun brain games
It was a decent post to be sure. I completely delighted in understanding it in my lunch time. Will definitely come and visit this blog all the more frequently. Much obliged for sharing.voyance par sms serieuse
Pages: 1/1 First page 1 Final page
Add a comment
Enable HTML
Enable UBB
Enable Emots
Nickname   Password   Optional
Site URI   Email   [Register]