NautilusTrader
ConceptsData

MarkPriceUpdate

MarkPriceUpdate represents an instrument's mark price. Derivatives venues commonly use mark prices for margining, liquidation checks, and unrealized PnL calculations.

Fields

FieldRust typePython typeRequired/defaultNotes
instrument_idInstrumentIdInstrumentIdRequiredInstrument for the mark price.
valuePricePriceRequiredCurrent mark price.
ts_eventUnixNanosintRequiredEvent timestamp in nanoseconds.
ts_initUnixNanosintRequiredInitialization 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),
);

On this page