Skip to main content
Version: latest

Data

class Bar

Bases: Data

Bar(BarType bar_type, Price open, Price high, Price low, Price close, Quantity volume, uint64_t ts_event, uint64_t ts_init, bool is_revision=False) -> None

Represents an aggregated bar.

  • Parameters:
    • bar_type (BarType) – The bar type for this bar.
    • open (Price) – The bars open price.
    • high (Price) – The bars high price.
    • low (Price) – The bars low price.
    • close (Price) – The bars close price.
    • volume (Quantity) – The bars volume.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the data event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
    • is_revision (bool , default False) – If this bar is a revision of a previous bar with the same ts_event.
  • Raises:
    • ValueError – If high is not >= low.
    • ValueError – If high is not >= close.
    • ValueError – If low is not <= close.

bar_type

BarType

Return the bar type of bar.

  • Return type: BarType
  • Type: Bar.bar_type

close

Price

Return the close price of the bar.

  • Return type: Price
  • Type: Bar.close

static from_dict(dict values) → Bar

Return a bar parsed from the given values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: Bar

static from_pyo3(pyo3_bar) → Bar

Return a legacy Cython bar converted from the given pyo3 Rust object.

  • Parameters: pyo3_bar (nautilus_pyo3.Bar) – The pyo3 Rust bar to convert from.
  • Return type: Bar

static from_pyo3_list(list pyo3_bars) → list[Bar]

Return legacy Cython bars converted from the given pyo3 Rust objects.

  • Parameters: pyo3_bars (list *[*nautilus_pyo3.Bar ]) – The pyo3 Rust bars to convert from.
  • Return type: list[Bar]

static from_raw(BarType bar_type, int64_t open, int64_t high, int64_t low, int64_t close, uint8_t price_prec, uint64_t volume, uint8_t size_prec, uint64_t ts_event, uint64_t ts_init) → Bar

static from_raw_arrays_to_list(BarType bar_type, uint8_t price_prec, uint8_t size_prec, int64_t[:] opens, int64_t[:] highs, int64_t[:] lows, int64_t[:] closes, uint64_t[:] volumes, uint64_t[:] ts_events, uint64_t[:] ts_inits) → list[Bar]

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

high

Price

Return the high price of the bar.

  • Return type: Price
  • Type: Bar.high

is_revision

If this bar is a revision for a previous bar with the same ts_event.

  • Returns: bool

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

is_single_price(self) → bool

If the OHLC are all equal to a single price.

  • Return type: bool

low

Price

Return the low price of the bar.

  • Return type: Price
  • Type: Bar.low

open

Price

Return the open price of the bar.

  • Return type: Price
  • Type: Bar.open

static to_dict(Bar obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

to_pyo3(self) → nautilus_pyo3.Bar

Return a pyo3 object from this legacy Cython instance.

  • Return type: nautilus_pyo3.Bar

static to_pyo3_list(list bars) → list[nautilus_pyo3.Bar]

Return pyo3 Rust bars converted from the given legacy Cython objects.

  • Parameters: bars (list [Bar ]) – The legacy Cython bars to convert from.
  • Return type: list[nautilus_pyo3.Bar]

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: Bar.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: Bar.ts_init

volume

Quantity

Return the volume of the bar.

  • Return type: Quantity
  • Type: Bar.volume

class BarAggregation

Bases: IntFlag

conjugate()

Returns self, the complex conjugate of any int.

bit_length()

Number of bits necessary to represent self in binary.

>>> bin(37)
'0b100101'
>>> (37).bit_length()
6

bit_count()

Number of ones in the binary representation of the absolute value of self.

Also known as the population count.

>>> bin(13)
'0b1101'
>>> (13).bit_count()
3

to_bytes(length=1, byteorder='big', *, signed=False)

Return an array of bytes representing an integer.

length : Length of bytes object to use. An OverflowError is raised if the integer is not representable with the given number of bytes. Default is length 1.

byteorder : The byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use

`

sys.byteorder’ as the byte order value. Default is to use ‘big’.

signed : Determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

from_bytes(byteorder='big', *, signed=False)

Return the integer represented by the given array of bytes.

bytes : Holds the array of bytes to convert. The argument must either support the buffer protocol or be an iterable object producing bytes. Bytes and bytearray are examples of built-in objects that support the buffer protocol.

byteorder : The byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use

`

sys.byteorder’ as the byte order value. Default is to use ‘big’.

signed : Indicates whether two’s complement is used to represent the integer.

as_integer_ratio()

Return a pair of integers, whose ratio is equal to the original int.

The ratio is in lowest terms and has a positive denominator.

>>> (10).as_integer_ratio()
(10, 1)
>>> (-10).as_integer_ratio()
(-10, 1)
>>> (0).as_integer_ratio()
(0, 1)

is_integer()

Returns True. Exists for duck type compatibility with float.is_integer.

real

the real part of a complex number

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

denominator

the denominator of a rational number in lowest terms

TICK = 1

TICK_IMBALANCE = 2

TICK_RUNS = 3

VOLUME = 4

VOLUME_IMBALANCE = 5

VOLUME_RUNS = 6

VALUE = 7

VALUE_IMBALANCE = 8

VALUE_RUNS = 9

MILLISECOND = 10

SECOND = 11

MINUTE = 12

HOUR = 13

DAY = 14

WEEK = 15

MONTH = 16

class BarSpecification

Bases: object

BarSpecification(int step, BarAggregation aggregation, PriceType price_type) -> None

Represents a bar aggregation specification including a step, aggregation method/rule and price type.

  • Parameters:
    • step (int) – The step for binning samples for bar aggregation (> 0).
    • aggregation (BarAggregation) – The type of bar aggregation.
    • price_type (PriceType) – The price type to use for aggregation.
  • Raises: ValueError – If step is not positive (> 0).

aggregation

BarAggregation

Return the aggregation for the specification.

static check_information_aggregated(BarAggregation aggregation)

Check the given aggregation is a type of information aggregation.

  • Parameters: aggregation (BarAggregation) – The aggregation type to check.
  • Returns: True if information aggregated, else False.
  • Return type: bool

static check_threshold_aggregated(BarAggregation aggregation)

Check the given aggregation is a type of threshold aggregation.

  • Parameters: aggregation (BarAggregation) – The aggregation type to check.
  • Returns: True if threshold aggregated, else False.
  • Return type: bool

static check_time_aggregated(BarAggregation aggregation)

Check the given aggregation is a type of time aggregation.

  • Parameters: aggregation (BarAggregation) – The aggregation type to check.
  • Returns: True if time aggregated, else False.
  • Return type: bool

static from_str(unicode value) → BarSpecification

Return a bar specification parsed from the given string.

  • Parameters: value (str) – The bar specification string to parse.

  • Return type: BarSpecification

  • Raises: ValueError – If value is not a valid string.

static from_timedelta(timedelta duration, PriceType price_type) → BarSpecification

Return a bar specification parsed from the given timedelta and price_type.

  • Parameters:

    • duration (timedelta) – The bar specification timedelta to parse.
    • price_type (PriceType) – The bar specification price_type.
  • Return type: BarSpecification

  • Raises: ValueError – If duration is not rounded step of aggregation.

is_information_aggregated(self) → bool

Return a value indicating whether the aggregation method is information-driven.

  • TICK_RUNS
  • VOLUME_RUNS
  • VALUE_RUNS
  • Return type: bool

is_threshold_aggregated(self) → bool

Return a value indicating whether the bar aggregation method is threshold-driven.

  • TICK
  • TICK_IMBALANCE
  • VOLUME
  • VOLUME_IMBALANCE
  • VALUE
  • VALUE_IMBALANCE
  • Return type: bool

is_time_aggregated(self) → bool

Return a value indicating whether the aggregation method is time-driven.

  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • Return type: bool

price_type

PriceType

Return the price type for the specification.

  • Return type: PriceType
  • Type: BarSpecification.price_type

step

int

Return the step size for the specification.

  • Return type: int
  • Type: BarSpecification.step

timedelta

timedelta

Return the timedelta for the specification.

  • Return type: timedelta
  • Raises: ValueError – If aggregation is not a time aggregation, or is``MONTH`` (which is ambiguous).
  • Type: BarSpecification.timedelta

class BarType

Bases: object

BarType(InstrumentId instrument_id, BarSpecification bar_spec, AggregationSource aggregation_source=AggregationSource.EXTERNAL) -> None

Represents a bar type including the instrument ID, bar specification and aggregation source.

  • Parameters:
    • instrument_id (InstrumentId) – The bar type’s instrument ID.
    • bar_spec (BarSpecification) – The bar type’s specification.
    • aggregation_source (AggregationSource , default EXTERNAL) – The bar type aggregation source. If INTERNAL the DataEngine will subscribe to the necessary ticks and aggregate bars accordingly. Else if EXTERNAL then bars will be subscribed to directly from the venue / data provider.

aggregation_source

AggregationSource

Return the aggregation source for the bar type.

  • Return type: AggregationSource
  • Type: BarType.aggregation_source

composite(self) → BarType

static from_str(unicode value) → BarType

Return a bar type parsed from the given string.

  • Parameters: value (str) – The bar type string to parse.
  • Return type: BarType
  • Raises: ValueError – If value is not a valid string.

instrument_id

InstrumentId

Return the instrument ID for the bar type.

is_composite(self) → bool

Return a value indicating whether the bar type corresponds to BarType::Composite in Rust.

  • Return type: bool

is_externally_aggregated(self) → bool

Return a value indicating whether the bar aggregation source is EXTERNAL.

  • Return type: bool

is_internally_aggregated(self) → bool

Return a value indicating whether the bar aggregation source is INTERNAL.

  • Return type: bool

is_standard(self) → bool

Return a value indicating whether the bar type corresponds to BarType::Standard in Rust.

  • Return type: bool

static new_composite(InstrumentId instrument_id, BarSpecification bar_spec, AggregationSource aggregation_source, int composite_step, BarAggregation composite_aggregation, AggregationSource composite_aggregation_source) → BarType

spec

BarSpecification

Return the specification for the bar type.

standard(self) → BarType

class BookOrder

Bases: object

BookOrder(OrderSide side, Price price, Quantity size, uint64_t order_id) -> None

Represents an order in a book.

  • Parameters:
    • side (OrderSide {BUY, SELL}) – The order side.
    • price (Price) – The order price.
    • size (Quantity) – The order size.
    • order_id (uint64_t) – The order ID.

exposure(self) → double

Return the total exposure for this order (price * size).

  • Return type: double

static from_dict(dict values) → BookOrder

Return an order from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: BookOrder

static from_raw(OrderSide side, int64_t price_raw, uint8_t price_prec, uint64_t size_raw, uint8_t size_prec, uint64_t order_id) → BookOrder

Return an book order from the given raw values.

  • Parameters:
    • side (OrderSide {BUY, SELL}) – The order side.
    • price_raw (int64_t) – The order raw price (as a scaled fixed-point integer).
    • price_prec (uint8_t) – The order price precision.
    • size_raw (uint64_t) – The order raw size (as a scaled fixed-point integer).
    • size_prec (uint8_t) – The order size precision.
    • order_id (uint64_t) – The order ID.
  • Return type: BookOrder

order_id

uint64_t

Return the book orders side.

  • Return type: uint64_t
  • Type: BookOrder.order_id

price

Price

Return the book orders price.

  • Return type: Price
  • Type: BookOrder.price

side

OrderSide

Return the book orders side.

  • Return type: OrderSide
  • Type: BookOrder.side

signed_size(self) → double

Return the signed size of the order (negative for SELL).

  • Return type: double

size

Quantity

Return the book orders size.

  • Return type: Quantity
  • Type: BookOrder.size

static to_dict(BookOrder obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

class CustomData

Bases: Data

CustomData(DataType data_type, Data data) -> None

Provides a wrapper for custom data which includes data type information.

  • Parameters:
    • data_type (DataType) – The data type.
    • data (Data) – The data object to wrap.

data

The data.

  • Returns: Data

data_type

The data type.

  • Returns: DataType

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: CustomData.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: CustomData.ts_init

class DataType

Bases: object

DataType(type type, dict metadata=None) -> None

Represents a data type including metadata.

  • Parameters:
    • type (type) – The Data type of the data.
    • metadata (dict) – The data types metadata.
  • Raises:
    • ValueError – If type is not either a subclass of Data or meets the Data contract.
    • TypeError – If metadata contains a key or value which is not hashable.

WARNING

This class may be used as a key in hash maps throughout the system, thus the key and value contents of metadata must themselves be hashable.

metadata

The data types metadata.

  • Returns: dict[str, object]

topic

The data types topic string.

  • Returns: str

type

The Data type of the data.

  • Returns: type

class InstrumentClose

Bases: Data

InstrumentClose(InstrumentId instrument_id, Price close_price, InstrumentCloseType close_type, uint64_t ts_event, uint64_t ts_init) -> None

Represents an instrument close at a venue.

  • Parameters:
    • instrument_id (InstrumentId) – The instrument ID.
    • close_price (Price) – The closing price for the instrument.
    • close_type (InstrumentCloseType) – The type of closing price.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the close price event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the object was initialized.

close_price

The instrument close price.

  • Returns: Price

close_type

The instrument close type.

  • Returns: InstrumentCloseType

static from_dict(dict values) → InstrumentClose

Return an instrument close price event from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: InstrumentClose

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

The event instrument ID.

  • Returns: InstrumentId

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

static to_dict(InstrumentClose obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

ts_event

UNIX timestamp (nanoseconds) when the data event occurred.

  • Returns: uint64_t

ts_init

UNIX timestamp (nanoseconds) when the object was initialized.

  • Returns: uint64_t

class InstrumentStatus

Bases: Data

InstrumentStatus(InstrumentId instrument_id, MarketStatusAction action, uint64_t ts_event, uint64_t ts_init, unicode reason=None, unicode trading_event=None, is_trading: bool | None = None, is_quoting: bool | None = None, is_short_sell_restricted: bool | None = None) -> None

Represents an event that indicates a change in an instrument market status.

  • Parameters:
    • instrument_id (InstrumentId) – The instrument ID for the status change.
    • action (MarketStatusAction) – The instrument market status action.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the status event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the object was initialized.
    • reason (str , optional) – Additional details about the cause of the status change.
    • trading_event (str , optional) – Further information about the status change (if provided).
    • is_trading (bool , optional) – The state of trading in the instrument.
    • is_quoting (bool , optional) – The state of quoting in the instrument.
    • is_short_sell_restricted (bool , optional) – The state of short sell restrictions for the instrument (if applicable).

action

The instrument market status action.

  • Returns: MarketStatusAction

static from_dict(dict values) → InstrumentStatus

Return an instrument status update from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: InstrumentStatus

static from_pyo3(pyo3_status) → InstrumentStatus

Return a legacy Cython quote tick converted from the given pyo3 Rust object.

  • Parameters: pyo3_status (nautilus_pyo3.InstrumentStatus) – The pyo3 Rust instrument status to convert from.
  • Return type: InstrumentStatus

static from_pyo3_list(list pyo3_status_list) → list[QuoteTick]

Return legacy Cython instrument status converted from the given pyo3 Rust objects.

  • Parameters: pyo3_status_list (list *[*nautilus_pyo3.InstrumentStatus ]) – The pyo3 Rust instrument status list to convert from.
  • Return type: list[InstrumentStatus]

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

The instrument ID.

  • Returns: InstrumentId

is_quoting

bool | None

Return the state of quoting in the instrument (if known).

  • Return type: bool or None
  • Type: InstrumentStatus.is_quoting

is_short_sell_restricted

bool | None

Return the state of short sell restrictions for the instrument (if known and applicable).

  • Return type: bool or None
  • Type: InstrumentStatus.is_short_sell_restricted

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

is_trading

bool | None

Return the state of trading in the instrument (if known).

  • Return type: bool or None
  • Type: InstrumentStatus.is_trading

reason

Additional details about the cause of the status change.

  • Returns: str or None

static to_dict(InstrumentStatus obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

to_pyo3(self) → nautilus_pyo3.InstrumentStatus

Return a pyo3 object from this legacy Cython instance.

  • Return type: nautilus_pyo3.InstrumentStatus

trading_event

Further information about the status change (if provided).

  • Returns: str or None

ts_event

UNIX timestamp (nanoseconds) when the data event occurred.

  • Returns: uint64_t

ts_init

UNIX timestamp (nanoseconds) when the object was initialized.

  • Returns: uint64_t

class OrderBookDelta

Bases: Data

OrderBookDelta(InstrumentId instrument_id, BookAction action, BookOrder order: BookOrder | None, uint8_t flags, uint64_t sequence, uint64_t ts_event, uint64_t ts_init) -> None

Represents a single update/difference on an OrderBook.

  • Parameters:
    • instrument_id (InstrumentId) – The instrument ID for the book.
    • action (BookAction {ADD, UPDATE, DELETE, CLEAR}) – The order book delta action.
    • order (BookOrder or None) – The book order for the delta.
    • flags (uint8_t) – The record flags bit field, indicating event end and data information. A value of zero indicates no flags.
    • sequence (uint64_t) – The unique sequence number for the update. If no sequence number provided in the source data then use a value of zero.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the data event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.

action

BookAction

Return the deltas book action {ADD, UPDATE, DELETE, CLEAR}

  • Return type: BookAction
  • Type: OrderBookDelta.action

static capsule_from_list(list items)

static clear(InstrumentId instrument_id, uint64_t sequence, uint64_t ts_event, uint64_t ts_init)

Return an order book delta which acts as an initial CLEAR.

flags

uint8_t

Return the flags for the delta.

  • Return type: uint8_t
  • Type: OrderBookDelta.flags

static from_dict(dict values) → OrderBookDelta

Return an order book delta from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: OrderBookDelta

static from_pyo3(pyo3_delta) → OrderBookDelta

Return a legacy Cython order book delta converted from the given pyo3 Rust object.

  • Parameters: pyo3_delta (nautilus_pyo3.OrderBookDelta) – The pyo3 Rust order book delta to convert from.
  • Return type: OrderBookDelta

static from_pyo3_list(list pyo3_deltas) → list[OrderBookDelta]

Return legacy Cython order book deltas converted from the given pyo3 Rust objects.

  • Parameters: pyo3_deltas (list *[*nautilus_pyo3.OrderBookDelta ]) – The pyo3 Rust order book deltas to convert from.
  • Return type: list[OrderBookDelta]

static from_raw(InstrumentId instrument_id, BookAction action, OrderSide side, int64_t price_raw, uint8_t price_prec, uint64_t size_raw, uint8_t size_prec, uint64_t order_id, uint8_t flags, uint64_t sequence, uint64_t ts_event, uint64_t ts_init) → OrderBookDelta

Return an order book delta from the given raw values.

  • Parameters:
    • instrument_id (InstrumentId) – The trade instrument ID.
    • action (BookAction {ADD, UPDATE, DELETE, CLEAR}) – The order book delta action.
    • side (OrderSide {BUY, SELL}) – The order side.
    • price_raw (int64_t) – The order raw price (as a scaled fixed-point integer).
    • price_prec (uint8_t) – The order price precision.
    • size_raw (uint64_t) – The order raw size (as a scaled fixed-point integer).
    • size_prec (uint8_t) – The order size precision.
    • order_id (uint64_t) – The order ID.
    • flags (uint8_t) – The record flags bit field, indicating event end and data information. A value of zero indicates no flags.
    • sequence (uint64_t) – The unique sequence number for the update. If no sequence number provided in the source data then use a value of zero.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Return type: OrderBookDelta

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

InstrumentId

Return the deltas book instrument ID.

  • Return type: InstrumentId
  • Type: OrderBookDelta.instrument_id

is_add

BookAction

If the deltas book action is an ADD.

  • Return type: bool
  • Type: OrderBookDelta.is_add

is_clear

BookAction

If the deltas book action is a CLEAR.

  • Return type: bool
  • Type: OrderBookDelta.is_clear

is_delete

BookAction

If the deltas book action is a DELETE.

  • Return type: bool
  • Type: OrderBookDelta.is_delete

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

is_update

BookAction

If the deltas book action is an UPDATE.

  • Return type: bool
  • Type: OrderBookDelta.is_update

static list_from_capsule(capsule) → list[OrderBookDelta]

order

BookOrder | None

Return the deltas book order for the action.

  • Return type: BookOrder
  • Type: OrderBookDelta.order

sequence

uint64_t

Return the sequence number for the delta.

  • Return type: uint64_t
  • Type: OrderBookDelta.sequence

static to_dict(OrderBookDelta obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

static to_pyo3_list(list deltas) → list[nautilus_pyo3.OrderBookDelta]

Return pyo3 Rust order book deltas converted from the given legacy Cython objects.

  • Parameters: pyo3_deltas (list [OrderBookDelta ]) – The pyo3 Rust order book deltas to convert from.
  • Return type: list[nautilus_pyo3.OrderBookDelta]

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: OrderBookDelta.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: OrderBookDelta.ts_init

class OrderBookDeltas

Bases: Data

OrderBookDeltas(InstrumentId instrument_id, list deltas) -> None

Represents a batch of OrderBookDelta updates for an OrderBook.

  • Parameters:
    • instrument_id (InstrumentId) – The instrument ID for the book.
    • deltas (list [OrderBookDelta ]) – The batch of order book changes.
  • Raises: ValueError – If deltas is an empty list.

static batch(list data: list[OrderBookDelta]) → list[OrderBookDeltas]

Groups the given list of OrderBookDelta records into batches, creating OrderBookDeltas objects when an F_LAST flag is encountered.

The method iterates through the data list and appends each OrderBookDelta to the current batch. When an F_LAST flag is found, it indicates the end of a batch. The batch is then appended to the list of completed batches and a new batch is started.

  • Return type: list[OrderBookDeltas]
  • Raises:
    • ValueError – If data is empty.
    • TypeError – If data is not a list of OrderBookDelta.

WARNING

UserWarning : If there are remaining deltas in the final batch after the last F_LAST flag.

deltas

list[OrderBookDelta]

Return the contained deltas.

flags

uint8_t

Return the flags for the last delta.

  • Return type: uint8_t
  • Type: OrderBookDeltas.flags

static from_dict(dict values) → OrderBookDeltas

Return order book deltas from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: OrderBookDeltas

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

InstrumentId

Return the deltas book instrument ID.

  • Return type: InstrumentId
  • Type: OrderBookDeltas.instrument_id

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

is_snapshot

bool

If the deltas is a snapshot.

  • Return type: bool
  • Type: OrderBookDeltas.is_snapshot

sequence

uint64_t

Return the sequence number for the last delta.

  • Return type: uint64_t
  • Type: OrderBookDeltas.sequence

to_capsule(self)

static to_dict(OrderBookDeltas obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

to_pyo3(self)

Return a pyo3 object from this legacy Cython instance.

  • Return type: nautilus_pyo3.OrderBookDeltas

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: OrderBookDeltas.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: OrderBookDeltas.ts_init

class OrderBookDepth10

Bases: Data

OrderBookDepth10(InstrumentId instrument_id, list bids, list asks, list bid_counts, list ask_counts, uint8_t flags, uint64_t sequence, uint64_t ts_event, uint64_t ts_init) -> None

Represents a self-contained order book update with a fixed depth of 10 levels per side.

  • Parameters:
    • instrument_id (InstrumentId) – The instrument ID for the book.
    • bids (list [BookOrder ]) – The bid side orders for the update.
    • asks (list [BookOrder ]) – The ask side orders for the update.
    • bid_counts (list *[*uint32_t ]) – The count of bid orders per level for the update. Can be zeros if data not available.
    • ask_counts (list *[*uint32_t ]) – The count of ask orders per level for the update. Can be zeros if data not available.
    • flags (uint8_t) – The record flags bit field, indicating event end and data information. A value of zero indicates no flags.
    • sequence (uint64_t) – The unique sequence number for the update. If no sequence number provided in the source data then use a value of zero.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Raises:
    • ValueError – If bids, asks, bid_counts, ask_counts lengths are greater than 10.
    • ValueError – If bids, asks, bid_counts, ask_counts lengths are not equal.

ask_counts

list[uint32_t]

Return the count of ask orders level for the update.

  • Return type: list[uint32_t]
  • Type: OrderBookDepth10.ask_counts

asks

list[BookOrder]

Return the ask orders for the update.

  • Return type: list[BookOrder]
  • Type: OrderBookDepth10.asks

bid_counts

list[uint32_t]

Return the count of bid orders per level for the update.

  • Return type: list[uint32_t]
  • Type: OrderBookDepth10.bid_counts

bids

list[BookOrder]

Return the bid orders for the update.

  • Return type: list[BookOrder]
  • Type: OrderBookDepth10.bids

static capsule_from_list(list items)

flags

uint8_t

Return the flags for the depth update.

  • Return type: uint8_t
  • Type: OrderBookDepth10.flags

static from_dict(dict values) → OrderBookDepth10

Return order book depth from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: OrderBookDepth10

static from_pyo3(pyo3_depth) → OrderBookDepth10

Return a legacy Cython order book depth converted from the given pyo3 Rust object.

  • Parameters: pyo3_depth (nautilus_pyo3.OrderBookDepth10) – The pyo3 Rust order book depth to convert from.
  • Return type: OrderBookDepth10

static from_pyo3_list(pyo3_depths) → list[OrderBookDepth10]

Return legacy Cython order book depths converted from the given pyo3 Rust objects.

  • Parameters: pyo3_depths (nautilus_pyo3.OrderBookDepth10) – The pyo3 Rust order book depths to convert from.
  • Return type: list[OrderBookDepth10]

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

InstrumentId

Return the depth updates book instrument ID.

  • Return type: InstrumentId
  • Type: OrderBookDepth10.instrument_id

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

static list_from_capsule(capsule) → list[OrderBookDepth10]

sequence

uint64_t

Return the sequence number for the depth update.

  • Return type: uint64_t
  • Type: OrderBookDepth10.sequence

static to_dict(OrderBookDepth10 obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: OrderBookDepth10.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: OrderBookDepth10.ts_init

class QuoteTick

Bases: Data

QuoteTick(InstrumentId instrument_id, Price bid_price, Price ask_price, Quantity bid_size, Quantity ask_size, uint64_t ts_event, uint64_t ts_init) -> None

Represents a single quote tick in a market.

Contains information about the best top-of-book bid and ask.

  • Parameters:
    • instrument_id (InstrumentId) – The quotes instrument ID.
    • bid_price (Price) – The top-of-book bid price.
    • ask_price (Price) – The top-of-book ask price.
    • bid_size (Quantity) – The top-of-book bid size.
    • ask_size (Quantity) – The top-of-book ask size.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Raises:
    • ValueError – If bid.precision != ask.precision.
    • ValueError – If bid_size.precision != ask_size.precision.

ask_price

Price

Return the top-of-book ask price.

  • Return type: Price
  • Type: QuoteTick.ask_price

ask_size

Quantity

Return the top-of-book ask size.

  • Return type: Quantity
  • Type: QuoteTick.ask_size

bid_price

Price

Return the top-of-book bid price.

  • Return type: Price
  • Type: QuoteTick.bid_price

bid_size

Quantity

Return the top-of-book bid size.

  • Return type: Quantity
  • Type: QuoteTick.bid_size

static capsule_from_list(list items)

extract_price(self, PriceType price_type) → Price

Extract the price for the given price type.

  • Parameters: price_type (PriceType) – The price type to extract.
  • Return type: Price

extract_size(self, PriceType price_type) → Quantity

Extract the size for the given price type.

  • Parameters: price_type (PriceType) – The price type to extract.
  • Return type: Quantity

static from_dict(dict values) → QuoteTick

Return a quote tick parsed from the given values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: QuoteTick

static from_pyo3(pyo3_quote) → QuoteTick

Return a legacy Cython quote tick converted from the given pyo3 Rust object.

  • Parameters: pyo3_quote (nautilus_pyo3.QuoteTick) – The pyo3 Rust quote tick to convert from.
  • Return type: QuoteTick

static from_pyo3_list(list pyo3_quotes) → list[QuoteTick]

Return legacy Cython quotes converted from the given pyo3 Rust objects.

  • Parameters: pyo3_quotes (list *[*nautilus_pyo3.QuoteTick ]) – The pyo3 Rust quotes to convert from.
  • Return type: list[QuoteTick]

static from_raw(InstrumentId instrument_id, int64_t bid_price_raw, int64_t ask_price_raw, uint8_t bid_price_prec, uint8_t ask_price_prec, uint64_t bid_size_raw, uint64_t ask_size_raw, uint8_t bid_size_prec, uint8_t ask_size_prec, uint64_t ts_event, uint64_t ts_init) → QuoteTick

Return a quote tick from the given raw values.

  • Parameters:
    • instrument_id (InstrumentId) – The quotes instrument ID.
    • bid_price_raw (int64_t) – The raw top-of-book bid price (as a scaled fixed-point integer).
    • ask_price_raw (int64_t) – The raw top-of-book ask price (as a scaled fixed-point integer).
    • bid_price_prec (uint8_t) – The bid price precision.
    • ask_price_prec (uint8_t) – The ask price precision.
    • bid_size_raw (uint64_t) – The raw top-of-book bid size (as a scaled fixed-point integer).
    • ask_size_raw (uint64_t) – The raw top-of-book ask size (as a scaled fixed-point integer).
    • bid_size_prec (uint8_t) – The bid size precision.
    • ask_size_prec (uint8_t) – The ask size precision.
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Return type: QuoteTick
  • Raises:
    • ValueError – If bid_price_prec != ask_price_prec.
    • ValueError – If bid_size_prec != ask_size_prec.

static from_raw_arrays_to_list(InstrumentId instrument_id: InstrumentId, int price_prec: int, int size_prec: int, bid_prices_raw: np.ndarray, ask_prices_raw: np.ndarray, bid_sizes_raw: np.ndarray, ask_sizes_raw: np.ndarray, ts_events: np.ndarray, ts_inits: np.ndarray) → list[QuoteTick]

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

InstrumentId

Return the tick instrument ID.

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

static list_from_capsule(capsule) → list[QuoteTick]

static to_dict(QuoteTick obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

to_pyo3(self) → nautilus_pyo3.QuoteTick

Return a pyo3 object from this legacy Cython instance.

  • Return type: nautilus_pyo3.QuoteTick

static to_pyo3_list(list quotes) → list[nautilus_pyo3.QuoteTick]

Return pyo3 Rust quotes converted from the given legacy Cython objects.

  • Parameters: quotes (list [QuoteTick ]) – The legacy Cython quotes to convert from.
  • Return type: list[nautilus_pyo3.QuoteTick]

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: QuoteTick.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: QuoteTick.ts_init

class TradeTick

Bases: Data

TradeTick(InstrumentId instrument_id, Price price, Quantity size, AggressorSide aggressor_side, TradeId trade_id, uint64_t ts_event, uint64_t ts_init) -> None

Represents a single trade tick in a market.

Contains information about a single unique trade which matched buyer and seller counterparties.

  • Parameters:
    • instrument_id (InstrumentId) – The trade instrument ID.
    • price (Price) – The traded price.
    • size (Quantity) – The traded size.
    • aggressor_side (AggressorSide) – The trade aggressor side.
    • trade_id (TradeId) – The trade match ID (assigned by the venue).
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Raises: ValueError – If trade_id is not a valid string.

aggressor_side

AggressorSide

Return the ticks aggressor side.

  • Return type: AggressorSide
  • Type: TradeTick.aggressor_side

static capsule_from_list(items)

static from_dict(dict values) → TradeTick

Return a trade tick from the given dict values.

  • Parameters: values (dict *[*str , object ]) – The values for initialization.
  • Return type: TradeTick

static from_pyo3(pyo3_trade) → TradeTick

Return a legacy Cython trade tick converted from the given pyo3 Rust object.

  • Parameters: pyo3_trade (nautilus_pyo3.TradeTick) – The pyo3 Rust trade tick to convert from.
  • Return type: TradeTick

static from_pyo3_list(list pyo3_trades) → list[TradeTick]

Return legacy Cython trades converted from the given pyo3 Rust objects.

  • Parameters: pyo3_trades (list *[*nautilus_pyo3.TradeTick ]) – The pyo3 Rust trades to convert from.
  • Return type: list[TradeTick]

static from_raw(InstrumentId instrument_id, int64_t price_raw, uint8_t price_prec, uint64_t size_raw, uint8_t size_prec, AggressorSide aggressor_side, TradeId trade_id, uint64_t ts_event, uint64_t ts_init) → TradeTick

Return a trade tick from the given raw values.

  • Parameters:
    • instrument_id (InstrumentId) – The trade instrument ID.
    • price_raw (int64_t) – The traded raw price (as a scaled fixed-point integer).
    • price_prec (uint8_t) – The traded price precision.
    • size_raw (uint64_t) – The traded raw size (as a scaled fixed-point integer).
    • size_prec (uint8_t) – The traded size precision.
    • aggressor_side (AggressorSide) – The trade aggressor side.
    • trade_id (TradeId) – The trade match ID (assigned by the venue).
    • ts_event (uint64_t) – UNIX timestamp (nanoseconds) when the tick event occurred.
    • ts_init (uint64_t) – UNIX timestamp (nanoseconds) when the data object was initialized.
  • Return type: TradeTick

static from_raw_arrays_to_list(InstrumentId instrument_id, uint8_t price_prec, uint8_t size_prec, int64_t[:] prices_raw, uint64_t[:] sizes_raw, uint8_t[:] aggressor_sides, list trade_ids, uint64_t[:] ts_events, uint64_t[:] ts_inits) → list[TradeTick]

classmethod fully_qualified_name(cls) → str

Return the fully qualified name for the Data class.

  • Return type: str

instrument_id

InstrumentId

Return the ticks instrument ID.

classmethod is_signal(cls, unicode name=u'') → bool

Determine if the current class is a signal type, optionally checking for a specific signal name.

  • Parameters: name (str , optional) – The specific signal name to check. If name not provided or if an empty string is passed, the method checks whether the class name indicates a general signal type. If name is provided, the method checks if the class name corresponds to that specific signal.
  • Returns: True if the class name matches the signal type or the specific signal name, otherwise False.
  • Return type: bool

static list_from_capsule(capsule) → list[TradeTick]

price

Price

Return the ticks price.

  • Return type: Price
  • Type: TradeTick.price

size

Quantity

Return the ticks size.

  • Return type: Quantity
  • Type: TradeTick.size

static to_dict(TradeTick obj)

Return a dictionary representation of this object.

  • Return type: dict[str, object]

to_pyo3(self) → nautilus_pyo3.TradeTick

Return a pyo3 object from this legacy Cython instance.

  • Return type: nautilus_pyo3.TradeTick

static to_pyo3_list(list trades) → list[nautilus_pyo3.TradeTick]

Return pyo3 Rust trades converted from the given legacy Cython objects.

  • Parameters: ticks (list [TradeTick ]) – The legacy Cython Rust trades to convert from.
  • Return type: list[nautilus_pyo3.TradeTick]

trade_id

InstrumentId

Return the ticks trade match ID.

  • Return type: Price
  • Type: TradeTick.trade_id

ts_event

int

UNIX timestamp (nanoseconds) when the data event occurred.

  • Return type: int
  • Type: TradeTick.ts_event

ts_init

int

UNIX timestamp (nanoseconds) when the object was initialized.

  • Return type: int
  • Type: TradeTick.ts_init

capsule_to_data(capsule) → Data

capsule_to_list(capsule) → list