Integration
Load historical data for backtests and stream live feeds for trading through the built-in Databento adapter, with full order book depth and nanosecond timestamps across equities, futures, and options.
L3 order book depth
Nanosecond timestamps
Equities, futures, and options
Written in Rust 🦀
Databento delivers normalized live and historical market data captured at exchange colocation sites, covering equities, futures, and options. Feeds carry nanosecond-resolution timestamps and keep consistent schemas across venues, so the same research and parsing code applies regardless of the source.
NautilusTrader integrates with Databento through nautilus-databento, a platform adapter written in Rust with Python bindings and no execution client. It loads historical data for backtesting and subscribes to live feeds for trading, decoding Databento's binary DBN format in the Rust core. You can pair it with any execution venue, or with a sandbox for simulated fills.
Full order book depth
L3 market by order, L2 market by price (ten-level book snapshots), and top-of-book quotes.
Historical and live
Load history for backtests and subscribe to live feeds for trading through the same integration.
Nanosecond timestamps
Every record carries nanosecond-resolution, PTP-synchronized timestamps, decoded straight into the engine's data types.
Rust DBN decoding
Databento's compact binary encoding (DBN) is decoded in the Rust core for both file loading and live streams.
Multi-asset coverage
Cash equities, futures and spreads, options and option spreads.
Backtest-ready catalog
Convert Databento data once into the Nautilus Parquet catalog for fast, repeatable backtests.
Each supported Databento schema maps to a native NautilusTrader data type.
Databento Schema
NautilusTrader Type
Notes
MBO
OrderBookDeltaMarket by order: every order book event, keyed by order ID (L3).
MBP-10
OrderBookDepth10Market by price: book depth across the top ten levels (L2).
MBP-1
QuoteTick (+ TradeTick)Market by price: top of book, updated on every change (L1).
BBO-1s / BBO-1m
QuoteTickBest bid and offer sampled each second or minute.
TBBO / TCBBO
QuoteTick + TradeTickEach trade with the best bid and offer at the time.
CMBP-1
QuoteTick (+ TradeTick)Consolidated top of book across venues.
CBBO-1s / CBBO-1m
QuoteTickConsolidated best bid and offer, sampled.
Trades
TradeTickEvery individual trade event.
OHLCV-1s/1m/1h/1d
BarOpen, high, low, close, and volume bars.
Definition
InstrumentReference data for equities, futures, options, and spreads.
Status
InstrumentStatusTrading session and halt status changes.
Imbalance
DatabentoImbalanceAuction order imbalance updates.
Statistics
DatabentoStatisticsOfficial venue statistics such as settlement and open interest.
Asset classes
Cash equities
Futures
Futures spreads
Options
Option spreads
Datasets and venues
CME Globex
Nasdaq
NYSE
Cboe
OPRA options
IEX
MEMX
Eurex
ICE
Databento covers over 40 datasets across more than 100 publishers. The adapter maps each publisher to a NautilusTrader venue, and can resolve the underlying exchange as the venue on CME Globex.
Historical
Batched range requests over HTTP
Schemas: L3 order book deltas, L2 depth, quotes, trades, bars, definitions, imbalance, statistics, and status.
Range resolution: requested time ranges resolve against each dataset's available window.
Backtest workflow: load once into the Nautilus Parquet catalog for repeated runs.
Live
Real-time subscriptions over TCP
Schemas: L3 order book deltas, L2 snapshots, quotes, trades, bars, definitions, imbalance, statistics, and status.
Resilience: automatic reconnection with exponential backoff and resubscription.
Order book replay: L3 subscriptions are made at node startup and replay from the session start to rebuild the book.
Adapter crate
File loading
Live client
Encoding
Catalog
Considerations
Databento provides market data only, with no execution client. Pair it with an execution venue, or a sandbox for simulated fills.
Live sessions do not support unsubscribing from individual feeds; stop the session to change what you subscribe to.
Reference schemas such as corporate actions and security master are not mapped to NautilusTrader types.
The Rust core decodes Databento's DBN format into NautilusTrader types with no Python on the hot path. Numbers from the adapter's canonical benchmark suite.
Per-record decode into NautilusTrader types
Schema
Median
MBO
13.0 ns
MBP-1
32.3 ns
MBP-10
187 ns
BBO
19.4 ns
Trades
25.0 ns
OHLCV
16.4 ns
Sustained MBO throughput
Operation
Throughput
DBN stream decode
25.1 M/s
Load to Nautilus objects
11.6 M/s
Live MBO stream
2.94 M/s
Measured 2026-06-26 on AMD Ryzen Threadripper 9980X, rustc 1.96.0, bench-lto profile (fat LTO, single codegen unit), ASLR disabled, performance governor. File rows use a 68,792-record MBO fixture; the live MBO stream is end-to-end through a local mock feed, not Databento service latency. Absolute numbers vary by machine; only same-machine deltas are meaningful.
Worked examples that use Databento data in NautilusTrader.
Integration guide
Read the full integration guide
The guide covers installation, configuration, symbology, dataset specifics, and worked examples for loading and streaming Databento data.
NautilusTraderâ„¢ is a product of Nautech Systems Pty Ltd (ABN 88 609 589 237). Nautech Systems provides algorithmic trading software only. We do not operate as a broker, dealer, or exchange, nor offer financial advisory services. Users are solely responsible for compliance with applicable laws and regulations. Subject to non-excludable consumer guarantees, we make no warranties and accept no liability for trading losses or regulatory violations arising from use of the software. Read full disclaimer.
We use essential cookies and, with your consent, optional analytics cookies, as described in our Privacy Policy. Manage your Cookie Preferences.