pub struct PolymarketDataClient { /* private fields */ }Expand description
Polymarket data client for live market data streaming.
Integrates with the Nautilus DataEngine to provide:
- Real-time order book snapshots and deltas via WebSocket
- Quote ticks synthesized from book data
- Trade ticks from last trade price messages
- Automatic instrument discovery from the Gamma API
Implementations§
Source§impl PolymarketDataClient
impl PolymarketDataClient
Sourcepub fn new(
client_id: ClientId,
config: PolymarketDataClientConfig,
gamma_client: PolymarketGammaHttpClient,
clob_public_client: PolymarketClobPublicClient,
data_api_client: PolymarketDataApiHttpClient,
ws_client: PolymarketWebSocketClient,
) -> Self
pub fn new( client_id: ClientId, config: PolymarketDataClientConfig, gamma_client: PolymarketGammaHttpClient, clob_public_client: PolymarketClobPublicClient, data_api_client: PolymarketDataApiHttpClient, ws_client: PolymarketWebSocketClient, ) -> Self
Creates a new PolymarketDataClient.
Sourcepub fn config(&self) -> &PolymarketDataClientConfig
pub fn config(&self) -> &PolymarketDataClientConfig
Returns a reference to the client configuration.
Sourcepub fn provider(&self) -> &PolymarketInstrumentProvider
pub fn provider(&self) -> &PolymarketInstrumentProvider
Returns a reference to the instrument provider.
Sourcepub fn add_instrument_filter(&mut self, filter: Arc<dyn InstrumentFilter>)
pub fn add_instrument_filter(&mut self, filter: Arc<dyn InstrumentFilter>)
Adds an instrument filter on the underlying provider.
Sourcepub fn is_connected(&self) -> bool
pub fn is_connected(&self) -> bool
Returns true when the client is connected.
Trait Implementations§
Source§impl DataClient for PolymarketDataClient
impl DataClient for PolymarketDataClient
Source§fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connects the client to the data provider. Read more
Source§fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnects the client from the data provider. Read more
Source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Returns
true if the client is currently connected.Source§fn is_disconnected(&self) -> bool
fn is_disconnected(&self) -> bool
Returns
true if the client is currently disconnected.Source§fn request_instruments(&self, request: RequestInstruments) -> Result<()>
fn request_instruments(&self, request: RequestInstruments) -> Result<()>
Requests a list of instruments from the provider for a given venue. Read more
Source§fn request_instrument(&self, request: RequestInstrument) -> Result<()>
fn request_instrument(&self, request: RequestInstrument) -> Result<()>
Requests detailed data for a single instrument. Read more
Source§fn request_book_snapshot(&self, request: RequestBookSnapshot) -> Result<()>
fn request_book_snapshot(&self, request: RequestBookSnapshot) -> Result<()>
Requests a snapshot of the order book for a specified instrument. Read more
Source§fn request_trades(&self, request: RequestTrades) -> Result<()>
fn request_trades(&self, request: RequestTrades) -> Result<()>
Requests historical or streaming trade data for a specified instrument. Read more
Source§fn subscribe_instruments(&mut self, _cmd: SubscribeInstruments) -> Result<()>
fn subscribe_instruments(&mut self, _cmd: SubscribeInstruments) -> Result<()>
Subscribes to instruments list for the specified venue. Read more
Source§fn subscribe_book_deltas(&mut self, cmd: SubscribeBookDeltas) -> Result<()>
fn subscribe_book_deltas(&mut self, cmd: SubscribeBookDeltas) -> Result<()>
Subscribes to order book delta updates for the specified instrument. Read more
Source§fn subscribe_quotes(&mut self, cmd: SubscribeQuotes) -> Result<()>
fn subscribe_quotes(&mut self, cmd: SubscribeQuotes) -> Result<()>
Subscribes to quote updates for the specified instrument. Read more
Source§fn subscribe_trades(&mut self, cmd: SubscribeTrades) -> Result<()>
fn subscribe_trades(&mut self, cmd: SubscribeTrades) -> Result<()>
Subscribes to trade updates for the specified instrument. Read more
Source§fn unsubscribe_book_deltas(&mut self, cmd: &UnsubscribeBookDeltas) -> Result<()>
fn unsubscribe_book_deltas(&mut self, cmd: &UnsubscribeBookDeltas) -> Result<()>
Unsubscribes from order book delta updates for the specified instrument. Read more
Source§fn unsubscribe_quotes(&mut self, cmd: &UnsubscribeQuotes) -> Result<()>
fn unsubscribe_quotes(&mut self, cmd: &UnsubscribeQuotes) -> Result<()>
Unsubscribes from quote updates for the specified instrument. Read more
Source§fn unsubscribe_trades(&mut self, cmd: &UnsubscribeTrades) -> Result<()>
fn unsubscribe_trades(&mut self, cmd: &UnsubscribeTrades) -> Result<()>
Unsubscribes from trade updates for the specified instrument. Read more
§fn subscribe(&mut self, cmd: SubscribeCustomData) -> Result<(), Error>
fn subscribe(&mut self, cmd: SubscribeCustomData) -> Result<(), Error>
Subscribes to custom data types according to the command. Read more
§fn subscribe_instrument(
&mut self,
cmd: SubscribeInstrument,
) -> Result<(), Error>
fn subscribe_instrument( &mut self, cmd: SubscribeInstrument, ) -> Result<(), Error>
Subscribes to data for a single instrument. Read more
§fn subscribe_book_depth10(
&mut self,
cmd: SubscribeBookDepth10,
) -> Result<(), Error>
fn subscribe_book_depth10( &mut self, cmd: SubscribeBookDepth10, ) -> Result<(), Error>
Subscribes to top 10 order book depth updates for the specified instrument. Read more
§fn subscribe_mark_prices(
&mut self,
cmd: SubscribeMarkPrices,
) -> Result<(), Error>
fn subscribe_mark_prices( &mut self, cmd: SubscribeMarkPrices, ) -> Result<(), Error>
Subscribes to mark price updates for the specified instrument. Read more
§fn subscribe_index_prices(
&mut self,
cmd: SubscribeIndexPrices,
) -> Result<(), Error>
fn subscribe_index_prices( &mut self, cmd: SubscribeIndexPrices, ) -> Result<(), Error>
Subscribes to index price updates for the specified instrument. Read more
§fn subscribe_funding_rates(
&mut self,
cmd: SubscribeFundingRates,
) -> Result<(), Error>
fn subscribe_funding_rates( &mut self, cmd: SubscribeFundingRates, ) -> Result<(), Error>
Subscribes to funding rate updates for the specified instrument. Read more
§fn subscribe_bars(&mut self, cmd: SubscribeBars) -> Result<(), Error>
fn subscribe_bars(&mut self, cmd: SubscribeBars) -> Result<(), Error>
Subscribes to bar updates of the specified bar type. Read more
§fn subscribe_instrument_status(
&mut self,
cmd: SubscribeInstrumentStatus,
) -> Result<(), Error>
fn subscribe_instrument_status( &mut self, cmd: SubscribeInstrumentStatus, ) -> Result<(), Error>
Subscribes to status updates for the specified instrument. Read more
§fn subscribe_instrument_close(
&mut self,
cmd: SubscribeInstrumentClose,
) -> Result<(), Error>
fn subscribe_instrument_close( &mut self, cmd: SubscribeInstrumentClose, ) -> Result<(), Error>
Subscribes to instrument close events for the specified instrument. Read more
§fn subscribe_option_greeks(
&mut self,
cmd: SubscribeOptionGreeks,
) -> Result<(), Error>
fn subscribe_option_greeks( &mut self, cmd: SubscribeOptionGreeks, ) -> Result<(), Error>
Subscribes to exchange-provided option greeks for the specified instrument. Read more
§fn subscribe_blocks(&mut self, cmd: SubscribeBlocks) -> Result<(), Error>
fn subscribe_blocks(&mut self, cmd: SubscribeBlocks) -> Result<(), Error>
Subscribes to blocks for a specified blockchain. Read more
§fn subscribe_pool(&mut self, cmd: SubscribePool) -> Result<(), Error>
fn subscribe_pool(&mut self, cmd: SubscribePool) -> Result<(), Error>
Subscribes to pool definition updates for a specified AMM pool. Read more
§fn subscribe_pool_swaps(&mut self, cmd: SubscribePoolSwaps) -> Result<(), Error>
fn subscribe_pool_swaps(&mut self, cmd: SubscribePoolSwaps) -> Result<(), Error>
Subscribes to pool swaps for a specified AMM pool. Read more
§fn subscribe_pool_liquidity_updates(
&mut self,
cmd: SubscribePoolLiquidityUpdates,
) -> Result<(), Error>
fn subscribe_pool_liquidity_updates( &mut self, cmd: SubscribePoolLiquidityUpdates, ) -> Result<(), Error>
Subscribes to pool liquidity updates for a specified AMM pool. Read more
§fn subscribe_pool_fee_collects(
&mut self,
cmd: SubscribePoolFeeCollects,
) -> Result<(), Error>
fn subscribe_pool_fee_collects( &mut self, cmd: SubscribePoolFeeCollects, ) -> Result<(), Error>
Subscribes to pool fee collects for a specified AMM pool. Read more
§fn subscribe_pool_flash_events(
&mut self,
cmd: SubscribePoolFlashEvents,
) -> Result<(), Error>
fn subscribe_pool_flash_events( &mut self, cmd: SubscribePoolFlashEvents, ) -> Result<(), Error>
Subscribes to pool flash loan events for a specified AMM pool. Read more
§fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>
fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>
Unsubscribes from custom data types according to the command. Read more
§fn unsubscribe_instruments(
&mut self,
cmd: &UnsubscribeInstruments,
) -> Result<(), Error>
fn unsubscribe_instruments( &mut self, cmd: &UnsubscribeInstruments, ) -> Result<(), Error>
Unsubscribes from instruments list for the specified venue. Read more
§fn unsubscribe_instrument(
&mut self,
cmd: &UnsubscribeInstrument,
) -> Result<(), Error>
fn unsubscribe_instrument( &mut self, cmd: &UnsubscribeInstrument, ) -> Result<(), Error>
Unsubscribes from data for the specified instrument. Read more
§fn unsubscribe_book_depth10(
&mut self,
cmd: &UnsubscribeBookDepth10,
) -> Result<(), Error>
fn unsubscribe_book_depth10( &mut self, cmd: &UnsubscribeBookDepth10, ) -> Result<(), Error>
Unsubscribes from top 10 order book depth updates for the specified instrument. Read more
§fn unsubscribe_mark_prices(
&mut self,
cmd: &UnsubscribeMarkPrices,
) -> Result<(), Error>
fn unsubscribe_mark_prices( &mut self, cmd: &UnsubscribeMarkPrices, ) -> Result<(), Error>
Unsubscribes from mark price updates for the specified instrument. Read more
§fn unsubscribe_index_prices(
&mut self,
cmd: &UnsubscribeIndexPrices,
) -> Result<(), Error>
fn unsubscribe_index_prices( &mut self, cmd: &UnsubscribeIndexPrices, ) -> Result<(), Error>
Unsubscribes from index price updates for the specified instrument. Read more
§fn unsubscribe_funding_rates(
&mut self,
cmd: &UnsubscribeFundingRates,
) -> Result<(), Error>
fn unsubscribe_funding_rates( &mut self, cmd: &UnsubscribeFundingRates, ) -> Result<(), Error>
Unsubscribes from funding rate updates for the specified instrument. Read more
§fn unsubscribe_bars(&mut self, cmd: &UnsubscribeBars) -> Result<(), Error>
fn unsubscribe_bars(&mut self, cmd: &UnsubscribeBars) -> Result<(), Error>
Unsubscribes from bar updates of the specified bar type. Read more
§fn unsubscribe_instrument_status(
&mut self,
cmd: &UnsubscribeInstrumentStatus,
) -> Result<(), Error>
fn unsubscribe_instrument_status( &mut self, cmd: &UnsubscribeInstrumentStatus, ) -> Result<(), Error>
Unsubscribes from instrument status updates for the specified instrument. Read more
§fn unsubscribe_instrument_close(
&mut self,
cmd: &UnsubscribeInstrumentClose,
) -> Result<(), Error>
fn unsubscribe_instrument_close( &mut self, cmd: &UnsubscribeInstrumentClose, ) -> Result<(), Error>
Unsubscribes from instrument close events for the specified instrument. Read more
§fn unsubscribe_option_greeks(
&mut self,
cmd: &UnsubscribeOptionGreeks,
) -> Result<(), Error>
fn unsubscribe_option_greeks( &mut self, cmd: &UnsubscribeOptionGreeks, ) -> Result<(), Error>
Unsubscribes from exchange-provided option greeks for the specified instrument. Read more
§fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>
fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>
Unsubscribes from blocks for a specified blockchain. Read more
§fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>
fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>
Unsubscribes from pool definition updates for a specified AMM pool. Read more
§fn unsubscribe_pool_swaps(
&mut self,
cmd: &UnsubscribePoolSwaps,
) -> Result<(), Error>
fn unsubscribe_pool_swaps( &mut self, cmd: &UnsubscribePoolSwaps, ) -> Result<(), Error>
Unsubscribes from swaps for a specified AMM pool. Read more
§fn unsubscribe_pool_liquidity_updates(
&mut self,
cmd: &UnsubscribePoolLiquidityUpdates,
) -> Result<(), Error>
fn unsubscribe_pool_liquidity_updates( &mut self, cmd: &UnsubscribePoolLiquidityUpdates, ) -> Result<(), Error>
Unsubscribes from pool liquidity updates for a specified AMM pool. Read more
§fn unsubscribe_pool_fee_collects(
&mut self,
cmd: &UnsubscribePoolFeeCollects,
) -> Result<(), Error>
fn unsubscribe_pool_fee_collects( &mut self, cmd: &UnsubscribePoolFeeCollects, ) -> Result<(), Error>
Unsubscribes from pool fee collects for a specified AMM pool. Read more
§fn unsubscribe_pool_flash_events(
&mut self,
cmd: &UnsubscribePoolFlashEvents,
) -> Result<(), Error>
fn unsubscribe_pool_flash_events( &mut self, cmd: &UnsubscribePoolFlashEvents, ) -> Result<(), Error>
Unsubscribes from pool flash loan events for a specified AMM pool. Read more
§fn request_data(&self, request: RequestCustomData) -> Result<(), Error>
fn request_data(&self, request: RequestCustomData) -> Result<(), Error>
Sends a custom data request to the provider. Read more
§fn request_quotes(&self, request: RequestQuotes) -> Result<(), Error>
fn request_quotes(&self, request: RequestQuotes) -> Result<(), Error>
Requests historical or streaming quote data for a specified instrument. Read more
§fn request_funding_rates(
&self,
request: RequestFundingRates,
) -> Result<(), Error>
fn request_funding_rates( &self, request: RequestFundingRates, ) -> Result<(), Error>
Requests historical or streaming funding rate data for a specified instrument. Read more
§fn request_forward_prices(
&self,
request: RequestForwardPrices,
) -> Result<(), Error>
fn request_forward_prices( &self, request: RequestForwardPrices, ) -> Result<(), Error>
Requests forward/underlying prices for derivatives instruments. Read more
§fn request_bars(&self, request: RequestBars) -> Result<(), Error>
fn request_bars(&self, request: RequestBars) -> Result<(), Error>
Requests historical or streaming bar data for a specified instrument and bar type. Read more
Auto Trait Implementations§
impl !Freeze for PolymarketDataClient
impl !RefUnwindSafe for PolymarketDataClient
impl Send for PolymarketDataClient
impl Sync for PolymarketDataClient
impl Unpin for PolymarketDataClient
impl UnsafeUnpin for PolymarketDataClient
impl !UnwindSafe for PolymarketDataClient
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
Mutably borrows from an owned value. Read more
§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>
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 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>
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