Skip to main content

QuoteCache

Struct QuoteCache 

Source
pub struct QuoteCache { /* private fields */ }
Expand description

Quote cache that accumulates IB tick updates to build complete quotes.

Interactive Brokers sends individual tick price and size updates (bid price, ask price, bid size, ask size). This cache accumulates these updates until we have a complete quote with both bid and ask sides.

Implementations§

Source§

impl QuoteCache

Source

pub fn new() -> Self

Create a new quote cache.

Source

pub fn update_bid_price( &mut self, instrument_id: InstrumentId, price: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ) -> Option<QuoteTick>

Update bid price and return a complete quote if available.

Source

pub fn update_ask_price( &mut self, instrument_id: InstrumentId, price: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ) -> Option<QuoteTick>

Update ask price and return a complete quote if available.

Source

pub fn update_bid_size( &mut self, instrument_id: InstrumentId, size: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ) -> Option<QuoteTick>

Update bid size and return a complete quote if available.

Source

pub fn update_bid_size_with_filter( &mut self, instrument_id: InstrumentId, size: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ignore_size_only: bool, ) -> Option<QuoteTick>

Update bid size and return a complete quote if available, with optional filtering.

Source

pub fn update_ask_size( &mut self, instrument_id: InstrumentId, size: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ) -> Option<QuoteTick>

Update ask size and return a complete quote if available.

Source

pub fn update_ask_size_with_filter( &mut self, instrument_id: InstrumentId, size: f64, price_precision: u8, size_precision: u8, ts_event: UnixNanos, ts_init: UnixNanos, ignore_size_only: bool, ) -> Option<QuoteTick>

Update ask size and return a complete quote if available, with optional filtering.

Source

pub fn clear(&mut self)

Clear all cached quotes.

Source

pub fn get_last_quote(&self, instrument_id: &InstrumentId) -> Option<&QuoteTick>

Get the last complete quote for an instrument (if available).

Trait Implementations§

Source§

impl Debug for QuoteCache

Source§

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

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

impl Default for QuoteCache

Source§

fn default() -> QuoteCache

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

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

§

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