Skip to main content

HurstVpinDirectional

Struct HurstVpinDirectional 

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

Directional strategy combining a Hurst-exponent regime filter on dollar bars with a VPIN (Volume-synchronized Probability of Informed Trading) signal derived from trade aggressor flow, with entry timing gated by the live quote stream.

The strategy is sampled on information-driven (value) bars rather than clock time, following Lopez de Prado (Advances in Financial Machine Learning, Chapter 2). The Hurst exponent is estimated by rescaled range over the window of dollar bar log returns. VPIN is averaged over completed volume buckets, with a signed variant carrying the net informed direction.

Implementations§

Source§

impl HurstVpinDirectional

Source

pub fn new(config: HurstVpinDirectionalConfig) -> Self

Creates a new HurstVpinDirectional instance from config.

Source§

impl HurstVpinDirectional

Source

pub fn config(&self) -> &StrategyConfig

Returns the strategy configuration.

Trait Implementations§

Source§

impl DataActor for HurstVpinDirectional

Source§

fn on_start(&mut self) -> Result<()>

Actions to be performed on start. Read more
Source§

fn on_stop(&mut self) -> Result<()>

Actions to be performed on stop. Read more
Source§

fn on_trade(&mut self, tick: &TradeTick) -> Result<()>

Actions to be performed when receiving a trade. Read more
Source§

fn on_bar(&mut self, bar: &Bar) -> Result<()>

Actions to be performed when receiving a bar. Read more
Source§

fn on_quote(&mut self, quote: &QuoteTick) -> Result<()>

Actions to be performed when receiving a quote. Read more
Source§

fn on_order_filled(&mut self, event: &OrderFilled) -> Result<()>

Actions to be performed when receiving an order filled event. Read more
Source§

fn on_order_canceled(&mut self, event: &OrderCanceled) -> Result<()>

Actions to be performed when receiving an order canceled event. Read more
Source§

fn on_reset(&mut self) -> Result<()>

Actions to be performed on reset. Read more
§

fn actor_id(&self) -> ActorId
where Self: DataActorNative,

Returns the actor ID.
§

fn trader_id(&self) -> Option<TraderId>
where Self: DataActorNative,

Returns the trader ID this actor is registered to.
§

fn is_registered(&self) -> bool
where Self: DataActorNative,

Returns whether the actor is registered with a trader.
§

fn config(&self) -> &DataActorConfig
where Self: DataActorNative,

Returns the actor configuration.
§

fn on_save(&self) -> Result<IndexMap<String, Vec<u8>>, Error>

Actions to be performed when the actor state is saved. Read more
§

fn on_load(&mut self, state: IndexMap<String, Vec<u8>>) -> Result<(), Error>

Actions to be performed when the actor state is loaded. Read more
§

fn on_resume(&mut self) -> Result<(), Error>

Actions to be performed on resume. Read more
§

fn on_dispose(&mut self) -> Result<(), Error>

Actions to be performed on dispose. Read more
§

fn on_degrade(&mut self) -> Result<(), Error>

Actions to be performed on degrade. Read more
§

fn on_fault(&mut self) -> Result<(), Error>

Actions to be performed on fault. Read more
§

fn on_time_event(&mut self, event: &TimeEvent) -> Result<(), Error>

Actions to be performed when receiving a time event. Read more
§

fn on_data(&mut self, data: &CustomData) -> Result<(), Error>

Actions to be performed when receiving custom data. Read more
§

fn on_signal(&mut self, signal: &Signal) -> Result<(), Error>

Actions to be performed when receiving a signal. Read more
§

fn on_instrument(&mut self, instrument: &InstrumentAny) -> Result<(), Error>

Actions to be performed when receiving an instrument. Read more
§

fn on_book_deltas(&mut self, deltas: &OrderBookDeltas) -> Result<(), Error>

Actions to be performed when receiving order book deltas. Read more
§

fn on_book(&mut self, order_book: &OrderBook) -> Result<(), Error>

Actions to be performed when receiving an order book. Read more
§

fn on_mark_price(&mut self, mark_price: &MarkPriceUpdate) -> Result<(), Error>

Actions to be performed when receiving a mark price update. Read more
§

fn on_index_price( &mut self, index_price: &IndexPriceUpdate, ) -> Result<(), Error>

Actions to be performed when receiving an index price update. Read more
§

fn on_funding_rate( &mut self, funding_rate: &FundingRateUpdate, ) -> Result<(), Error>

Actions to be performed when receiving a funding rate update. Read more
§

fn on_option_greeks(&mut self, greeks: &OptionGreeks) -> Result<(), Error>

Actions to be performed when receiving exchange-provided option greeks. Read more
§

fn on_option_chain(&mut self, slice: &OptionChainSlice) -> Result<(), Error>

Actions to be performed when receiving an option chain slice snapshot. Read more
§

fn on_instrument_status(&mut self, data: &InstrumentStatus) -> Result<(), Error>

Actions to be performed when receiving an instrument status update. Read more
§

fn on_instrument_close(&mut self, update: &InstrumentClose) -> Result<(), Error>

Actions to be performed when receiving an instrument close update. Read more
§

fn on_block(&mut self, block: &Block) -> Result<(), Error>

Actions to be performed when receiving a block. Read more
§

fn on_pool(&mut self, pool: &Pool) -> Result<(), Error>

Actions to be performed when receiving a pool. Read more
§

fn on_pool_swap(&mut self, swap: &PoolSwap) -> Result<(), Error>

Actions to be performed when receiving a pool swap. Read more
§

fn on_pool_liquidity_update( &mut self, update: &PoolLiquidityUpdate, ) -> Result<(), Error>

Actions to be performed when receiving a pool liquidity update. Read more
§

fn on_pool_fee_collect(&mut self, collect: &PoolFeeCollect) -> Result<(), Error>

Actions to be performed when receiving a pool fee collect event. Read more
§

fn on_pool_flash(&mut self, flash: &PoolFlash) -> Result<(), Error>

Actions to be performed when receiving a pool flash event. Read more
§

fn on_historical_data( &mut self, data: &(dyn Any + 'static), ) -> Result<(), Error>

Actions to be performed when receiving historical data. Read more
§

fn on_historical_book_deltas( &mut self, deltas: &[OrderBookDelta], ) -> Result<(), Error>

Actions to be performed when receiving historical book deltas. Read more
§

fn on_historical_book_depth( &mut self, depths: &[OrderBookDepth10], ) -> Result<(), Error>

Actions to be performed when receiving historical book depth. Read more
§

fn on_historical_quotes(&mut self, quotes: &[QuoteTick]) -> Result<(), Error>

Actions to be performed when receiving historical quotes. Read more
§

fn on_historical_trades(&mut self, trades: &[TradeTick]) -> Result<(), Error>

Actions to be performed when receiving historical trades. Read more
§

fn on_historical_bars(&mut self, bars: &[Bar]) -> Result<(), Error>

Actions to be performed when receiving historical bars. Read more
§

fn on_historical_mark_prices( &mut self, mark_prices: &[MarkPriceUpdate], ) -> Result<(), Error>

Actions to be performed when receiving historical mark prices. Read more
§

fn on_historical_index_prices( &mut self, index_prices: &[IndexPriceUpdate], ) -> Result<(), Error>

Actions to be performed when receiving historical index prices. Read more
§

fn on_historical_funding_rates( &mut self, funding_rates: &[FundingRateUpdate], ) -> Result<(), Error>

Actions to be performed when receiving historical funding rates. Read more
§

fn clock(&self) -> ClockApi<'_>
where Self: DataActorNative,

Returns the user-facing clock API.
§

fn cache(&self) -> CacheApi<'_>
where Self: DataActorNative,

Returns the user-facing cache API.
§

fn shutdown_system(&self, reason: Option<String>)
where Self: DataActorNative,

Sends a shutdown command to the system with an optional reason. Read more
§

fn publish_data(&self, data_type: &DataType, data: &CustomData)
where Self: DataActorNative,

Publishes data on the message bus under the topic derived from data_type. Read more
§

fn publish_signal(&self, name: &str, value: String, ts_event: UnixNanos)
where Self: DataActorNative,

Publishes a [Signal] constructed from name and value. Read more
§

fn add_synthetic(&self, synthetic: SyntheticInstrument) -> Result<(), Error>
where Self: DataActorNative,

Adds the synthetic instrument to the cache. Read more
§

fn update_synthetic(&self, synthetic: SyntheticInstrument) -> Result<(), Error>
where Self: DataActorNative,

Updates the synthetic instrument in the cache, replacing the existing entry. Read more
§

fn handle_time_event(&mut self, event: &TimeEvent)

Handles a received time event.
§

fn handle_data(&mut self, data: &CustomData)

Handles a received custom data point.
§

fn handle_signal(&mut self, signal: &Signal)

Handles a received signal.
§

fn handle_instrument(&mut self, instrument: &InstrumentAny)

Handles a received instrument.
§

fn handle_book_deltas(&mut self, deltas: &OrderBookDeltas)

Handles received order book deltas.
§

fn handle_book(&mut self, book: &OrderBook)

Handles a received order book reference.
§

fn handle_quote(&mut self, quote: &QuoteTick)
where Self: DataActorNative,

Handles a received quote.
§

fn handle_trade(&mut self, trade: &TradeTick)
where Self: DataActorNative,

Handles a received trade.
§

fn handle_bar(&mut self, bar: &Bar)
where Self: DataActorNative,

Handles a receiving bar.
§

fn handle_mark_price(&mut self, mark_price: &MarkPriceUpdate)

Handles a received mark price update.
§

fn handle_index_price(&mut self, index_price: &IndexPriceUpdate)

Handles a received index price update.
§

fn handle_funding_rate(&mut self, funding_rate: &FundingRateUpdate)

Handles a received funding rate update.
§

fn handle_option_greeks(&mut self, greeks: &OptionGreeks)

Handles a received option greeks update.
§

fn handle_option_chain(&mut self, slice: &OptionChainSlice)

Handles a received option chain slice snapshot.
§

fn handle_instrument_status(&mut self, status: &InstrumentStatus)

Handles a received instrument status.
§

fn handle_instrument_close(&mut self, close: &InstrumentClose)

Handles a received instrument close.
§

fn handle_order_filled(&mut self, event: &OrderFilled)
where Self: DataActorNative,

Handles a received order filled event.
§

fn handle_order_canceled(&mut self, event: &OrderCanceled)
where Self: DataActorNative,

Handles a received order canceled event.
§

fn handle_block(&mut self, block: &Block)

Handles a received block.
§

fn handle_pool(&mut self, pool: &Pool)

Handles a received pool definition update.
§

fn handle_pool_swap(&mut self, swap: &PoolSwap)

Handles a received pool swap.
§

fn handle_pool_liquidity_update(&mut self, update: &PoolLiquidityUpdate)

Handles a received pool liquidity update.
§

fn handle_pool_fee_collect(&mut self, collect: &PoolFeeCollect)

Handles a received pool fee collect.
§

fn handle_pool_flash(&mut self, flash: &PoolFlash)

Handles a received pool flash event.
§

fn handle_historical_data(&mut self, data: &(dyn Any + 'static))

Handles received historical data.
§

fn handle_data_response(&mut self, resp: &CustomDataResponse)

Handles a data response.
§

fn handle_instrument_response(&mut self, resp: &InstrumentResponse)

Handles an instrument response.
§

fn handle_instruments_response(&mut self, resp: &InstrumentsResponse)

Handles an instruments response.
§

fn handle_book_response(&mut self, resp: &BookResponse)

Handles a book response.
§

fn handle_book_deltas_response(&mut self, resp: &BookDeltasResponse)

Handles a book deltas response.
§

fn handle_book_depth_response(&mut self, resp: &BookDepthResponse)

Handles a book depth response.
§

fn handle_quotes_response(&mut self, resp: &QuotesResponse)
where Self: DataActorNative,

Handles a quotes response.
§

fn handle_trades_response(&mut self, resp: &TradesResponse)
where Self: DataActorNative,

Handles a trades response.
§

fn handle_bars_response(&mut self, resp: &BarsResponse)
where Self: DataActorNative,

Handles a bars response.
§

fn handle_funding_rates_response(&mut self, resp: &FundingRatesResponse)

Handles a funding rates response.
§

fn subscribe_data( &mut self, data_type: DataType, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming data_type data.
§

fn subscribe_signal(&mut self, name: &str, priority: Option<u32>)
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to [Signal] data by name. Read more
§

fn subscribe_quotes( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [QuoteTick] data for the instrument_id.
§

fn subscribe_instruments( &mut self, venue: Venue, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [InstrumentAny] data for the venue.
§

fn subscribe_instrument( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [InstrumentAny] data for the instrument_id.
§

fn subscribe_book_deltas( &mut self, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, managed: bool, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [OrderBookDeltas] data for the instrument_id.
§

fn subscribe_book_at_interval( &mut self, instrument_id: InstrumentId, book_type: BookType, depth: Option<NonZero<usize>>, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to [OrderBook] snapshots at a specified interval for the instrument_id.
§

fn subscribe_trades( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [TradeTick] data for the instrument_id.
§

fn subscribe_bars( &mut self, bar_type: BarType, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [Bar] data for the bar_type.
§

fn subscribe_mark_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [MarkPriceUpdate] data for the instrument_id.
§

fn subscribe_index_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [IndexPriceUpdate] data for the instrument_id.
§

fn subscribe_funding_rates( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [FundingRateUpdate] data for the instrument_id.
§

fn subscribe_option_greeks( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [OptionGreeks] data for the instrument_id.
§

fn subscribe_instrument_status( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [InstrumentStatus] data for the instrument_id.
§

fn subscribe_instrument_close( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [InstrumentClose] data for the instrument_id.
§

fn subscribe_option_chain( &mut self, series_id: OptionSeriesId, strike_range: StrikeRange, snapshot_interval_ms: Option<u64>, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [OptionChainSlice] snapshots for the option series_id. Read more
§

fn subscribe_order_fills(&mut self, instrument_id: InstrumentId)
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to [OrderFilled] events for the instrument_id.
§

fn subscribe_order_cancels(&mut self, instrument_id: InstrumentId)
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to [OrderCanceled] events for the instrument_id.
§

fn subscribe_blocks( &mut self, chain: Blockchain, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [Block] data for the chain.
§

fn subscribe_pool( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [Pool] definition updates for the AMM pool at the instrument_id.
§

fn subscribe_pool_swaps( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [PoolSwap] data for the instrument_id.
§

fn subscribe_pool_liquidity_updates( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [PoolLiquidityUpdate] data for the instrument_id.
§

fn subscribe_pool_fee_collects( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [PoolFeeCollect] data for the instrument_id.
§

fn subscribe_pool_flash_events( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Subscribe to streaming [PoolFlash] events for the given instrument_id.
§

fn unsubscribe_data( &mut self, data_type: DataType, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming data_type data.
§

fn unsubscribe_signal(&mut self, name: &str)
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from [Signal] data by name.
§

fn unsubscribe_instruments( &mut self, venue: Venue, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentAny] data for the venue.
§

fn unsubscribe_instrument( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentAny] data for the instrument_id.
§

fn unsubscribe_book_deltas( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [OrderBookDeltas] data for the instrument_id.
§

fn unsubscribe_book_at_interval( &mut self, instrument_id: InstrumentId, interval_ms: NonZero<usize>, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from [OrderBook] snapshots at a specified interval for the instrument_id.
§

fn unsubscribe_quotes( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [QuoteTick] data for the instrument_id.
§

fn unsubscribe_trades( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [TradeTick] data for the instrument_id.
§

fn unsubscribe_bars( &mut self, bar_type: BarType, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [Bar] data for the bar_type.
§

fn unsubscribe_mark_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [MarkPriceUpdate] data for the instrument_id.
§

fn unsubscribe_index_prices( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [IndexPriceUpdate] data for the instrument_id.
§

fn unsubscribe_funding_rates( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [FundingRateUpdate] data for the instrument_id.
§

fn unsubscribe_option_greeks( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [OptionGreeks] data for the instrument_id.
§

fn unsubscribe_instrument_status( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentStatus] data for the instrument_id.
§

fn unsubscribe_instrument_close( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [InstrumentClose] data for the instrument_id.
§

fn unsubscribe_option_chain( &mut self, series_id: OptionSeriesId, client_id: Option<ClientId>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [OptionChainSlice] snapshots for the option series_id.
§

fn unsubscribe_order_fills(&mut self, instrument_id: InstrumentId)
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from [OrderFilled] events for the instrument_id.
§

fn unsubscribe_order_cancels(&mut self, instrument_id: InstrumentId)
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from [OrderCanceled] events for the instrument_id.
§

fn unsubscribe_blocks( &mut self, chain: Blockchain, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [Block] data for the chain.
§

fn unsubscribe_pool( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [Pool] definition updates for the AMM pool at the instrument_id.
§

fn unsubscribe_pool_swaps( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [PoolSwap] data for the instrument_id.
§

fn unsubscribe_pool_liquidity_updates( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [PoolLiquidityUpdate] data for the instrument_id.
§

fn unsubscribe_pool_fee_collects( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [PoolFeeCollect] data for the instrument_id.
§

fn unsubscribe_pool_flash_events( &mut self, instrument_id: InstrumentId, client_id: Option<ClientId>, params: Option<Params>, )
where Self: DataActorNative + Sized + 'static + Debug,

Unsubscribe from streaming [PoolFlash] events for the given instrument_id.
§

fn request_data( &mut self, data_type: DataType, client_id: ClientId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical custom data of the given data_type. Read more
§

fn request_instrument( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [InstrumentResponse] data for the given instrument_id. Read more
§

fn request_instruments( &mut self, venue: Option<Venue>, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [InstrumentsResponse] definitions for the optional venue. Read more
§

fn request_book_snapshot( &mut self, instrument_id: InstrumentId, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request an [OrderBook] snapshot for the given instrument_id. Read more
§

fn request_book_deltas( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [OrderBookDelta] data for the given instrument_id. Read more
§

fn request_book_depth( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, depth: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [OrderBookDepth10] data for the given instrument_id. Read more
§

fn request_quotes( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [QuoteTick] data for the given instrument_id. Read more
§

fn request_trades( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [TradeTick] data for the given instrument_id. Read more
§

fn request_bars( &mut self, bar_type: BarType, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [Bar] data for the given bar_type. Read more
§

fn request_funding_rates( &mut self, instrument_id: InstrumentId, start: Option<DateTime<Utc>>, end: Option<DateTime<Utc>>, limit: Option<NonZero<usize>>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<UUID4, Error>
where Self: DataActorNative + Sized + 'static + Debug,

Request historical [FundingRateUpdate] data for the given instrument_id. Read more
Source§

impl DataActorNative for HurstVpinDirectional

Source§

fn core(&self) -> &DataActorCore

Returns the actor core.
Source§

fn core_mut(&mut self) -> &mut DataActorCore

Returns the mutable actor core.
§

fn clock_mut(&mut self) -> RefMut<'_, dyn Clock + 'static>

Returns the mutable clock borrow for the actor. Read more
§

fn clock_rc(&self) -> Rc<RefCell<dyn Clock>>

Returns a clone of the reference-counted clock. Read more
§

fn cache_ref(&self) -> Ref<'_, Cache>

Returns a read-only cache borrow. Read more
§

fn cache_rc(&self) -> Rc<RefCell<Cache>>

Returns a clone of the reference-counted cache. Read more
Source§

impl Debug for HurstVpinDirectional

Source§

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

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

impl Strategy for HurstVpinDirectional

Source§

fn on_position_opened(&mut self, event: PositionOpened)

Called when a position is opened. Read more
Source§

fn on_position_closed(&mut self, event: PositionClosed)

Called when a position is closed. Read more
Source§

fn on_order_rejected(&mut self, event: OrderRejected)

Called when an order is rejected by the venue. Read more
Source§

fn on_order_expired(&mut self, event: OrderExpired)

Called when an order expires. Read more
Source§

fn on_order_denied(&mut self, event: OrderDenied)

Called when an order is denied by the system. Read more
Source§

fn external_order_claims(&self) -> Option<Vec<InstrumentId>>

Returns the external order claims for this strategy. Read more
Source§

fn strategy_id(&self) -> Option<StrategyId>
where Self: StrategyNative,

Returns the runtime strategy ID, when configured or registered.
Source§

fn order(&self) -> OrderApi<'_>
where Self: StrategyNative,

Returns the user-facing order creation API.
Source§

fn portfolio(&self) -> PortfolioApi<'_>
where Self: StrategyNative,

Returns the user-facing portfolio read API.
Source§

fn submit_order( &mut self, order: OrderAny, position_id: Option<PositionId>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Submits an order. Read more
Source§

fn submit_order_list( &mut self, orders: Vec<OrderAny>, position_id: Option<PositionId>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Submits an order list. Read more
Source§

fn modify_order( &mut self, client_order_id: ClientOrderId, quantity: Option<Quantity>, price: Option<Price>, trigger_price: Option<Price>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Modifies an order. Read more
Source§

fn modify_orders( &mut self, updates: Vec<BatchModifyOrder>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Batch modifies multiple orders for the same instrument. Read more
Source§

fn cancel_order( &mut self, client_order_id: ClientOrderId, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Cancels an order. Read more
Source§

fn cancel_orders( &mut self, client_order_ids: Vec<ClientOrderId>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Batch cancels multiple orders for the same instrument. Read more
Source§

fn mark_order_pending_update(&mut self, order: &OrderAny) -> Result<bool>
where Self: StrategyNative,

Marks an order as pending update locally before the modify command leaves the strategy. Read more
Source§

fn mark_order_pending_cancel(&mut self, order: &OrderAny) -> Result<bool>
where Self: StrategyNative,

Marks an order as pending cancel locally before the cancel command leaves the strategy. Read more
Source§

fn generate_order_pending_update( &mut self, order: &OrderAny, ) -> OrderPendingUpdate
where Self: StrategyNative,

Generates an OrderPendingUpdate event for an order.
Source§

fn generate_order_pending_cancel( &mut self, order: &OrderAny, ) -> OrderPendingCancel
where Self: StrategyNative,

Generates an OrderPendingCancel event for an order.
Source§

fn cancel_all_orders( &mut self, instrument_id: InstrumentId, order_side: Option<OrderSide>, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Cancels all open orders for the given instrument. Read more
Source§

fn close_position( &mut self, position: &Position, client_id: Option<ClientId>, tags: Option<Vec<Ustr>>, time_in_force: Option<TimeInForce>, reduce_only: Option<bool>, quote_quantity: Option<bool>, ) -> Result<()>
where Self: StrategyNative,

Closes a position by submitting a market order for the opposite side. Read more
Source§

fn close_all_positions( &mut self, instrument_id: InstrumentId, position_side: Option<PositionSide>, client_id: Option<ClientId>, tags: Option<Vec<Ustr>>, time_in_force: Option<TimeInForce>, reduce_only: Option<bool>, quote_quantity: Option<bool>, ) -> Result<()>
where Self: StrategyNative,

Closes all open positions for the given instrument. Read more
Source§

fn query_account( &mut self, account_id: AccountId, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Queries account state from the execution client. Read more
Source§

fn query_order( &mut self, order: &OrderAny, client_id: Option<ClientId>, params: Option<Params>, ) -> Result<()>
where Self: StrategyNative,

Queries order state from the execution client. Read more
Source§

fn handle_order_event(&mut self, event: OrderEventAny)
where Self: StrategyNative,

Handles an order event, dispatching to the appropriate handler.
Source§

fn handle_position_event(&mut self, event: PositionEvent)
where Self: StrategyNative,

Handles a position event, dispatching to the appropriate handler.
Source§

fn on_start(&mut self) -> Result<()>
where Self: StrategyNative,

Called when the strategy is started. Read more
Source§

fn on_time_event(&mut self, event: &TimeEvent) -> Result<()>
where Self: StrategyNative,

Called when a time event is received. Read more
Source§

fn on_order_initialized(&mut self, event: OrderInitialized)

Called when an order is initialized. Read more
Source§

fn on_order_event(&mut self, event: OrderEventAny)

Called when any order event is received after the specific order handler runs. Read more
Source§

fn on_order_emulated(&mut self, event: OrderEmulated)

Called when an order is emulated. Read more
Source§

fn on_order_released(&mut self, event: OrderReleased)

Called when an order is released from emulation. Read more
Source§

fn on_order_submitted(&mut self, event: OrderSubmitted)

Called when an order is submitted to the venue. Read more
Source§

fn on_order_accepted(&mut self, event: OrderAccepted)

Called when an order is accepted by the venue. Read more
Source§

fn on_order_triggered(&mut self, event: OrderTriggered)

Called when an order is triggered. Read more
Source§

fn on_order_pending_update(&mut self, event: OrderPendingUpdate)

Called when an order modification is pending. Read more
Source§

fn on_order_pending_cancel(&mut self, event: OrderPendingCancel)

Called when an order cancellation is pending. Read more
Source§

fn on_order_modify_rejected(&mut self, event: OrderModifyRejected)

Called when an order modification is rejected. Read more
Source§

fn on_order_cancel_rejected(&mut self, event: OrderCancelRejected)

Called when an order cancellation is rejected. Read more
Source§

fn on_order_updated(&mut self, event: OrderUpdated)

Called when an order is updated. Read more
Source§

fn on_position_event(&mut self, event: PositionEvent)

Called after a position opened, changed, or closed handler runs. Read more
Source§

fn on_position_changed(&mut self, event: PositionChanged)

Called when a position is changed (quantity or price updated). Read more
Source§

fn on_market_exit(&mut self)

Called when a market exit has been initiated. Read more
Source§

fn post_market_exit(&mut self)

Called after a market exit has completed. Read more
Source§

fn is_exiting(&self) -> bool
where Self: StrategyNative,

Returns whether the strategy is currently executing a market exit. Read more
Source§

fn market_exit(&mut self) -> Result<()>
where Self: StrategyNative,

Initiates an iterative market exit for the strategy. Read more
Source§

fn check_market_exit(&mut self, _event: TimeEvent)
where Self: StrategyNative,

Checks if the market exit is complete and finalizes if so. Read more
Source§

fn finalize_market_exit(&mut self)
where Self: StrategyNative,

Finalizes the market exit process. Read more
Source§

fn cancel_market_exit(&mut self)
where Self: StrategyNative,

Cancels an active market exit without calling hooks. Read more
Source§

fn stop(&mut self) -> bool
where Self: StrategyNative,

Stops the strategy with optional managed stop behavior. Read more
Source§

fn deny_order(&mut self, order: &OrderAny, reason: Ustr)
where Self: StrategyNative,

Denies an order by generating an OrderDenied event. Read more
Source§

fn deny_order_list(&mut self, orders: &[OrderAny], reason: Ustr)
where Self: StrategyNative,

Denies all orders in an order list. Read more
Source§

fn set_gtd_expiry(&mut self, order: &OrderAny) -> Result<()>
where Self: StrategyNative,

Sets a GTD expiry timer for an order. Read more
Source§

fn cancel_gtd_expiry(&mut self, client_order_id: &ClientOrderId)
where Self: StrategyNative,

Cancels a GTD expiry timer for an order.
Source§

fn has_gtd_expiry_timer(&mut self, client_order_id: &ClientOrderId) -> bool
where Self: StrategyNative,

Checks if a GTD expiry timer exists for an order.
Source§

fn expire_gtd_order(&mut self, event: TimeEvent)
where Self: StrategyNative,

Handles GTD order expiry by canceling the order. Read more
Source§

fn reactivate_gtd_timers(&mut self)
where Self: StrategyNative,

Reactivates GTD timers for open orders on strategy start. Read more
Source§

impl StrategyNative for HurstVpinDirectional

Source§

fn strategy_core(&self) -> &StrategyCore

Returns the strategy core.
Source§

fn strategy_core_mut(&mut self) -> &mut StrategyCore

Returns the mutable strategy core.
Source§

fn order_factory(&mut self) -> RefMut<'_, OrderFactory>

Returns a mutable borrow of the order factory. Read more
Source§

fn order_factory_rc(&self) -> Rc<RefCell<OrderFactory>>

Returns a clone of the reference-counted order factory. Read more
Source§

fn portfolio_rc(&self) -> Rc<RefCell<Portfolio>>

Returns a clone of the reference-counted portfolio. Read more

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Actor for T
where T: DataActor + DataActorNative + Debug + 'static,

§

fn id(&self) -> Ustr

The unique identifier for the actor.
§

fn handle(&mut self, msg: &(dyn Any + 'static))

Handles the msg.
§

fn as_any(&self) -> &(dyn Any + 'static)

Returns a reference to self as Any, for downcasting support.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
where Self: Sized,

Returns a mutable reference to self as Any, for downcasting support. Read more
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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Component for T
where T: DataActor + DataActorNative + Debug + 'static,

§

fn component_id(&self) -> ComponentId

Returns the unique identifier for this component.
§

fn state(&self) -> ComponentState

Returns the current state of the component.
§

fn transition_state(&mut self, trigger: ComponentTrigger) -> Result<(), Error>

Transition the component with the state trigger. Read more
§

fn register( &mut self, trader_id: TraderId, clock: Rc<RefCell<dyn Clock>>, cache: Rc<RefCell<Cache>>, ) -> Result<(), Error>

Registers the component with a system. Read more
§

fn on_start(&mut self) -> Result<(), Error>

Actions to be performed on start. Read more
§

fn on_stop(&mut self) -> Result<(), Error>

Actions to be performed on stop. Read more
§

fn on_resume(&mut self) -> Result<(), Error>

Actions to be performed on resume. Read more
§

fn on_degrade(&mut self) -> Result<(), Error>

Actions to be performed on degrade. Read more
§

fn on_fault(&mut self) -> Result<(), Error>

Actions to be performed on fault. Read more
§

fn on_reset(&mut self) -> Result<(), Error>

Actions to be performed on reset. Read more
§

fn on_dispose(&mut self) -> Result<(), Error>

Actions to be performed on dispose. Read more
§

fn is_ready(&self) -> bool

Returns whether the component is ready.
§

fn not_running(&self) -> bool

Returns whether the component is not running.
§

fn is_running(&self) -> bool

Returns whether the component is running.
§

fn is_stopped(&self) -> bool

Returns whether the component is stopped.
§

fn is_degraded(&self) -> bool

Returns whether the component has been degraded.
§

fn is_faulted(&self) -> bool

Returns whether the component has been faulted.
§

fn is_disposed(&self) -> bool

Returns whether the component has been disposed.
§

fn initialize(&mut self) -> Result<(), Error>

Initializes the component. Read more
§

fn start(&mut self) -> Result<(), Error>

Starts the component. Read more
§

fn stop(&mut self) -> Result<(), Error>

Stops the component. Read more
§

fn resume(&mut self) -> Result<(), Error>

Resumes the component. Read more
§

fn degrade(&mut self) -> Result<(), Error>

Degrades the component. Read more
§

fn fault(&mut self) -> Result<(), Error>

Faults the component. Read more
§

fn reset(&mut self) -> Result<(), Error>

Resets the component to its initial state. Read more
§

fn dispose(&mut self) -> Result<(), Error>

Disposes of the component, releasing any resources. 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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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