pub struct InstrumentDefMsgV2 {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
A definition of an instrument in DBN version 2. The record of the
Definition schema.
Fields§
§hd: RecordHeaderThe common header.
ts_recv: u64The capture-server-received timestamp expressed as the number of nanoseconds since the UNIX epoch.
See ts_recv.
min_price_increment: i64The minimum constant tick for the instrument where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
display_factor: i64The multiplier to convert the venue’s display price to the conventional price where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
expiration: u64The last eligible trade time expressed as the number of nanoseconds since the UNIX epoch.
Will be UNDEF_TIMESTAMP when null, such as for equities. Some publishers
only provide date-level granularity.
activation: u64The time of instrument activation expressed as the number of nanoseconds since the UNIX epoch.
Will be UNDEF_TIMESTAMP when null, such as for equities. Some publishers
only provide date-level granularity.
high_limit_price: i64The allowable high limit price for the trading day where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
low_limit_price: i64The allowable low limit price for the trading day where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
max_price_variation: i64The differential value for price banding where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
trading_reference_price: i64The trading session settlement price on trading_reference_date.
See Prices.
unit_of_measure_qty: i64The contract size for each instrument, in combination with unit_of_measure, where every
1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
min_price_increment_amount: i64The value currently under development by the venue where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
price_ratio: i64The value used for price calculation in spread and leg pricing where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
strike_price: i64The strike price of the option where every 1 unit corresponds to 1e-9, i.e. 1/1,000,000,000 or 0.000000001.
See Prices.
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 security type of the instrument, e.g. FUT for future or future spread.
See Security type.
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.
See Instrument class.
match_algorithm: c_charThe matching algorithm used for the instrument, typically FIFO.
See Matching algorithm.
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 capture-server-received timestamp into a datetime.
Returns None if ts_recv contains the sentinel for a null timestamp.
Sourcepub fn min_price_increment_f64(&self) -> f64
pub fn min_price_increment_f64(&self) -> f64
Converts the minimum constant tick to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn display_factor_f64(&self) -> f64
pub fn display_factor_f64(&self) -> f64
Converts the display factor to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn expiration(&self) -> Option<OffsetDateTime>
pub fn expiration(&self) -> Option<OffsetDateTime>
Parses the 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 time of instrument activation into a datetime.
Returns None if activation contains the sentinel for a null timestamp.
Sourcepub fn high_limit_price_f64(&self) -> f64
pub fn high_limit_price_f64(&self) -> f64
Converts the high limit price to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn low_limit_price_f64(&self) -> f64
pub fn low_limit_price_f64(&self) -> f64
Converts the low limit price to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn max_price_variation_f64(&self) -> f64
pub fn max_price_variation_f64(&self) -> f64
Converts the differential value for price banding to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn trading_reference_price_f64(&self) -> f64
pub fn trading_reference_price_f64(&self) -> f64
Converts the trading session settlement price to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn unit_of_measure_qty_f64(&self) -> f64
pub fn unit_of_measure_qty_f64(&self) -> f64
Converts the contract size for each instrument to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn min_price_increment_amount_f64(&self) -> f64
pub fn min_price_increment_amount_f64(&self) -> f64
Converts the min price increment amount to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn price_ratio_f64(&self) -> f64
pub fn price_ratio_f64(&self) -> f64
Converts the price ratio to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn strike_price_f64(&self) -> f64
pub fn strike_price_f64(&self) -> f64
Converts the strike price to a floating point.
UNDEF_PRICE will be converted to NaN.
Sourcepub fn currency(&self) -> Result<&str>
pub fn currency(&self) -> Result<&str>
Parses the currency into 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>
Parses the currency used for settlement into 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>
Parses the strategy type of the spread into 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>
Parses the raw symbol into a &str.
§Errors
This function returns an error if raw_symbol contains invalid UTF-8.
Sourcepub fn group(&self) -> Result<&str>
pub fn group(&self) -> Result<&str>
Parses the security group code into a &str.
§Errors
This function returns an error if group contains invalid UTF-8.
Sourcepub fn exchange(&self) -> Result<&str>
pub fn exchange(&self) -> Result<&str>
Parses the exchange into 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>
Parses the asset into 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>
Parses the CFI code into 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>
Parses the security type into 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>
Parses the unit of measure into 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>
Parses the underlying into 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>
Parses the strike price currency into a &str.
§Errors
This function returns an error if strike_price_currency contains invalid UTF-8.
Sourcepub fn instrument_class(&self) -> Result<InstrumentClass>
pub fn instrument_class(&self) -> Result<InstrumentClass>
Parses the instrument class into 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>
Parses the match algorithm into 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>
Parses the security update action into an enum.
§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 InstrumentDefMsgV2
impl AsRef<[u8]> for InstrumentDefMsgV2
Source§impl Clone for InstrumentDefMsgV2
impl Clone for InstrumentDefMsgV2
Source§fn clone(&self) -> InstrumentDefMsgV2
fn clone(&self) -> InstrumentDefMsgV2
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstrumentDefMsgV2
impl Debug for InstrumentDefMsgV2
Source§impl Default for InstrumentDefMsg
impl Default for InstrumentDefMsg
Source§impl<'de> Deserialize<'de> for InstrumentDefMsgV2
impl<'de> Deserialize<'de> for InstrumentDefMsgV2
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 From<&InstrumentDefMsgV1> for InstrumentDefMsg
impl From<&InstrumentDefMsgV1> for InstrumentDefMsg
Source§fn from(old: &InstrumentDefMsg) -> Self
fn from(old: &InstrumentDefMsg) -> Self
Source§impl From<&InstrumentDefMsgV2> for InstrumentDefMsg
impl From<&InstrumentDefMsgV2> for InstrumentDefMsg
Source§fn from(old: &InstrumentDefMsg) -> Self
fn from(old: &InstrumentDefMsg) -> Self
Source§impl HasRType for InstrumentDefMsgV2
impl HasRType for InstrumentDefMsgV2
Source§impl Hash for InstrumentDefMsgV2
impl Hash for InstrumentDefMsgV2
Source§impl InstrumentDefRec for InstrumentDefMsg
impl InstrumentDefRec for InstrumentDefMsg
Source§fn raw_symbol(&self) -> Result<&str>
fn raw_symbol(&self) -> Result<&str>
&str. Read moreSource§fn asset(&self) -> Result<&str>
fn asset(&self) -> Result<&str>
&str. Read moreSource§fn security_type(&self) -> Result<&str>
fn security_type(&self) -> Result<&str>
&str. Read moreSource§fn security_update_action(&self) -> Result<SecurityUpdateAction>
fn security_update_action(&self) -> Result<SecurityUpdateAction>
Source§fn channel_id(&self) -> u16
fn channel_id(&self) -> u16
Source§impl<'py> IntoPyObject<'py> for InstrumentDefMsg
Available on crate feature python only.Convert bare v2::InstrumentDefMsg to Python by wrapping with UNDEF_TIMESTAMP for ts_out.
impl<'py> IntoPyObject<'py> for InstrumentDefMsg
python only.Convert bare v2::InstrumentDefMsg to Python by wrapping with UNDEF_TIMESTAMP for ts_out.
Source§impl PartialEq for InstrumentDefMsgV2
impl PartialEq for InstrumentDefMsgV2
Source§impl PartialOrd for InstrumentDefMsgV2
impl PartialOrd for InstrumentDefMsgV2
Source§impl Record for InstrumentDefMsgV2
impl Record for InstrumentDefMsgV2
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 InstrumentDefMsgV2
impl RecordMut for InstrumentDefMsgV2
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 InstrumentDefMsgV2
impl Serialize for InstrumentDefMsgV2
Source§impl WritePyRepr for InstrumentDefMsgV2
Available on crate feature python only.
impl WritePyRepr for InstrumentDefMsgV2
python only.Source§fn write_py_repr(&self, s: &mut String) -> Result
fn write_py_repr(&self, s: &mut String) -> Result
s. Read moreSource§const SHOULD_FLATTEN: bool = false
const SHOULD_FLATTEN: bool = false
impl Copy for InstrumentDefMsgV2
impl Eq for InstrumentDefMsgV2
impl StructuralPartialEq for InstrumentDefMsgV2
Auto Trait Implementations§
impl Freeze for InstrumentDefMsgV2
impl RefUnwindSafe for InstrumentDefMsgV2
impl Send for InstrumentDefMsgV2
impl Sync for InstrumentDefMsgV2
impl Unpin for InstrumentDefMsgV2
impl UnsafeUnpin for InstrumentDefMsgV2
impl UnwindSafe for InstrumentDefMsgV2
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<'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.