Data

Defines the fundamental data types represented within the trading domain.

Bar

class Bar ( BarType bar_type , Price open , Price high , Price low , Price close , Quantity volume , uint64_t ts_event , uint64_t ts_init , bool check=False )

Bases: nautilus_trader.core.data.Data

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 ) – The UNIX timestamp (nanoseconds) when the data event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the data object was initialized.

  • check ( bool ) – If bar parameters should be checked valid.

Raises
  • ValueError – If check True and the high is not >= low .

  • ValueError – If check True and the high is not >= close .

  • ValueError – If check True and the low is not <= close .

close

Return the close price of the bar.

Returns

Price

static from_dict ( dict values ) Bar

Return a bar parsed from the given values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

Bar

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

high

Return the high price of the bar.

Returns

Price

is_single_price ( self ) bool

If the OHLC are all equal to a single price.

Returns

bool

low

Return the low price of the bar.

Returns

Price

open

Return the open price of the bar.

Returns

Price

static to_dict ( Bar obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

type

Return the type of the bar.

Returns

BarType

volume

Return the volume of the bar.

Returns

Quantity

class BarSpecification ( int step , BarAggregation aggregation , PriceType price_type )

Bases: object

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

Return the aggregation for the specification.

Returns

BarAggregation

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

bool – True if information aggregated, else False.

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

bool – True if threshold aggregated, else False.

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

bool – True if time aggregated, else False.

static from_str ( unicode value ) BarSpecification

Return a bar specification parsed from the given string.

Parameters

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

Examples

String format example is ‘200-TICK-MID’.

Returns

BarSpecification

Raises

ValueError – If value is not a valid string.

is_information_aggregated ( self ) bool

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

  • TICK_RUNS

  • VOLUME_RUNS

  • VALUE_RUNS

Returns

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

Returns

bool

is_time_aggregated ( self ) bool

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

  • SECOND

  • MINUTE

  • HOUR

  • DAY

  • WEEK

  • MONTH

Returns

bool

price_type

Return the price type for the specification.

Returns

PriceType

step

Return the step size for the specification.

Returns

int

class BarType ( InstrumentId instrument_id , BarSpecification bar_spec , AggregationSource aggregation_source=AggregationSource.EXTERNAL )

Bases: object

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

Parameters
  • instrument_id ( InstrumentId ) – The bar types instrument ID.

  • bar_spec ( BarSpecification ) – The bar types 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 data publisher.

Notes

It is expected that all bar aggregation methods other than time will be internally aggregated.

aggregation_source

Return the aggregation source for the bar type.

Returns

AggregationSource

static from_str ( unicode value ) BarType

Return a bar type parsed from the given string.

Parameters

value ( str ) – The bar type string to parse.

Returns

BarType

Raises

ValueError – If value is not a valid string.

instrument_id

Return the instrument ID for the bar type.

Returns

InstrumentId

is_externally_aggregated ( self ) bool

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

Returns

bool

is_internally_aggregated ( self ) bool

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

Returns

bool

spec

Return the specification for the bar type.

Returns

BarSpecification

Bet

class Bet ( price , Quantity quantity , OrderSide side )

Bases: object

Represents a bet “order” or “trade” in price space (not probability).

Parameters
  • price ( Price or decimal.Decimal ) – The price of the bet.

  • quantity ( Quantity ) – The size of the bet.

  • side (OrderSide { BUY , SELL }) – The side ( OrderSide.BUY = BACK, OrderSide.SELL = LAY ) of the bet.

Raises

ValueError – If price is less than 1.0.

cost ( self )
exposure ( self )
static from_dict ( dict values ) Bet

Return a Bet parsed from the given values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

Bet

liability ( self )
lose_payoff ( self )
stake ( self )
static to_dict ( Bet obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

win_payoff ( self )
nautilus_to_bet ( Price price , Quantity quantity , OrderSide side ) Bet

Nautilus considers orders/trades in probability space; convert back to betting prices/quantities.

Tick

class QuoteTick ( InstrumentId instrument_id , Price bid , Price ask , Quantity bid_size , Quantity ask_size , uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.core.data.Data

Represents a single quote tick in a financial market.

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

Parameters
  • instrument_id ( InstrumentId ) – The quotes instrument ID.

  • bid ( Price ) – The top of book bid price.

  • ask ( 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 ) – The UNIX timestamp (nanoseconds) when the tick event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the data object was initialized.

ask

Return the top of book ask price.

Returns

Price

ask_size

Return the top of book ask size.

Returns

Quantity

bid

Return the top of book bid price.

Returns

Price

bid_size

Return the top of book bid size.

Returns

Quantity

extract_price ( self , PriceType price_type ) Price

Extract the price for the given price type.

Parameters

price_type ( PriceType ) – The price type to extract.

Returns

Price

extract_volume ( self , PriceType price_type ) Quantity

Extract the volume for the given price type.

Parameters

price_type ( PriceType ) – The price type to extract.

Returns

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.

Returns

QuoteTick

static from_raw ( InstrumentId instrument_id , int64_t raw_bid , int64_t raw_ask , uint8_t price_prec , uint64_t raw_bid_size , uint64_t raw_ask_size , uint8_t 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.

  • raw_bid ( int64_t ) – The raw top of book bid price (as a scaled fixed precision integer).

  • raw_ask ( int64_t ) – The raw top of book ask price (as a scaled fixed precision integer).

  • price_prec ( uint8_t ) – The price precision.

  • raw_bid_size ( Quantity ) – The raw top of book bid size (as a scaled fixed precision integer).

  • raw_ask_size ( Quantity ) – The raw top of book ask size (as a scaled fixed precision integer).

  • size_prec ( uint8_t ) – The size precision.

  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the tick event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the data object was initialized.

Returns

QuoteTick

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

instrument_id

Return the tick instrument ID.

Returns

Price

static to_dict ( QuoteTick obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

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

Bases: nautilus_trader.core.data.Data

Represents a single trade tick in a financial 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 ) – The UNIX timestamp (nanoseconds) when the tick event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the data object was initialized.

Raises

ValueError – If trade_id is not a valid string.

aggressor_side

Return the ticks aggressor side.

Returns

AggressorSide

static from_dict ( dict values ) TradeTick

Return a trade tick from the given dict values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

TradeTick

static from_raw ( InstrumentId instrument_id , int64_t raw_price , uint8_t price_prec , uint64_t raw_size , 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.

  • raw_price ( int64_t ) – The traded raw price (as a scaled fixed precision integer).

  • price_prec ( uint8_t ) – The traded price precision.

  • raw_size ( uint64_t ) – The traded raw size (as a scaled fixed precision 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 ) – The UNIX timestamp (nanoseconds) when the tick event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the data object was initialized.

Returns

TradeTick

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

instrument_id

Return the ticks instrument ID.

Returns

Price

price

Return the ticks price.

Returns

Price

size

Return the ticks size.

Returns

Quantity

static to_dict ( TradeTick obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

trade_id

Return the ticks trade match ID.

Returns

Price

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

Ticker

class Ticker ( InstrumentId instrument_id , uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.core.data.Data

The base class for all tickers.

Parameters
  • instrument_id ( InstrumentId ) – The instrument ID.

  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the ticker event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the object was initialized.

Warning

This class should not be used directly, but through a concrete subclass.

static from_dict ( dict values ) Ticker

Return a ticker from the given dict values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

Ticker

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

instrument_id

The ticker instrument ID.

Returns

InstrumentId

static to_dict ( Ticker obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

Venue

class InstrumentClosePrice ( InstrumentId instrument_id , Price close_price , InstrumentCloseType close_type , uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.core.data.Data

Represents an instruments closing price at a venue.

Parameters
  • close_price ( Price ) – The closing price for the instrument.

  • close_type ( InstrumentCloseType ) – The type of closing price.

  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the close price event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the object was initialized.

close_price

The events close price.

Returns

Price

close_type

The events close type.

Returns

InstrumentCloseType

static from_dict ( dict values ) InstrumentClosePrice

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

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

InstrumentClosePrice

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

instrument_id

The event instrument ID.

Returns

InstrumentId

static to_dict ( InstrumentClosePrice obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

class InstrumentStatusUpdate ( InstrumentId instrument_id , InstrumentStatus status , uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.model.data.venue.StatusUpdate

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

Parameters
  • status ( InstrumentStatus ) – The instrument status.

  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the status update event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the object was initialized.

static from_dict ( dict values ) InstrumentStatusUpdate

Return an instrument status update from the given dict values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

InstrumentStatusUpdate

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

instrument_id

The event instrument ID.

Returns

InstrumentId

status

The events instrument status.

Returns

InstrumentStatus

static to_dict ( InstrumentStatusUpdate obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

class StatusUpdate ( uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.core.data.Data

The abstract base class for all status updates.

Parameters
  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the status update event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the object was initialized.

Warning

This class should not be used directly, but through a concrete subclass.

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

class VenueStatusUpdate ( Venue venue , VenueStatus status , uint64_t ts_event , uint64_t ts_init )

Bases: nautilus_trader.model.data.venue.StatusUpdate

Represents an update that indicates a change in a Venue status.

Parameters
  • status ( VenueStatus ) – The venue status.

  • ts_event ( uint64_t ) – The UNIX timestamp (nanoseconds) when the status update event occurred.

  • ts_init ( uint64_t ) – The UNIX timestamp (nanoseconds) when the object was initialized.

static from_dict ( dict values ) VenueStatusUpdate

Return a venue status update from the given dict values.

Parameters

values ( dict [ str , object ] ) – The values for initialization.

Returns

VenueStatusUpdate

classmethod fully_qualified_name ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

status

The events venue status.

Returns

VenueStatus

static to_dict ( VenueStatusUpdate obj )

Return a dictionary representation of this object.

Returns

dict[str, object]

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t

venue

The event venue.

Returns

Venue

Base

class DataType ( type type , dict metadata=None )

Bases: object

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 a subclass of Data .

  • 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 GenericData ( DataType data_type , Data data )

Bases: nautilus_trader.core.data.Data

Provides a generic data wrapper 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 ( type cls ) str

Return the fully qualified name for the Data class.

Returns

str

References

https://www.python.org/dev/peps/pep-3155/

ts_event

The UNIX timestamp (nanoseconds) when the data event occurred.

Returns

uint64_t

ts_init

The UNIX timestamp (nanoseconds) when the object was initialized.

Returns

uint64_t