pub struct InstrumentDefMsgV1 {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 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; 22],
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 strike_price: i64,
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: SecurityUpdateAction,
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 1. 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.
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; 22]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.
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.
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: SecurityUpdateActionIndicates 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 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 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 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.
Trait Implementations§
Source§impl AsRef<[u8]> for InstrumentDefMsgV1
impl AsRef<[u8]> for InstrumentDefMsgV1
Source§impl Clone for InstrumentDefMsgV1
impl Clone for InstrumentDefMsgV1
Source§fn clone(&self) -> InstrumentDefMsgV1
fn clone(&self) -> InstrumentDefMsgV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstrumentDefMsgV1
impl Debug for InstrumentDefMsgV1
Source§impl Default for InstrumentDefMsg
impl Default for InstrumentDefMsg
Source§impl<'de> Deserialize<'de> for InstrumentDefMsgV1
impl<'de> Deserialize<'de> for InstrumentDefMsgV1
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<&InstrumentDefMsgV1> for InstrumentDefMsg
impl From<&InstrumentDefMsgV1> for InstrumentDefMsg
Source§fn from(old: &InstrumentDefMsg) -> Self
fn from(old: &InstrumentDefMsg) -> Self
Source§impl HasRType for InstrumentDefMsgV1
impl HasRType for InstrumentDefMsgV1
Source§impl Hash for InstrumentDefMsgV1
impl Hash for InstrumentDefMsgV1
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 InstrumentDefMsgV1
impl<'py> IntoPyObject<'py> for InstrumentDefMsgV1
Source§type Target = InstrumentDefMsgV1
type Target = InstrumentDefMsgV1
Source§type Output = Bound<'py, <InstrumentDefMsgV1 as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <InstrumentDefMsgV1 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 PartialEq for InstrumentDefMsgV1
impl PartialEq for InstrumentDefMsgV1
Source§impl PartialOrd for InstrumentDefMsgV1
impl PartialOrd for InstrumentDefMsgV1
Source§impl PyClass for InstrumentDefMsgV1
impl PyClass for InstrumentDefMsgV1
Source§impl PyClassImpl for InstrumentDefMsgV1
impl PyClassImpl for InstrumentDefMsgV1
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§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// A definition of an instrument in DBN version 1. The record of the
/// [`Definition`](crate::Schema::Definition) schema.
const RAW_DOC: &'static CStr = /// A definition of an instrument in DBN version 1. The record of the /// [`Definition`](crate::Schema::Definition) schema.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<InstrumentDefMsgV1>
type ThreadChecker = SendablePyClass<InstrumentDefMsgV1>
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 for InstrumentDefMsg
Available on crate feature python only.
impl PyClassNewTextSignature for InstrumentDefMsg
python only.const TEXT_SIGNATURE: &'static str = "(publisher_id, instrument_id, ts_event, ts_recv, min_price_increment, display_factor, expiration, activation, high_limit_price, low_limit_price, max_price_variation, trading_reference_price, unit_of_measure_qty, min_price_increment_amount, price_ratio, inst_attrib_value, underlying_id, raw_instrument_id, market_depth_implied, market_depth, market_segment_id, max_trade_vol, min_lot_size, min_lot_size_block, min_lot_size_round_lot, min_trade_vol, contract_multiplier, decay_quantity, original_contract_size, trading_reference_date, appl_id, maturity_year, decay_start_date, channel_id, currency, settl_currency, secsubtype, raw_symbol, group, exchange, asset, cfi, security_type, unit_of_measure, underlying, strike_price_currency, instrument_class, strike_price, match_algorithm, md_security_trading_status, main_fraction, price_display_format, settl_price_type, sub_fraction, underlying_product, security_update_action, maturity_month, maturity_day, maturity_week, user_defined_instrument, contract_multiplier_unit, flow_schedule_type, tick_rule)"
Source§impl PyMethods<InstrumentDefMsgV1> for PyClassImplCollector<InstrumentDefMsg>
Available on crate feature python only.
impl PyMethods<InstrumentDefMsgV1> for PyClassImplCollector<InstrumentDefMsg>
python only.fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for InstrumentDefMsgV1
impl PyTypeInfo for InstrumentDefMsgV1
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§impl Record for InstrumentDefMsgV1
impl Record for InstrumentDefMsgV1
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 InstrumentDefMsgV1
impl RecordMut for InstrumentDefMsgV1
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 InstrumentDefMsgV1
impl Serialize for InstrumentDefMsgV1
Source§impl WritePyRepr for InstrumentDefMsgV1
Available on crate feature python only.
impl WritePyRepr for InstrumentDefMsgV1
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 InstrumentDefMsgV1
impl DerefToPyAny for InstrumentDefMsgV1
impl Eq for InstrumentDefMsgV1
impl ExtractPyClassWithClone for InstrumentDefMsgV1
impl StructuralPartialEq for InstrumentDefMsgV1
Auto Trait Implementations§
impl Freeze for InstrumentDefMsgV1
impl RefUnwindSafe for InstrumentDefMsgV1
impl Send for InstrumentDefMsgV1
impl Sync for InstrumentDefMsgV1
impl Unpin for InstrumentDefMsgV1
impl UnsafeUnpin for InstrumentDefMsgV1
impl UnwindSafe for InstrumentDefMsgV1
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<'a, 'py, T> FromPyObject<'a, 'py> for T
impl<'a, 'py, T> FromPyObject<'a, 'py> for T
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.