Skip to main content

SpotTickerData

Struct SpotTickerData 

Source
pub struct SpotTickerData {
    pub symbol: String,
    pub last_price: f64,
    pub high_price_24h: f64,
    pub low_price_24h: f64,
    pub prev_price_24h: f64,
    pub volume_24h: f64,
    pub turnover_24h: f64,
    pub price_24h_pcnt: f64,
    pub usd_index_price: f64,
}
Expand description

Represents spot market ticker data for a trading pair on Bybit.

This struct provides real-time market data for spot trading pairs, including price, volume, and 24-hour statistics. While the file focuses on perpetual futures, this struct is included for spot market data, which can be relevant for bots hedging or arbitraging between spot and futures markets.

§Bybit API Reference

The Bybit API (https://bybit-exchange.github.io/docs/v5/market/ticker) provides ticker data for spot markets, including last price, 24-hour high/low, and volume. Fields are serialized as strings but deserialized to f64 for numerical computations.

§Perpetual Futures Context

Spot ticker data can be used in conjunction with perpetual futures to identify arbitrage opportunities (e.g., cash-and-carry trades) or to monitor funding rates, as spot prices often serve as a reference for futures pricing.

Fields§

§symbol: String

The trading pair symbol (e.g., “BTCUSDT”).

Identifies the market for which the ticker data applies. Bots use this to filter and process data for specific trading pairs.

§last_price: f64

The most recent trade price.

This is the price of the last executed trade in the spot market. For bots, this is critical for tracking market trends and triggering trades based on price thresholds.

§high_price_24h: f64

The highest price in the last 24 hours.

Useful for identifying price volatility and setting upper bounds for trading strategies. Bots can use this to detect breakout patterns or avoid trading during extreme volatility.

§low_price_24h: f64

The lowest price in the last 24 hours.

Helps bots assess support levels and market ranges. Combined with high_price_24h, it provides a 24-hour price range for volatility-based strategies.

§prev_price_24h: f64

The price 24 hours ago.

Used to calculate price changes over the last 24 hours. Bots can use this to compute momentum or mean-reversion signals.

§volume_24h: f64

The trading volume in the last 24 hours (in base currency).

Indicates market activity and liquidity. High volume suggests strong participation, which bots can use to prioritize liquid markets for lower slippage.

§turnover_24h: f64

The turnover (value of trades) in the last 24 hours (in quote currency).

Represents the total monetary value of trades. Bots can use this to gauge market interest and correlate with volume for liquidity analysis.

§price_24h_pcnt: f64

The percentage price change over the last 24 hours.

A key metric for momentum trading strategies. Bots can use this to identify trending markets or trigger mean-reversion trades based on overbought/oversold conditions.

§usd_index_price: f64

The USD index price for the asset.

Represents the fair value of the asset based on Bybit’s index calculation. For bots, this is critical for pricing perpetual futures, as it influences funding rates and mark prices.

Trait Implementations§

Source§

impl Clone for SpotTickerData

Source§

fn clone(&self) -> SpotTickerData

Returns a duplicate 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 SpotTickerData

Source§

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

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

impl<'de> Deserialize<'de> for SpotTickerData

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 Serialize for SpotTickerData

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

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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

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

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

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