Skip to main content

ClosedOptionsPositionItem

Struct ClosedOptionsPositionItem 

Source
pub struct ClosedOptionsPositionItem {
    pub symbol: String,
    pub side: Side,
    pub total_open_fee: f64,
    pub delivery_fee: f64,
    pub total_close_fee: f64,
    pub qty: f64,
    pub close_time: u64,
    pub avg_exit_price: f64,
    pub delivery_price: f64,
    pub open_time: u64,
    pub avg_entry_price: f64,
    pub total_pnl: f64,
}
Expand description

Represents a single closed options position item.

Contains detailed information about a closed options position, including entry/exit prices, fees, P&L, and timing. Bots use this to analyze options trading performance, calculate profitability metrics, and audit trading history.

§Bybit API Reference

According to the Bybit V5 API documentation:

  • Fee and price are displayed with trailing zeroes up to 8 decimal places.
  • Positions are sorted by closeTime in descending order.
  • Only supports querying closed options positions in the last 6 months.

Fields§

§symbol: String

The options symbol name (e.g., “BTC-12JUN25-104019-C-USDT”).

Identifies the specific options contract. Bots use this to track performance by symbol and analyze specific options strategies.

§side: Side

The position side (“Buy” or “Sell”).

Indicates whether the position was long (Buy) or short (Sell) the option. Bots use this to calculate directional exposure and analyze strategy performance.

§total_open_fee: f64

The total open fee paid for the position.

The cumulative fee paid when opening the position. Bots use this to calculate net profitability and optimize for fee efficiency.

§delivery_fee: f64

The delivery fee (if applicable).

The fee charged for options delivery at expiration. Bots use this to account for expiration costs in options strategies.

§total_close_fee: f64

The total close fee paid for the position.

The cumulative fee paid when closing the position. Bots use this to calculate total transaction costs and net P&L.

§qty: f64

The position quantity.

The number of options contracts in the position. Bots use this to calculate position size and exposure.

§close_time: u64

The timestamp when the position was closed (in milliseconds).

Indicates when the position was closed. Bots use this for time-series analysis and to correlate position closures with market events.

§avg_exit_price: f64

The average exit price.

The average price at which the position was closed. Bots use this to calculate exit efficiency and compare against target exit prices.

§delivery_price: f64

The delivery price (if applicable).

The settlement price at options expiration. Bots use this to analyze expiration outcomes for options held to maturity.

§open_time: u64

The timestamp when the position was opened (in milliseconds).

Indicates when the position was initially opened. Bots use this to calculate position duration and analyze holding period returns.

§avg_entry_price: f64

The average entry price.

The average price at which the position was opened. Bots use this to calculate entry efficiency and compare against target entry prices.

§total_pnl: f64

The total profit and loss for the position.

The net P&L including all fees. Bots use this as the primary performance metric for options trading strategies.

Trait Implementations§

Source§

impl Clone for ClosedOptionsPositionItem

Source§

fn clone(&self) -> ClosedOptionsPositionItem

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 ClosedOptionsPositionItem

Source§

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

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

impl<'de> Deserialize<'de> for ClosedOptionsPositionItem

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 ClosedOptionsPositionItem

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