Sources and Limitations of Free High-Frequency Financial Data
Summary
The document surveys several free or low-cost sources mentioned for historical market data. Its main example is an undocumented onvista interface for retrieving stock tick data by security identifier, exchange, and trading day. The author describes how a timestamp can be derived from a reference date and gives exchange identifiers, while warning that the service may disappear and that its history is limited. These details make the example useful as a record of a data retrieval approach, though they are tied to a particular service and period.
Replies point to a forex provider offering ordered tick and one-minute records, with some commodity and index coverage, and to Yahoo Finance intraday stock and ETF data at five-minute intervals. The latter is presented through an old download script. Availability, coverage, history length, access methods, and service reliability vary, and the document does not validate data quality or establish that the cited interfaces remain operational. Researchers should treat the providers and scripts as historical leads, not guaranteed current sources.
Key ideas
- An undocumented market-data interface is described for retrieving historical stock tick records by date and exchange.
- The author warns that the cited interface may be removed and offers limited history.
- A reply identifies a provider of ordered forex tick and one-minute data, with some additional asset coverage.
- Another reply describes historical intraday stock and ETF data at five-minute intervals.
- The listed sources are not evaluated for data quality or confirmed as currently available.
Tags
Full text
# Free high resolution financial data
# Free high resolution financial data
As thebonnotgang(1) stopped updating their database, I was wondering if there are some other free sources of high-frequency data available.
I found a proper tick data api (ca. 25 day history) hosted by onvista which is however undocumented. As some one might be interested I will add a short howto:
urlscheme: `http://www.onvista.de/aktien/boxes/times+sales/export.csv?assetId=[ISIN]&assetType=[AssetType]¬ation=[exchangeID]&tradingDay=[TradingDay]`
`[TradingDay]`: Can be calculated by fixing a date e.g. 26-01-2016 as 1453791600 and subtracting the number of days multiplied by 86400. You can find the current trading day here[2]. Just klick on 'Anzeigen' as soon as the page loaded.
`[ISIN]`: self-explanatory I guess
`[AssetType]`: Up to know I was only downloading stocks so I used 'Aktie'
`[ExchangeID]`: I'm not able to offer a full list of all exchanges however '1937897' refers to Xetra and '9385907' refers to Tradegate. You can find more by playing around with the stock exchange dropdown menu [here][3] and looking at `¬ation=[***]` within the url.
Example Allianz 06.01.2016: `http://www.onvista.de/aktien/boxes/times+sales/export.csv?assetId=DE0008404005&assetType=Aktie¬ation=1937897&tradingDay=1452063600`
(I am afraid this link will be broken in a few days due to the time horizon. So it should serve just as an example)
As onvista is restructuring their homepage `http://www.onvista.de/index/DAX-Index-20735?``beta=off` I assume they will take this service down.
So did someone discover something similar?
A similar question[4] has been asked several years ago and provides more trivial/googled results.
- http://thebonnotgang.com/tbg/historical-data/`
- http://www.onvista.de/aktien/times+sales/popup/Allianz-Aktie-DE0008404005`
- http://www.onvista.de/aktien/times+sales/Allianz-Aktie-DE0008404005?notation=32810950&activeType=line&activeTab=J1&displayVolume=false&min=0&max=1453935599999&zoom=false&scaling=linear`
- https://stackoverflow.com/questions/6225902/where-can-i-find-high-resolution-financial-data/6226589#6226589`
I didn't have 'sufficient reputation to post the links in correct mode.
## Answer by Ignorant (score 2)
https://quant.stackexchange.com/a/22975
For what concerns Forex data which is, however financial data after all, I often use http://www.histdata.com/. Their data is delivered in .CSV format. For timeframes, I quote the website:
> We can only deliver you time ordered Tick and M1 (1 minute) data. The data that we have available is organized by forex-pair/year/month.
They also provide data for some commodities and indexes.
## Answer by BBSysDyn (score 2)
https://quant.stackexchange.com/a/23228
Stock / ETF at 5-minute intervals can be downloaded from Yahoo Finance. See the code below:
```
from urllib import urlretrieve
import numpy as np, pandas as pd, sys
import datetime as dt, requests
import datetime, re, StringIO
symbol = sys.argv[1]
url='http://chartapi.finance.yahoo.com/instrument/1.0/%s/chartdata;type=quote;range=3d/csv' % symbol
response = requests.get(url)
response_body = response.content
content = StringIO.StringIO(response_body)
res = []
for x in content.readlines():
if ":" in x: continue
res.append(x.strip().split(','))
df = pd.DataFrame(res, columns=['Timestamp','close','high','low','open','volume'])
df.Timestamp = df.Timestamp.map(lambda x: datetime.datetime.fromtimestamp(float(x)))
df.to_csv("/tmp/%s-3d.csv" % symbol,index=None)
```
The complete script can be found in my quant_at project at Github, see `data/hft.py`. There are download scripts for equities, futures, ETFs as well.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.