Skip to main content

HistoricalVolatilityRequest

Struct HistoricalVolatilityRequest 

Source
pub struct HistoricalVolatilityRequest<'a> {
    pub base_coin: Option<Cow<'a, str>>,
    pub period: Option<Cow<'a, str>>,
    pub start: Option<Cow<'a, str>>,
    pub end: Option<Cow<'a, str>>,
}
Expand description

Represents a request to fetch historical volatility data for a specific cryptocurrency on Bybit. Historical volatility measures the price fluctuation of an asset over a period, crucial for assessing risk in perpetual futures trading. In perpetual futures, which are contracts without an expiration date, volatility data helps traders predict price movements and adjust leverage. Trading bots use this to optimize entry/exit points or hedge positions.

Fields§

§base_coin: Option<Cow<'a, str>>

The base cryptocurrency (e.g., “BTC” for Bitcoin). On Bybit, this specifies the asset for which volatility is calculated. For perpetual futures, the base coin determines the trading pair (e.g., BTCUSD). Bots must validate this field to ensure the pair is supported, as an invalid coin will result in an API error.

§period: Option<Cow<'a, str>>

The time period for volatility calculation (e.g., “7” for 7 days). This defines the lookback period for the volatility metric, typically in days. In perpetual futures, shorter periods (e.g., 7 days) are used for short-term trading strategies, while longer periods (e.g., 30 days) suit risk management. Bots should handle this flexibly to adapt to different trading horizons.

§start: Option<Cow<'a, str>>

The start time for the data range (e.g., “2023-01-01T00:00:00Z”). Specifies the beginning of the historical data window. In perpetual futures, accurate time ranges are critical for backtesting strategies. Bots must ensure the format complies with Bybit’s API (ISO 8601) to avoid errors.

§end: Option<Cow<'a, str>>

The end time for the data range (e.g., “2023-12-31T23:59:59Z”). Marks the end of the historical data window. This is essential for defining precise data sets in trading algorithms. Bots should validate that end is later than start to prevent invalid requests.

Implementations§

Source§

impl<'a> HistoricalVolatilityRequest<'a>

Source

pub fn default() -> HistoricalVolatilityRequest<'a>

Creates a default request with BTC as the base coin. Useful for quick initialization in trading bots, but developers should override fields as needed for specific strategies.

Source

pub fn new( base_coin: Option<&'a str>, period: Option<&'a str>, start: Option<&'a str>, end: Option<&'a str>, ) -> HistoricalVolatilityRequest<'a>

Constructs a new request with specified parameters. Allows fine-grained control over the volatility query, enabling bots to target specific coins and timeframes.

Trait Implementations§

Source§

impl<'a> Clone for HistoricalVolatilityRequest<'a>

Source§

fn clone(&self) -> HistoricalVolatilityRequest<'a>

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<'a> Default for HistoricalVolatilityRequest<'a>

Source§

fn default() -> HistoricalVolatilityRequest<'a>

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