pub struct InteractiveBrokersInstrumentProviderConfig {
pub symbology_method: SymbologyMethod,
pub load_ids: HashSet<InstrumentId>,
pub load_contracts: Vec<Value>,
pub min_expiry_days: Option<u32>,
pub max_expiry_days: Option<u32>,
pub build_options_chain: Option<bool>,
pub build_futures_chain: Option<bool>,
pub cache_validity_days: Option<u32>,
pub convert_exchange_to_mic_venue: bool,
pub symbol_to_mic_venue: HashMap<String, String>,
pub filter_sec_types: HashSet<String>,
pub cache_path: Option<String>,
}Expand description
Configuration for Interactive Brokers instrument provider.
Fields§
§symbology_method: SymbologyMethodSymbology method to use for instrument ID conversion.
load_ids: HashSet<InstrumentId>Instrument IDs to load on startup.
load_contracts: Vec<Value>IB contracts to load on startup.
min_expiry_days: Option<u32>Minimum expiry days for options and futures chains.
max_expiry_days: Option<u32>Maximum expiry days for options and futures chains.
build_options_chain: Option<bool>Whether to build full options chain.
build_futures_chain: Option<bool>Whether to build full futures chain.
cache_validity_days: Option<u32>Cache validity in days (None means no caching).
convert_exchange_to_mic_venue: boolWhether to convert IB exchanges to MIC venues.
symbol_to_mic_venue: HashMap<String, String>Symbol to MIC venue mapping override.
filter_sec_types: HashSet<String>Security types to filter out.
cache_path: Option<String>Path to cache file for persistent instrument caching (equivalent to pickle_path in Python). If provided, instruments will be cached to disk and loaded from cache if still valid.
Implementations§
Source§impl InteractiveBrokersInstrumentProviderConfig
impl InteractiveBrokersInstrumentProviderConfig
Sourcepub fn builder() -> InteractiveBrokersInstrumentProviderConfigBuilder
pub fn builder() -> InteractiveBrokersInstrumentProviderConfigBuilder
Create an instance of InteractiveBrokersInstrumentProviderConfig using the builder syntax
Trait Implementations§
Source§impl Clone for InteractiveBrokersInstrumentProviderConfig
impl Clone for InteractiveBrokersInstrumentProviderConfig
Source§fn clone(&self) -> InteractiveBrokersInstrumentProviderConfig
fn clone(&self) -> InteractiveBrokersInstrumentProviderConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for InteractiveBrokersInstrumentProviderConfig
impl<'de> Deserialize<'de> for InteractiveBrokersInstrumentProviderConfig
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, 'py> FromPyObject<'a, 'py> for InteractiveBrokersInstrumentProviderConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for InteractiveBrokersInstrumentProviderConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for InteractiveBrokersInstrumentProviderConfig
impl<'py> IntoPyObject<'py> for InteractiveBrokersInstrumentProviderConfig
Source§type Target = InteractiveBrokersInstrumentProviderConfig
type Target = InteractiveBrokersInstrumentProviderConfig
Source§type Output = Bound<'py, <InteractiveBrokersInstrumentProviderConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <InteractiveBrokersInstrumentProviderConfig 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 PyClass for InteractiveBrokersInstrumentProviderConfig
impl PyClass for InteractiveBrokersInstrumentProviderConfig
Source§impl PyClassBaseType for InteractiveBrokersInstrumentProviderConfig
impl PyClassBaseType for InteractiveBrokersInstrumentProviderConfig
type LayoutAsBase = <InteractiveBrokersInstrumentProviderConfig as PyClassImpl>::Layout
type BaseNativeType = <InteractiveBrokersInstrumentProviderConfig as PyClassImpl>::BaseNativeType
type Initializer = PyClassInitializer<InteractiveBrokersInstrumentProviderConfig>
type PyClassMutability = <InteractiveBrokersInstrumentProviderConfig as PyClassImpl>::PyClassMutability
Source§type Layout<T: PyClassImpl> = <<InteractiveBrokersInstrumentProviderConfig as PyClassBaseType>::BaseNativeType as PyClassBaseType>::Layout<T>
type Layout<T: PyClassImpl> = <<InteractiveBrokersInstrumentProviderConfig as PyClassBaseType>::BaseNativeType as PyClassBaseType>::Layout<T>
Source§impl PyClassImpl for InteractiveBrokersInstrumentProviderConfig
impl PyClassImpl for InteractiveBrokersInstrumentProviderConfig
Source§const IS_BASETYPE: bool = true
const IS_BASETYPE: bool = true
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 = /// Configuration for Interactive Brokers instrument provider.
const RAW_DOC: &'static CStr = /// Configuration for Interactive Brokers instrument provider.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<InteractiveBrokersInstrumentProviderConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<InteractiveBrokersInstrumentProviderConfig>
type Layout = <<InteractiveBrokersInstrumentProviderConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<InteractiveBrokersInstrumentProviderConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForInteractiveBrokersInstrumentProviderConfig
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 lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for InteractiveBrokersInstrumentProviderConfig
impl PyClassNewTextSignature for InteractiveBrokersInstrumentProviderConfig
const TEXT_SIGNATURE: &'static str = "(symbology_method=None, load_ids=None, load_contracts=None, min_expiry_days=None, max_expiry_days=None, build_options_chain=None, build_futures_chain=None, cache_validity_days=None, convert_exchange_to_mic_venue=None, symbol_to_mic_venue=None, filter_sec_types=None, cache_path=None)"
Source§impl PyTypeInfo for InteractiveBrokersInstrumentProviderConfig
impl PyTypeInfo for InteractiveBrokersInstrumentProviderConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.impl DerefToPyAny for InteractiveBrokersInstrumentProviderConfig
Auto Trait Implementations§
impl Freeze for InteractiveBrokersInstrumentProviderConfig
impl RefUnwindSafe for InteractiveBrokersInstrumentProviderConfig
impl Send for InteractiveBrokersInstrumentProviderConfig
impl Sync for InteractiveBrokersInstrumentProviderConfig
impl Unpin for InteractiveBrokersInstrumentProviderConfig
impl UnsafeUnpin for InteractiveBrokersInstrumentProviderConfig
impl UnwindSafe for InteractiveBrokersInstrumentProviderConfig
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§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.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more