FinzData + NautilusTrader

Point-in-time market data for NautilusTrader

NautilusTrader is a high-performance open-source trading platform; nautilus-finzdata fills its ParquetDataCatalog with FinzData's point-in-time, survivorship-free bars in one call.

Install

Why it matters

Point-in-time correctness

  1. Survivorship bias. Delisted stocks included, point in time.
  2. No look-ahead. Bars stamped at their close, daily 16:00 New York, so strategies never see a bar early.
  3. Futures completeness. Every futures contract since 2007 plus continuous series.

Install

Use FinzData with NautilusTrader

pip install nautilus-finzdata

Set FINZDATA_API_KEY. A free key, email only: Get free key

from nautilus_finzdata import FinzDataLoader
loader = FinzDataLoader()
loader.to_catalog("catalog", symbols=["AAPL", "SPY"], start="2025-10-27", end="2026-10-23", futures=["ES"])
from nautilus_trader.persistence.catalog import ParquetDataCatalog
catalog = ParquetDataCatalog("catalog")
bars = catalog.bars(bar_types=["SPY.FINZDATA-1-DAY-LAST-EXTERNAL"])

Use BacktestNode with BacktestDataConfig(catalog_path="catalog", data_cls=Bar, bar_types=["SPY.FINZDATA-1-DAY-LAST-EXTERNAL"]).

Instruments and bars

Symbol mapping

PatternDescription
SYMBOL.FINZDATAStocks and ETFs, Equity
ROOT.c.0.FINZDATAContinuous futures
ES.c.0.FINZDATAContinuous E-mini S&P 500 futures
ESZ26.FINZDATASingle contract
{id}-1-DAY-LAST-EXTERNALDaily bar type
{id}-5-MINUTE-LAST-EXTERNAL5 minute bar type
{id}-1-HOUR-LAST-EXTERNAL1 hour bar type

Intervals: 1min, 5min, 15min, 30min, 1hour, 1day.

Built-in futures specs for ES, MES, NQ, MNQ, YM, RTY, M2K, CL, MCL, NG, RB, HO, PL, GC, MGC, SI, HG, ZN, ZF, ZT, ZC, ZS, ZW, VX, FDAX, FESX, E6, A6, B6, J6.

Coverage

Data scope

16,000+ US stocks that have traded on NYSE and Nasdaq since January 2000, delisted included, point in time; 231 ETFs; 139 futures markets with every contract since 2007; 1, 5, 15, 30-minute, hourly and daily bars; plus GEX for single stocks, ETFs and the major indexes, COT since 1986, 13F, SEC fundamentals as filed, 18,000+ macro series.

Pricing

Full history

Free key covers the last 12 months of daily data; intraday bars and full history from $19 per ticker or $29 per futures market, yours to keep: See full history

FAQ

Questions

Is FinzData affiliated with NautilusTrader?

No. FinzData is not affiliated with Nautech Systems or the NautilusTrader project. nautilus-finzdata is a community integration.

Does FinzData provide survivorship-free data for NautilusTrader?

Yes. All bars are point-in-time with delisted names included and stamped at close.

Can I backtest futures with nautilus-finzdata?

Yes. Every contract since 2007 plus continuous series are available with built-in specs.

Is a free API key available?

Yes. A free key covers the last 12 months of daily data, email only.

Can I use ParquetDataCatalog with BacktestNode?

Yes. Load data with FinzDataLoader then use BacktestDataConfig with catalog_path and bar_types.

FinzData is not affiliated with Nautech Systems or the NautilusTrader project.

FinzData: built for AI, quants, data scientists and financial analysts who backtest. Clean data. Real insights. Real alpha.