ConceptsData
Nightly docs
These docs track unreleased changes and may change without notice. Their code examples can use APIs that the latest release lacks, so run them with a development wheel or switch to the latest release docs.
IndexPriceUpdate
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),
);Related guides
- MarkPriceUpdate covers mark prices.
- FundingRateUpdate covers perpetual funding metadata.
- Python API reference lists Python members.
MarkPriceUpdate
MarkPriceUpdate represents an instrument's mark price. Derivatives venues commonly use mark prices for margining, liquidation checks, and unrealized PnL...
FundingRateUpdate
FundingRateUpdate represents the funding rate for a perpetual swap instrument. It can also include the funding interval and next funding timestamp when the...