ConceptsData
These docs track the unreleased nightly build and may change without notice. Switch to the latest stable docs.
MarkPriceUpdate
MarkPriceUpdate represents the current mark price for an instrument. Venues use
mark prices most often for derivatives margining, liquidation checks, and unrealized
PnL calculations.
Fields
| Field | Rust type | Python type | Required/default | Notes |
|---|---|---|---|---|
instrument_id | InstrumentId | InstrumentId | Required | Instrument for the mark price. |
value | Price | Price | Required | Current mark price. |
ts_event | UnixNanos | int | Required | Event timestamp in nanoseconds. |
ts_init | UnixNanos | int | Required | Initialization timestamp in nanoseconds. |
Behavior
- Mark prices are cached by instrument when received.
- Backtests can feed mark prices to align margin and PnL behavior with venues that publish reference prices separately from trades.
- The catalog stores mark prices with instrument ID and price precision metadata.
Example
use nautilus_core::UnixNanos;
use nautilus_model::{
data::MarkPriceUpdate,
identifiers::InstrumentId,
types::Price,
};
let mark = MarkPriceUpdate::new(
InstrumentId::from("BTCUSDT-PERP.BINANCE"),
Price::from("65000.10"),
UnixNanos::from(1_000_000_000),
UnixNanos::from(1_000_000_100),
);Related guides
- IndexPriceUpdate covers the index reference price.
- FundingRateUpdate covers perpetual funding metadata.
- Python API Reference lists Python members.
Bar
Bar represents OHLCV price and volume data for a specific BarType. Bars can be provided externally by a venue or data provider, aggregated internally from...
IndexPriceUpdate
IndexPriceUpdate represents the external index price used by a derivatives market. Venues often derive mark prices, funding calculations, or settlement...