# Free intra-day equity data source

Are there any free data source for historical US equity data? Yahoo finance has daily prices but I'm looking for something more granular and goes back 2 or more years (doesn't have to be close to tick data, hourly is fine).

I've looked through Data sources online, there isn't much on stock market data.

-

Open an account with IB, and you can get access to equity, options for free, via their API.

-
I thought of this too, but I'm not sure it counts as "free" since you would need at least USD 5,000 (for an IRA) or 3,000 if you are less than 21 years old. –  Joshua Ulrich Feb 11 '11 at 18:46
the data subscription itself is free, but yeah, conditional on having an account with them :-( –  glyphard Feb 11 '11 at 18:57
Unfortunately, ignoring the discussion of what counts as free, IB sucks for historical data: interactivebrokers.com/php/apiUsersGuide/apiguide/api/… (Even hourly data is only kept for one month.) –  Darren Cook Dec 14 '11 at 0:27
@DarrenCook Flat-out wrong. They keep 1 year of historical data for equities. If you want hourly data, then you can only request 1 month at a time, but you can make 60 requests every 10 minutes. If you use R, look at IBrokers:::reqHistory for a wrapper to download 365 days of minutely data. (IB even offers 1 second bars if you're patient enough to respect the 60 requests every 10 minutes pacing rule) –  user508 Apr 8 '12 at 17:25
@DarrenCook. You couldn't get TRADES data for a week ago because IB does not provide that for FX. Try using whatToShow="BID", or whatToShow="ASK". Or, use the twsInstrument package (on R-Forge) to get 1 minute Bid, Ask, Mid snapshots (look at twsInstrument:::reqTBBOhistory) –  user508 Apr 14 '12 at 0:31

You can consider the following two methods:

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.

You can adjust this to your own preferences by 'seeing' the code as: http://www.google.com/finance/getprices?q=TICKER&x=EXCHANGE&i=INTERVAL&p=PERIOD&f=d,c,h,l,o,v.

Where:

TICKER: is the unique ticker symbol

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).

-
how do you exactly mean? when I look at the data from the spreadsheet google.com/finance/… I see data per 60 seconds intra-daily? –  JohnAndrews Apr 13 '12 at 2:42
Thanks, that is a useful source. How far back does the minute data go back? I tried with one stock, requesting 720d, but it only went back 18 days (March 26th to April 13th). Is there a way to specify start and/or end date and make multiple requests to get it further back? –  Darren Cook Apr 15 '12 at 2:00
Answering my own question, Google Finance keeps 15 days of intraday data, 3 years of EOD daily data (I couldn't find an authoritative source, but a few blogs gave these numbers). –  Darren Cook Apr 16 '12 at 0:11

Stooq has intraday data for the stock market

http://stooq.com/db/h/