#[repr(C)]pub struct Mbp10Msg {
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,
pub levels: [BidAskPair; 10],
}
Expand description
Market by price implementation with a known book depth of 10. The record of the
Mbp10
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. Can be Add, Cancel, Modify, cleaR, or Trade.
side: c_char
The side that initiates the event. Can be Ask for a sell order (or sell aggressor in a trade), Bid for a buy order (or 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.
levels: [BidAskPair; 10]
The top 10 levels of the order book.
Implementations§
source§impl Mbp10Msg
impl Mbp10Msg
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 Mbp10Msg
impl<'de> Deserialize<'de> for Mbp10Msg
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 Mbp10Msg> for RecordRefEnum<'a>
impl<'a> From<&'a Mbp10Msg> for RecordRefEnum<'a>
source§impl From<Mbp10Msg> for RecordEnum
impl From<Mbp10Msg> for RecordEnum
source§impl PartialEq for Mbp10Msg
impl PartialEq for Mbp10Msg
source§impl PartialOrd for Mbp10Msg
impl PartialOrd for Mbp10Msg
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 Mbp10Msg
impl PyClassImpl for Mbp10Msg
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<Mbp10Msg>
type ThreadChecker = SendablePyClass<Mbp10Msg>
§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<Mbp10Msg> for PyClassImplCollector<Mbp10Msg>
Available on crate feature python
only.
impl PyClassNewTextSignature<Mbp10Msg> for PyClassImplCollector<Mbp10Msg>
python
only.fn new_text_signature(self) -> Option<&'static str>
source§impl PyMethods<Mbp10Msg> for PyClassImplCollector<Mbp10Msg>
Available on crate feature python
only.
impl PyMethods<Mbp10Msg> for PyClassImplCollector<Mbp10Msg>
python
only.fn py_methods(self) -> &'static PyClassItems
source§impl PyTypeInfo for Mbp10Msg
impl PyTypeInfo for Mbp10Msg
§type AsRefTarget = PyCell<Mbp10Msg>
type AsRefTarget = PyCell<Mbp10Msg>
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 Mbp10Msg
impl Record for Mbp10Msg
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 Mbp10Msg
impl RecordMut for Mbp10Msg
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.