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
- 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 ifEXTERNAL
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
- 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 ) ¶
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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