#[repr(C)]pub struct MboMsg {
pub hd: RecordHeader,
pub order_id: u64,
pub price: i64,
pub size: u32,
pub flags: FlagSet,
pub channel_id: u8,
pub action: c_char,
pub side: c_char,
pub ts_recv: u64,
pub ts_in_delta: i32,
pub sequence: u32,
}Expand description
A market-by-order (MBO) tick message. The record of the
Mbo schema.
Fields§
§hd: RecordHeaderThe common header.
order_id: u64The order ID assigned at the venue.
price: i64The 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: u32The order quantity.
flags: FlagSetA bit field indicating event end, message characteristics, and data quality. See
enums::flags for possible values.
channel_id: u8A channel ID within the venue.
action: c_charThe event action. Can be Add, Cancel, Modify, cleaR, Trade, Fill, or None.
side: c_charThe 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.
ts_recv: u64The capture-server-received timestamp expressed as number of nanoseconds since the UNIX epoch.
ts_in_delta: i32The delta of ts_recv - ts_exchange_send, max 2 seconds.
sequence: u32The message sequence number assigned at the venue.
Implementations§
Source§impl MboMsg
impl MboMsg
Sourcepub fn price_f64(&self) -> f64
pub fn price_f64(&self) -> f64
Returns the price as a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn ts_recv(&self) -> Option<OffsetDateTime>
pub fn ts_recv(&self) -> Option<OffsetDateTime>
Parses the raw interval 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 MboMsg
impl<'de> Deserialize<'de> for MboMsg
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 MboMsg> for RecordRefEnum<'a>
impl<'a> From<&'a MboMsg> for RecordRefEnum<'a>
Source§impl From<MboMsg> for RecordEnum
impl From<MboMsg> for RecordEnum
Source§impl PartialOrd for MboMsg
impl PartialOrd for MboMsg
Source§impl PyClassImpl for MboMsg
impl PyClassImpl for MboMsg
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
Source§type ThreadChecker = SendablePyClass<MboMsg>
type ThreadChecker = SendablePyClass<MboMsg>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
gil-refs only.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<MboMsg> for PyClassImplCollector<MboMsg>
Available on crate feature python only.
impl PyClassNewTextSignature<MboMsg> for PyClassImplCollector<MboMsg>
python only.fn new_text_signature(self) -> Option<&'static str>
Source§impl PyMethods<MboMsg> for PyClassImplCollector<MboMsg>
Available on crate feature python only.
impl PyMethods<MboMsg> for PyClassImplCollector<MboMsg>
python only.fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for MboMsg
impl PyTypeInfo for MboMsg
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Source§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
Source§impl Record for MboMsg
impl Record for MboMsg
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 MboMsg
impl RecordMut for MboMsg
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.