#[repr(C)]pub struct TradeMsg {
pub hd: RecordHeader,
pub price: i64,
pub size: u32,
pub action: c_char,
pub side: c_char,
pub flags: u8,
pub depth: u8,
pub ts_recv: u64,
pub ts_in_delta: i32,
pub sequence: u32,
}
Expand description
Market by price implementation with a book depth of 0. Equivalent to
MBP-0. The record of the Trades
schema.
Fields§
§hd: RecordHeader
The common header.
price: i64
The order price expressed as a signed integer where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
size: u32
The order quantity.
action: c_char
The event action. Always Trade in the trades schema.
side: c_char
The side that initiates the trade. Can be Ask for a sell aggressor in a trade, Bid for a buy aggressor in a trade, or None where no side is specified by the original source.
flags: u8
A combination of packet end with matching engine status. See
enums::flags
for possible values.
depth: u8
The depth of actual book change.
ts_recv: u64
The capture-server-received timestamp expressed as number of nanoseconds since the UNIX epoch.
ts_in_delta: i32
The delta of ts_recv - ts_exchange_send
, max 2 seconds.
sequence: u32
The message sequence number assigned at the venue.
Implementations§
source§impl TradeMsg
impl TradeMsg
sourcepub fn ts_recv(&self) -> Option<OffsetDateTime>
pub fn ts_recv(&self) -> Option<OffsetDateTime>
Parses the raw capture-server-received timestamp into a datetime. Returns None
if ts_recv
contains the sentinel for a null timestamp.
sourcepub fn ts_in_delta(&self) -> Duration
pub fn ts_in_delta(&self) -> Duration
Parses the raw ts_in_delta
—the delta of ts_recv - ts_exchange_send
—into a duration.
Trait Implementations§
source§impl<'de> Deserialize<'de> for TradeMsg
impl<'de> Deserialize<'de> for TradeMsg
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<'a> From<&'a TradeMsg> for RecordRefEnum<'a>
impl<'a> From<&'a TradeMsg> for RecordRefEnum<'a>
source§impl From<TradeMsg> for RecordEnum
impl From<TradeMsg> for RecordEnum
source§impl PartialEq for TradeMsg
impl PartialEq for TradeMsg
source§impl PartialOrd for TradeMsg
impl PartialOrd for TradeMsg
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PyClassImpl for TradeMsg
impl PyClassImpl for TradeMsg
source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
§type ThreadChecker = SendablePyClass<TradeMsg>
type ThreadChecker = SendablePyClass<TradeMsg>
§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn dict_offset() -> Option<Py_ssize_t>
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn weaklist_offset() -> Option<isize>
source§impl PyClassNewTextSignature<TradeMsg> for PyClassImplCollector<TradeMsg>
Available on crate feature python
only.
impl PyClassNewTextSignature<TradeMsg> for PyClassImplCollector<TradeMsg>
python
only.fn new_text_signature(self) -> Option<&'static str>
source§impl PyMethods<TradeMsg> for PyClassImplCollector<TradeMsg>
Available on crate feature python
only.
impl PyMethods<TradeMsg> for PyClassImplCollector<TradeMsg>
python
only.fn py_methods(self) -> &'static PyClassItems
source§impl PyTypeInfo for TradeMsg
impl PyTypeInfo for TradeMsg
§type AsRefTarget = PyCell<TradeMsg>
type AsRefTarget = PyCell<TradeMsg>
source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
source§fn type_object(py: Python<'_>) -> &PyType
fn type_object(py: Python<'_>) -> &PyType
source§fn is_type_of(object: &PyAny) -> bool
fn is_type_of(object: &PyAny) -> bool
object
is an instance of this type or a subclass of this type.source§fn is_exact_type_of(object: &PyAny) -> bool
fn is_exact_type_of(object: &PyAny) -> bool
object
is an instance of this type.source§impl Record for TradeMsg
impl Record for TradeMsg
source§fn header(&self) -> &RecordHeader
fn header(&self) -> &RecordHeader
RecordHeader
that comes at the beginning of all
record types.source§fn raw_index_ts(&self) -> u64
fn raw_index_ts(&self) -> u64
source§fn record_size(&self) -> usize
fn record_size(&self) -> usize
source§fn rtype(&self) -> Result<RType>
fn rtype(&self) -> Result<RType>
source§fn publisher(&self) -> Result<Publisher>
fn publisher(&self) -> Result<Publisher>
publisher_id
into an enum which is useful for
exhaustive pattern matching. Read moresource§fn index_ts(&self) -> Option<OffsetDateTime>
fn index_ts(&self) -> Option<OffsetDateTime>
None
if the primary
timestamp contains the sentinel value for a null timestamp. Read moresource§fn index_date(&self) -> Option<Date>
fn index_date(&self) -> Option<Date>
index_ts()
). Returns None
if the primary timestamp contains the
sentinel value for a null timestamp.source§impl RecordMut for TradeMsg
impl RecordMut for TradeMsg
source§fn header_mut(&mut self) -> &mut RecordHeader
fn header_mut(&mut self) -> &mut RecordHeader
RecordHeader
that comes at the beginning of
all record types.