Backtest-ready OHLCV data for TSX, TSXV, CSE, and Cboe Canada / NEO listings. 30+ years of daily history, intraday minute bars, metadata, and a broad ticker universe — packaged in Parquet and ready to drop into your pipeline.
Exports are validated, metadata is included, and the raw coverage stays broad for your own research filters.
Open, High, Low, Close, Volume for 5,300+ tickers. Adjusted for splits. History back to 1993.
1-minute OHLCV for 4,499 Canadian tickers from Dec 2022 onward. Intraday backtesting, finally possible.
Tracked Canadian tickers across TSX, TSXV, CSE, and Cboe Canada / NEO — with exchange metadata where available.
Best-effort sector metadata from Yahoo Finance. Unknowns are kept explicit so you can decide how to handle them.
Exports include all available rows in our source tables, so you can apply your own research universe and liquidity filters.
Columnar, compressed, fast to load. Works with Python, R, DuckDB, Spark — anything your stack needs.
| ticker | date | open | high | low | close | volume |
|---|---|---|---|---|---|---|
| SHOP.TO | 2024-04-22 | 97.31 | 98.60 | 95.81 | 96.14 | 5,841,200 |
| RY.TO | 2024-04-22 | 141.80 | 142.25 | 140.90 | 141.56 | 3,921,400 |
| TD.TO | 2024-04-22 | 80.62 | 81.05 | 80.30 | 80.71 | 4,112,700 |
| ENB.TO | 2024-04-22 | 52.18 | 52.45 | 51.90 | 52.32 | 6,780,300 |
| CNR.TO | 2024-04-22 | 176.40 | 177.20 | 175.60 | 176.85 | 1,943,800 |
| BAM.TO | 2024-04-22 | 65.10 | 65.88 | 64.75 | 65.42 | 2,108,500 |
Showing 6 of 14,187,541 rows · Parquet format · Split-adjusted
Download the bundle, point pandas or DuckDB at the Parquet folders, and build your own research universe.
import pandas as pd
prices = pd.read_parquet("daily_ohlcv/")
prices["ret_1d"] = prices.groupby("ticker")["close"].pct_change()
liquid = prices[prices["volume"] > 100_000]
print(liquid.tail())
SELECT ticker, date, close, volume
FROM read_parquet('daily_ohlcv/*.parquet')
WHERE ticker IN ('SHOP.TO', 'RY.TO', 'TD.TO')
ORDER BY ticker, date DESC
LIMIT 25;
NorthTick is a downloadable data product, not a black-box API. Each export includes metadata so you can inspect row counts, date ranges, and schemas yourself.
Every export runs checks for required fields, duplicate keys, row counts, and obvious OHLCV anomalies before publication.
TSX, TSXV, CSE, and Cboe Canada / NEO listings are packaged together so you can apply your own liquidity and universe filters.
Download standard Parquet files and own your data. Read locally in milliseconds with pandas, DuckDB, or Polars without subscription dependencies or rate limits.
Introductory launch pricing for early customers. No subscriptions. No market-data API keys. Buy once, download the Parquet files, and get 12 months of daily update access.
Kick the tires with a real Parquet bundle: 30 liquid tickers and 1 year of daily data.
Introductory price while we collect feedback. Planned regular price: $99.
Full Canadian daily OHLCV history since 1993, plus ticker and sector metadata.
Introductory price while we expand docs and examples. Planned regular price: $299.
Everything in Daily, plus Canadian intraday minute bars.
Apache Parquet — a columnar format that's fast to read and compact to store. It works natively with Python (pandas, polars), R (arrow), DuckDB, Spark, and most modern data tools. Each bundle is delivered as a .tar.gz archive containing Parquet files.
The dataset is regenerated daily. When you purchase, you receive the full historical snapshot plus 12 months of access to small daily delta files containing just the new data. Append them to your local dataset to stay current. After 12 months, you can keep using your downloaded snapshot forever; renewal options may be offered later.
Daily OHLCV is split-adjusted. Minute bars use adjusted vendor sources where available, and our pipeline detects split events so historical intraday data can be repaired when needed.
We track Canadian listings across TSX, TSXV, CSE, and Cboe Canada / NEO. The export is intentionally broad and includes all available rows in our source tables so you can apply your own filters.
Yes — for your own research, backtesting, internal tooling, and trading. The license does not permit redistribution or resale of the raw data. See our Terms of Service for details.
The current Daily bundle is about 217 MB compressed, and the Daily + Minute bundle is about 829 MB compressed. Each export includes metadata with current row counts.
NorthTick is Canada-first and file-based: it is not a real-time API. Sector metadata is best-effort, minute data starts later than daily history, and all market data products can contain vendor/source anomalies. We publish metadata and validation checks so you can inspect coverage before using it in research.
We run automated validation on every export — checking row counts, duplicate keys, required fields, and obvious OHLCV anomalies. If you find a problem, email us and we'll investigate. The data is provided as-is, but we take quality seriously.
NorthTick is an indie project by a Canadian quant developer who got tired of fighting with broken free data sources for the Canadian markets. We built this dataset for our own trading systems and decided to share it.