Struct dbn::record::InstrumentDefMsg
source · #[repr(C)]pub struct InstrumentDefMsg {Show 61 fields
pub hd: RecordHeader,
pub ts_recv: u64,
pub min_price_increment: i64,
pub display_factor: i64,
pub expiration: u64,
pub activation: u64,
pub high_limit_price: i64,
pub low_limit_price: i64,
pub max_price_variation: i64,
pub trading_reference_price: i64,
pub unit_of_measure_qty: i64,
pub min_price_increment_amount: i64,
pub price_ratio: i64,
pub strike_price: i64,
pub inst_attrib_value: i32,
pub underlying_id: u32,
pub raw_instrument_id: u32,
pub market_depth_implied: i32,
pub market_depth: i32,
pub market_segment_id: u32,
pub max_trade_vol: u32,
pub min_lot_size: i32,
pub min_lot_size_block: i32,
pub min_lot_size_round_lot: i32,
pub min_trade_vol: u32,
pub contract_multiplier: i32,
pub decay_quantity: i32,
pub original_contract_size: i32,
pub trading_reference_date: u16,
pub appl_id: i16,
pub maturity_year: u16,
pub decay_start_date: u16,
pub channel_id: u16,
pub currency: [c_char; 4],
pub settl_currency: [c_char; 4],
pub secsubtype: [c_char; 6],
pub raw_symbol: [c_char; 71],
pub group: [c_char; 21],
pub exchange: [c_char; 5],
pub asset: [c_char; 7],
pub cfi: [c_char; 7],
pub security_type: [c_char; 7],
pub unit_of_measure: [c_char; 31],
pub underlying: [c_char; 21],
pub strike_price_currency: [c_char; 4],
pub instrument_class: c_char,
pub match_algorithm: c_char,
pub md_security_trading_status: u8,
pub main_fraction: u8,
pub price_display_format: u8,
pub settl_price_type: u8,
pub sub_fraction: u8,
pub underlying_product: u8,
pub security_update_action: c_char,
pub maturity_month: u8,
pub maturity_day: u8,
pub maturity_week: u8,
pub user_defined_instrument: UserDefinedInstrument,
pub contract_multiplier_unit: i8,
pub flow_schedule_type: i8,
pub tick_rule: u8,
/* private fields */
}Expand description
Definition of an instrument. The record of the
Definition schema.
Fields§
§hd: RecordHeaderThe common header.
ts_recv: u64The capture-server-received timestamp expressed as number of nanoseconds since the UNIX epoch.
min_price_increment: i64The minimum constant tick for the instrument in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
display_factor: i64The multiplier to convert the venue’s display price to the conventional price, in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
expiration: u64The last eligible trade time expressed as a number of nanoseconds since the
UNIX epoch. Will be crate::UNDEF_TIMESTAMP when null, such as for equities.
activation: u64The time of instrument activation expressed as a number of nanoseconds since the
UNIX epoch. Will be crate::UNDEF_TIMESTAMP when null, such as for equities.
high_limit_price: i64The allowable high limit price for the trading day in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
low_limit_price: i64The allowable low limit price for the trading day in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
max_price_variation: i64The differential value for price banding in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
trading_reference_price: i64The trading session settlement price on trading_reference_date.
unit_of_measure_qty: i64The contract size for each instrument, in combination with unit_of_measure, in units
of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
min_price_increment_amount: i64The value currently under development by the venue. Converted to units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
price_ratio: i64The value used for price calculation in spread and leg pricing in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
strike_price: i64The strike price of the option. Converted to units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
inst_attrib_value: i32A bitmap of instrument eligibility attributes.
underlying_id: u32The instrument_id of the first underlying instrument.
raw_instrument_id: u32The instrument ID assigned by the publisher. May be the same as instrument_id.
market_depth_implied: i32The implied book depth on the price level data feed.
market_depth: i32The (outright) book depth on the price level data feed.
market_segment_id: u32The market segment of the instrument.
max_trade_vol: u32The maximum trading volume for the instrument.
min_lot_size: i32The minimum order entry quantity for the instrument.
min_lot_size_block: i32The minimum quantity required for a block trade of the instrument.
min_lot_size_round_lot: i32The minimum quantity required for a round lot of the instrument. Multiples of this quantity are also round lots.
min_trade_vol: u32The minimum trading volume for the instrument.
contract_multiplier: i32The number of deliverables per instrument, i.e. peak days.
decay_quantity: i32The quantity that a contract will decay daily, after decay_start_date has
been reached.
original_contract_size: i32The fixed contract value assigned to each instrument.
trading_reference_date: u16The trading session date corresponding to the settlement price in
trading_reference_price, in number of days since the UNIX epoch.
appl_id: i16The channel ID assigned at the venue.
maturity_year: u16The calendar year reflected in the instrument symbol.
decay_start_date: u16The date at which a contract will begin to decay.
channel_id: u16The channel ID assigned by Databento as an incrementing integer starting at zero.
currency: [c_char; 4]The currency used for price fields.
settl_currency: [c_char; 4]The currency used for settlement, if different from currency.
secsubtype: [c_char; 6]The strategy type of the spread.
raw_symbol: [c_char; 71]The instrument raw symbol assigned by the publisher.
group: [c_char; 21]The security group code of the instrument.
exchange: [c_char; 5]The exchange used to identify the instrument.
asset: [c_char; 7]The underlying asset code (product code) of the instrument.
cfi: [c_char; 7]The ISO standard instrument categorization code.
security_type: [c_char; 7]The type of the instrument, e.g. FUT for future or future spread.
unit_of_measure: [c_char; 31]The unit of measure for the instrument’s original contract size, e.g. USD or LBS.
underlying: [c_char; 21]The symbol of the first underlying instrument.
strike_price_currency: [c_char; 4]The currency of strike_price.
instrument_class: c_charThe classification of the instrument.
match_algorithm: c_charThe matching algorithm used for the instrument, typically FIFO.
md_security_trading_status: u8The current trading state of the instrument.
main_fraction: u8The price denominator of the main fraction.
price_display_format: u8The number of digits to the right of the tick mark, to display fractional prices.
settl_price_type: u8The type indicators for the settlement price, as a bitmap.
sub_fraction: u8The price denominator of the sub fraction.
underlying_product: u8The product complex of the instrument.
security_update_action: c_charIndicates if the instrument definition has been added, modified, or deleted.
maturity_month: u8The calendar month reflected in the instrument symbol.
maturity_day: u8The calendar day reflected in the instrument symbol, or 0.
maturity_week: u8The calendar week reflected in the instrument symbol, or 0.
user_defined_instrument: UserDefinedInstrumentIndicates if the instrument is user defined: Yes or No.
contract_multiplier_unit: i8The type of contract_multiplier. Either 1 for hours, or 2 for days.
flow_schedule_type: i8The schedule for delivering electricity.
tick_rule: u8The tick rule of the spread.
Implementations§
source§impl InstrumentDefMsg
impl InstrumentDefMsg
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 expiration(&self) -> Option<OffsetDateTime>
pub fn expiration(&self) -> Option<OffsetDateTime>
Parses the raw last eligible trade time into a datetime. Returns None if
expiration contains the sentinel for a null timestamp.
sourcepub fn activation(&self) -> Option<OffsetDateTime>
pub fn activation(&self) -> Option<OffsetDateTime>
Parses the raw time of instrument action into a datetime. Returns None if
activation contains the sentinel for a null timestamp.
sourcepub fn currency(&self) -> Result<&str>
pub fn currency(&self) -> Result<&str>
Returns currency used for price fields as a &str.
§Errors
This function returns an error if currency contains invalid UTF-8.
sourcepub fn settl_currency(&self) -> Result<&str>
pub fn settl_currency(&self) -> Result<&str>
Returns currency used for settlement as a &str.
§Errors
This function returns an error if settl_currency contains invalid UTF-8.
sourcepub fn secsubtype(&self) -> Result<&str>
pub fn secsubtype(&self) -> Result<&str>
Returns the strategy type of the spread as a &str.
§Errors
This function returns an error if secsubtype contains invalid UTF-8.
sourcepub fn raw_symbol(&self) -> Result<&str>
pub fn raw_symbol(&self) -> Result<&str>
Returns the instrument raw symbol assigned by the publisher as a &str.
§Errors
This function returns an error if raw_symbol contains invalid UTF-8.
sourcepub fn exchange(&self) -> Result<&str>
pub fn exchange(&self) -> Result<&str>
Returns exchange used to identify the instrument as a &str.
§Errors
This function returns an error if exchange contains invalid UTF-8.
sourcepub fn asset(&self) -> Result<&str>
pub fn asset(&self) -> Result<&str>
Returns the underlying asset code (product code) of the instrument as a &str.
§Errors
This function returns an error if asset contains invalid UTF-8.
sourcepub fn cfi(&self) -> Result<&str>
pub fn cfi(&self) -> Result<&str>
Returns the ISO standard instrument categorization code as a &str.
§Errors
This function returns an error if cfi contains invalid UTF-8.
sourcepub fn security_type(&self) -> Result<&str>
pub fn security_type(&self) -> Result<&str>
Returns the type of the strument, e.g. FUT for future or future spread as
a &str.
§Errors
This function returns an error if security_type contains invalid UTF-8.
sourcepub fn unit_of_measure(&self) -> Result<&str>
pub fn unit_of_measure(&self) -> Result<&str>
Returns the unit of measure for the instrument’s original contract size, e.g.
USD or LBS, as a &str.
§Errors
This function returns an error if unit_of_measure contains invalid UTF-8.
sourcepub fn underlying(&self) -> Result<&str>
pub fn underlying(&self) -> Result<&str>
Returns the symbol of the first underlying instrument as a &str.
§Errors
This function returns an error if underlying contains invalid UTF-8.
sourcepub fn strike_price_currency(&self) -> Result<&str>
pub fn strike_price_currency(&self) -> Result<&str>
Returns the currency of strike_price as a &str.
§Errors
This function returns an error if strike_price_currency contains invalid UTF-8.
sourcepub fn group(&self) -> Result<&str>
pub fn group(&self) -> Result<&str>
Returns the security group code of the instrumnet as a &str.
§Errors
This function returns an error if group contains invalid UTF-8.
sourcepub fn instrument_class(&self) -> Result<InstrumentClass>
pub fn instrument_class(&self) -> Result<InstrumentClass>
Tries to convert the raw classification of the instrument to an enum.
§Errors
This function returns an error if the instrument_class field does not
contain a valid InstrumentClass.
sourcepub fn match_algorithm(&self) -> Result<MatchAlgorithm>
pub fn match_algorithm(&self) -> Result<MatchAlgorithm>
Tries to convert the raw matching algorithm used for the instrument to an enum.
§Errors
This function returns an error if the match_algorithm field does not
contain a valid MatchAlgorithm.
sourcepub fn security_update_action(&self) -> Result<SecurityUpdateAction>
pub fn security_update_action(&self) -> Result<SecurityUpdateAction>
Returns the action indicating whether the instrument definition has been added, modified, or deleted.
§Errors
This function returns an error if the security_update_action field does not
contain a valid SecurityUpdateAction.
Trait Implementations§
source§impl AsRef<[u8]> for InstrumentDefMsg
impl AsRef<[u8]> for InstrumentDefMsg
source§impl Clone for InstrumentDefMsg
impl Clone for InstrumentDefMsg
source§fn clone(&self) -> InstrumentDefMsg
fn clone(&self) -> InstrumentDefMsg
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for InstrumentDefMsg
impl Debug for InstrumentDefMsg
source§impl Default for InstrumentDefMsg
impl Default for InstrumentDefMsg
source§impl<'de> Deserialize<'de> for InstrumentDefMsg
impl<'de> Deserialize<'de> for InstrumentDefMsg
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 InstrumentDefMsg> for RecordRefEnum<'a>
impl<'a> From<&'a InstrumentDefMsg> for RecordRefEnum<'a>
source§fn from(rec: &'a InstrumentDefMsg) -> Self
fn from(rec: &'a InstrumentDefMsg) -> Self
source§impl From<&InstrumentDefMsgV1> for InstrumentDefMsgV2
impl From<&InstrumentDefMsgV1> for InstrumentDefMsgV2
source§fn from(old: &InstrumentDefMsgV1) -> Self
fn from(old: &InstrumentDefMsgV1) -> Self
source§impl From<InstrumentDefMsg> for RecordEnum
impl From<InstrumentDefMsg> for RecordEnum
source§fn from(rec: InstrumentDefMsg) -> Self
fn from(rec: InstrumentDefMsg) -> Self
source§impl HasRType for InstrumentDefMsg
impl HasRType for InstrumentDefMsg
source§impl Hash for InstrumentDefMsg
impl Hash for InstrumentDefMsg
source§impl PartialEq for InstrumentDefMsg
impl PartialEq for InstrumentDefMsg
source§fn eq(&self, other: &InstrumentDefMsg) -> bool
fn eq(&self, other: &InstrumentDefMsg) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd for InstrumentDefMsg
impl PartialOrd for InstrumentDefMsg
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 PyClass for InstrumentDefMsg
impl PyClass for InstrumentDefMsg
source§impl PyClassImpl for InstrumentDefMsg
impl PyClassImpl for InstrumentDefMsg
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<InstrumentDefMsg>
type ThreadChecker = SendablePyClass<InstrumentDefMsg>
§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
§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<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>
Available on crate feature python only.
impl PyClassNewTextSignature<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>
python only.fn new_text_signature(self) -> Option<&'static str>
source§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a InstrumentDefMsg
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a InstrumentDefMsg
source§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut InstrumentDefMsg
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut InstrumentDefMsg
source§impl PyMethods<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>
Available on crate feature python only.
impl PyMethods<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>
python only.fn py_methods(self) -> &'static PyClassItems
source§impl PyTypeInfo for InstrumentDefMsg
impl PyTypeInfo for InstrumentDefMsg
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 InstrumentDefMsg
impl Record for InstrumentDefMsg
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 InstrumentDefMsg
impl RecordMut for InstrumentDefMsg
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.source§impl Serialize for InstrumentDefMsg
impl Serialize for InstrumentDefMsg
impl Copy for InstrumentDefMsg
impl DerefToPyAny for InstrumentDefMsg
impl Eq for InstrumentDefMsg
impl StructuralPartialEq for InstrumentDefMsg
Auto Trait Implementations§
impl Freeze for InstrumentDefMsg
impl RefUnwindSafe for InstrumentDefMsg
impl Send for InstrumentDefMsg
impl Sync for InstrumentDefMsg
impl Unpin for InstrumentDefMsg
impl UnwindSafe for InstrumentDefMsg
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)