#[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

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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

source§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for InstrumentDefMsg

source§

fn clone(&self) -> InstrumentDefMsg

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstrumentDefMsg

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for InstrumentDefMsg

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for InstrumentDefMsg

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'a> From<&'a InstrumentDefMsg> for RecordRefEnum<'a>

source§

fn from(rec: &'a InstrumentDefMsg) -> Self

Converts to this type from the input type.
source§

impl From<&InstrumentDefMsgV1> for InstrumentDefMsgV2

source§

fn from(old: &InstrumentDefMsgV1) -> Self

Converts to this type from the input type.
source§

impl From<InstrumentDefMsg> for RecordEnum

source§

fn from(rec: InstrumentDefMsg) -> Self

Converts to this type from the input type.
source§

impl HasRType for InstrumentDefMsg

source§

fn has_rtype(rtype: u8) -> bool

Returns true if rtype matches the value associated with the implementing type.
source§

impl Hash for InstrumentDefMsg

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoPy<Py<PyAny>> for InstrumentDefMsg

source§

fn into_py(self, py: Python<'_>) -> PyObject

Performs the conversion.
source§

impl PartialEq for InstrumentDefMsg

source§

fn eq(&self, other: &InstrumentDefMsg) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for InstrumentDefMsg

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl PyClass for InstrumentDefMsg

§

type Frozen = False

Whether the pyclass is frozen. Read more
source§

impl PyClassImpl for InstrumentDefMsg

source§

const IS_BASETYPE: bool = false

#[pyclass(subclass)]
source§

const IS_SUBCLASS: bool = false

#[pyclass(extends=…)]
source§

const IS_MAPPING: bool = false

#[pyclass(mapping)]
source§

const IS_SEQUENCE: bool = false

#[pyclass(sequence)]
§

type BaseType = PyAny

Base class
§

type ThreadChecker = SendablePyClass<InstrumentDefMsg>

This handles following two situations: Read more
§

type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild

Immutable or mutable
§

type Dict = PyClassDictSlot

Specify this class has #[pyclass(dict)] or not.
§

type WeakRef = PyClassDummySlot

Specify this class has #[pyclass(weakref)] or not.
§

type BaseNativeType = PyAny

The closest native ancestor. This is PyAny by default, and when you declare #[pyclass(extends=PyDict)], it’s PyDict.
source§

fn items_iter() -> PyClassItemsIter

source§

fn doc(py: Python<'_>) -> PyResult<&'static CStr>

Rendered class doc
source§

fn dict_offset() -> Option<Py_ssize_t>

source§

fn lazy_type_object() -> &'static LazyTypeObject<Self>

source§

fn weaklist_offset() -> Option<isize>

source§

impl PyClassNewTextSignature<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>

Available on crate feature python only.
source§

fn new_text_signature(self) -> Option<&'static str>

source§

impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a InstrumentDefMsg

§

type Holder = Option<PyRef<'py, InstrumentDefMsg>>

source§

fn extract(obj: &'py PyAny, holder: &'a mut Self::Holder) -> PyResult<Self>

source§

impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut InstrumentDefMsg

§

type Holder = Option<PyRefMut<'py, InstrumentDefMsg>>

source§

fn extract(obj: &'py PyAny, holder: &'a mut Self::Holder) -> PyResult<Self>

source§

impl PyMethods<InstrumentDefMsg> for PyClassImplCollector<InstrumentDefMsg>

Available on crate feature python only.
source§

fn py_methods(self) -> &'static PyClassItems

source§

impl PyTypeInfo for InstrumentDefMsg

§

type AsRefTarget = PyCell<InstrumentDefMsg>

Utility type to make Py::as_ref work.
source§

const NAME: &'static str = "InstrumentDefMsg"

Class name.
source§

const MODULE: Option<&'static str> = _

Module name, if any.
source§

fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject

Returns the PyTypeObject instance for this type.
source§

fn type_object(py: Python<'_>) -> &PyType

Returns the safe abstraction over the type object.
source§

fn is_type_of(object: &PyAny) -> bool

Checks if object is an instance of this type or a subclass of this type.
source§

fn is_exact_type_of(object: &PyAny) -> bool

Checks if object is an instance of this type.
source§

impl Record for InstrumentDefMsg

source§

fn header(&self) -> &RecordHeader

Returns a reference to the RecordHeader that comes at the beginning of all record types.
source§

fn raw_index_ts(&self) -> u64

Returns the raw primary timestamp for the record. Read more
source§

fn record_size(&self) -> usize

Returns the size of the record in bytes.
source§

fn rtype(&self) -> Result<RType>

Tries to convert the raw record type into an enum which is useful for exhaustive pattern matching. Read more
source§

fn publisher(&self) -> Result<Publisher>

Tries to convert the raw publisher_id into an enum which is useful for exhaustive pattern matching. Read more
source§

fn index_ts(&self) -> Option<OffsetDateTime>

Returns the primary timestamp for the record. Returns None if the primary timestamp contains the sentinel value for a null timestamp. Read more
source§

fn index_date(&self) -> Option<Date>

Returns the primary date for the record; the date component of the primary timestamp (index_ts()). Returns None if the primary timestamp contains the sentinel value for a null timestamp.
source§

impl RecordMut for InstrumentDefMsg

source§

fn header_mut(&mut self) -> &mut RecordHeader

Returns a mutable reference to the RecordHeader that comes at the beginning of all record types.
source§

impl Serialize for InstrumentDefMsg

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for InstrumentDefMsg

source§

impl Eq for InstrumentDefMsg

source§

impl StructuralPartialEq for InstrumentDefMsg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<'a, T> FromPyObject<'a> for T
where T: PyClass + Clone,

source§

fn extract(obj: &'a PyAny) -> Result<T, PyErr>

Extracts Self from the source PyObject.
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> PyErrArguments for T
where T: IntoPy<Py<PyAny>> + Send + Sync,

source§

fn arguments(self, py: Python<'_>) -> Py<PyAny>

Arguments for exception
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DbnEncodable for T
where T: HasRType + AsRef<[u8]> + CsvSerialize + Debug + JsonSerialize,

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> Ungil for T
where T: Send,