Tick Data for Backtesting and Algo Trading: Difference between revisions

From Volatility.RED
No edit summary
Line 70: Line 70:


=='''[https://volatility.red/Crypto_tick_and_bar_data Crypto Tick and Bar Data - Free API and Script Provided]'''==
=='''[https://volatility.red/Crypto_tick_and_bar_data Crypto Tick and Bar Data - Free API and Script Provided]'''==
[https://volatility.red/Crypto_tick_and_bar_data We have a dedicated page with working code for this here!]


=='''Related Wikis'''==
=='''Related Wikis'''==

Revision as of 11:28, 29 August 2025

I noticed that many guides or lists of tick data sources were out of date, broken, or otherwise not working, so I decided to make an updated list with modern sources for use as a resource with the algo trading community. I will also keep this up to date as new sources appear and old sources break.

Below are the guides for downloading tick or bar level data for various markets which can be used for backtesting and analysis.

Note: Typical format for tick and bar data is in CVS files. You might need to adjust or re-arrange said files as needed to fit into your desired analytics and/or backtesting program.

__

__

Stock Daily Bar Data

Yahoo Finance

US and International stock exchanges - On a stock-by-stock basis, you can download decades of historical daily bar data by doing the following steps:

  • Go to https://finance.yahoo.com
  • In the search field, type in your desired symbol or company name and select the appropriate result
  • Click the 'Historical Data' tab
  • Set the date range to 'MAX'
  • Hit the 'Apply' button
  • Click the 'Download Data' link just below the 'Apply' button
  • Enjoy your daily bar data

Google Finance

Rest in peace.. :( Google nuked their finance site back to the stone age many years ago so this service is pretty useless now (Honestly Google, what were you thinking? Google Finance was awesome back in 2012 and prior.) Google also used to have an API but that too got turned off. I included an entry for Google here because many people will be searching around the net and find references to using Google Finance's API but be unsure why it's not working as expected.

yfinance Python Library

yfinance aims to solve this problem by offering a reliable, threaded, and Pythonic way to download historical market data from Yahoo! finance.

Jack from FXGears.com has provided a basic daily bar download script for yfinance in Python, but check out the yfinance docs for more advanced features:

Make sure you have yfinance installed. From your command line:

pip install yfinance
import yfinance as yf
import datetime
import os

# define start date, go back further if you need but not all years are available for all symbols.
start_date = '2020-01-01'

end_date = datetime.date.today() - datetime.timedelta(days=1)
end_date = end_date.strftime(format="%Y-%m-%d")

symbols = ['SPY', 'IBM', 'BAC']

for item in symbols:
    working_df = yf.download(item, start=start_date, end=end_date)
    working_df.reset_index(inplace=True)
    working_df.to_csv('{}_{}.csv'.format(item, end_date), index=False)

Note: You will have to know the Yahoo! Finance symbology to download your target symbols. (It's sometimes not intuitive, "CAD=X" is USD/CAD for example.)

Forex [Tick Data]

Quality of data matters and the below options are some of the better quality sources available for free.

Darwinex

Darwinex is easy but you'll need to have a live account. Anyone can signup for an account (live) and head over to this page here once logged in: Historical Tick Data Download. From there, just click the "Request FTP Access" button to have your FTP login details generated for you. Darwinex provides tick level data for all major and minor currency pairs, as well as index and commodity CFDs, with most of them going back to mid-late 2017. You don't need to deposit to have a live account at Darwinex, you just need to have a verified account with them, so there's little downside to enabling access to this high-quality source of tick data. (As a side benefit, you can also get access to historical price data of their Darwin Exchange, so you can model investing in other traders and model their strategy returns, which is pretty cool.)

Pepperstone / Integral / TrueFX

https://www.truefx.com/truefx-historical-downloads/

Pepperstone relies on price feeds and liquidity very similar to Integral's offering, so similar that for a while Pepperstone used to publish Integral's data on their own FTP for easy customer access. Unfortunately, they stopped offering this FTP access some time ago (thus why most online tutorials referencing them are out of date) and the source of data that Pepperstone currently recommends is Integral's TrueFX data service offering. A free account at TrueFX.com' will get you access to tick data on most major and minor currency pairs from the past year only (Currently only 2019 YTD is available for free.) I encouraged Pepperstone to bring back their historical data access to regain access to years prior to 2019 and if they ever open back up then I'll update this spot here with access info.​

Crypto Tick and Bar Data - Free API and Script Provided

We have a dedicated page with working code for this here!

Related Wikis

Readers of Editing Tick Data for Backtesting and Algo Trading also viewed: