IndexPriceUpdate
September 12, 2026 ยท View on GitHub
IndexPriceUpdate represents an external index price used by a derivatives market. Venues often
use index prices to calculate mark prices, funding, or settlement values.
Fields
| Field | Rust type | Python type | Required/default | Notes |
|---|---|---|---|---|
instrument_id | InstrumentId | InstrumentId | Required | Instrument for the index price. |
value | Price | Price | Required | Current index price. |
ts_event | UnixNanos | int | Required | Event timestamp in nanoseconds. |
ts_init | UnixNanos | int | Required | Initialization timestamp in nanoseconds. |
Behavior
- Index prices are cached by instrument when received.
- Index prices are reference data and do not imply a trade occurred.
- Perpetual and futures venues may publish both mark and index prices.
- The catalog stores index prices with instrument ID and price precision metadata.
Example
use nautilus_core::UnixNanos;
use nautilus_model::{
data::IndexPriceUpdate,
identifiers::InstrumentId,
types::Price,
};
let index = IndexPriceUpdate::new(
InstrumentId::from("BTCUSDT-PERP.BINANCE"),
Price::from("64995.50"),
UnixNanos::from(1_000_000_000),
UnixNanos::from(1_000_000_100),
);
from nautilus_trader.model import IndexPriceUpdate
from nautilus_trader.model import InstrumentId
from nautilus_trader.model import Price
index = IndexPriceUpdate(
instrument_id=InstrumentId.from_str("BTCUSDT-PERP.BINANCE"),
value=Price.from_str("64995.50"),
ts_event=1_000_000_000,
ts_init=1_000_000_100,
)
Related guides
- MarkPriceUpdate covers mark prices.
- FundingRateUpdate covers perpetual funding metadata.
- Python API reference lists Python members.