NautilusTrader
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

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