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.
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
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
§type AsRefTarget = PyCell<InstrumentDefMsg>
type AsRefTarget = PyCell<InstrumentDefMsg>
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 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.