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: RecordHeader
The common header.
ts_recv: u64
The capture-server-received timestamp expressed as number of nanoseconds since the UNIX epoch.
min_price_increment: i64
The minimum constant tick for the instrument in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
display_factor: i64
The multiplier to convert the venue’s display price to the conventional price.
expiration: u64
The 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: u64
The 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: i64
The 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: i64
The 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: i64
The differential value for price banding in units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
trading_reference_price: i64
The trading session settlement price on trading_reference_date
.
unit_of_measure_qty: i64
The 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: i64
The 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: i64
The 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: i64
The strike price of the option. Converted to units of 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
inst_attrib_value: i32
A bitmap of instrument eligibility attributes.
underlying_id: u32
The instrument_id
of the first underlying instrument.
raw_instrument_id: u32
The instrument ID assigned by the publisher. May be the same as instrument_id
.
market_depth_implied: i32
The implied book depth on the price level data feed.
market_depth: i32
The (outright) book depth on the price level data feed.
market_segment_id: u32
The market segment of the instrument.
max_trade_vol: u32
The maximum trading volume for the instrument.
min_lot_size: i32
The minimum order entry quantity for the instrument.
min_lot_size_block: i32
The minimum quantity required for a block trade of the instrument.
min_lot_size_round_lot: i32
The minimum quantity required for a round lot of the instrument. Multiples of this quantity are also round lots.
min_trade_vol: u32
The minimum trading volume for the instrument.
contract_multiplier: i32
The number of deliverables per instrument, i.e. peak days.
decay_quantity: i32
The quantity that a contract will decay daily, after decay_start_date
has
been reached.
original_contract_size: i32
The fixed contract value assigned to each instrument.
trading_reference_date: u16
The trading session date corresponding to the settlement price in
trading_reference_price
, in number of days since the UNIX epoch.
appl_id: i16
The channel ID assigned at the venue.
maturity_year: u16
The calendar year reflected in the instrument symbol.
decay_start_date: u16
The date at which a contract will begin to decay.
channel_id: u16
The 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_char
The classification of the instrument.
match_algorithm: c_char
The matching algorithm used for the instrument, typically FIFO.
md_security_trading_status: u8
The current trading state of the instrument.
main_fraction: u8
The price denominator of the main fraction.
price_display_format: u8
The number of digits to the right of the tick mark, to display fractional prices.
settl_price_type: u8
The type indicators for the settlement price, as a bitmap.
sub_fraction: u8
The price denominator of the sub fraction.
underlying_product: u8
The product complex of the instrument.
security_update_action: c_char
Indicates if the instrument definition has been added, modified, or deleted.
maturity_month: u8
The calendar month reflected in the instrument symbol.
maturity_day: u8
The calendar day reflected in the instrument symbol, or 0.
maturity_week: u8
The calendar week reflected in the instrument symbol, or 0.
user_defined_instrument: UserDefinedInstrument
Indicates if the instrument is user defined: Yes or No.
contract_multiplier_unit: i8
The type of contract_multiplier
. Either 1
for hours, or 2
for days.
flow_schedule_type: i8
The schedule for delivering electricity.
tick_rule: u8
The 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.