#[repr(C)]pub struct Mbp10Msg {
pub hd: RecordHeader,
pub price: i64,
pub size: u32,
pub action: c_char,
pub side: c_char,
pub flags: FlagSet,
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: RecordHeaderThe common header.
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.
action: c_charThe event action. Can be Add, Cancel, Modify, cleaR, or Trade.
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.
flags: FlagSetA bit field indicating event end, message characteristics, and data quality. See
enums::flags for possible values.
depth: u8The depth of actual book change.
ts_recv: u64The capture-server-received timestamp expressed as the 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.
levels: [BidAskPair; 10]The top 10 levels of the order book.
Implementations§
Source§impl Mbp10Msg
impl Mbp10Msg
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 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<'py> IntoPyObject<'py> for Mbp10Msg
impl<'py> IntoPyObject<'py> for Mbp10Msg
Source§type Output = Bound<'py, <Mbp10Msg as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <Mbp10Msg as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialOrd for Mbp10Msg
impl PartialOrd for Mbp10Msg
Source§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
Source§type ThreadChecker = SendablePyClass<Mbp10Msg>
type ThreadChecker = SendablePyClass<Mbp10Msg>
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
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
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Source§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
PyTypeInfo::type_objectPyTypeInfo::type_object.Source§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.Source§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_type_ofPyTypeInfo::is_type_of.Source§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_exact_type_ofPyTypeInfo::is_exact_type_of.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.impl Copy for Mbp10Msg
impl DerefToPyAny for Mbp10Msg
impl Eq for Mbp10Msg
impl StructuralPartialEq for Mbp10Msg
Auto Trait Implementations§
impl Freeze for Mbp10Msg
impl RefUnwindSafe for Mbp10Msg
impl Send for Mbp10Msg
impl Sync for Mbp10Msg
impl Unpin for Mbp10Msg
impl UnwindSafe for Mbp10Msg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromPyObject<'_> for T
impl<T> FromPyObject<'_> for T
Source§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
Source§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.