Struct lfest::prelude::Position

source ·
pub struct Position<M>{ /* private fields */ }
Expand description

Describes the position information of the account. It assumes isolated margining mechanism, because the margin is directly associated with the position.

Implementations§

source§

impl<M> Position<M>

source

pub fn size(&self) -> M::PairedCurrency

The number of futures contracts making up the position. Denoted in the currency in which the size is valued. e.g.: XBTUSD has a contract size of 1 USD, so M::PairedCurrency is USD.

source

pub fn entry_price(&self) -> QuoteCurrency

The entry price of the position

source

pub fn position_margin(&self) -> M

The position margin of account, same denotation as wallet_balance

source

pub fn leverage(&self) -> Leverage

The position leverage,

source§

impl<M> Position<M>

source

pub fn implied_leverage(&self, price: QuoteCurrency) -> Decimal

Returns the implied leverage of the position based on the position value and the collateral backing it. It is computed by dividing the total value of the position by the amount of margin required to hold that position.

source

pub fn unrealized_pnl(&self, bid: QuoteCurrency, ask: QuoteCurrency) -> M

Return the positions unrealized profit and loss denoted in QUOTE when using linear futures, denoted in BASE when using inverse futures

Trait Implementations§

source§

impl<M> Clone for Position<M>

source§

fn clone(&self) -> Position<M>

Returns a copy 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<M> Debug for Position<M>

source§

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

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

impl<M> Default for Position<M>

source§

fn default() -> Position<M>

Returns the “default value” for a type. Read more
source§

impl<M> PartialEq for Position<M>

source§

fn eq(&self, other: &Position<M>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<M> Eq for Position<M>

source§

impl<M> StructuralPartialEq for Position<M>

Auto Trait Implementations§

§

impl<M> Freeze for Position<M>
where <M as Currency>::PairedCurrency: Freeze, M: Freeze,

§

impl<M> RefUnwindSafe for Position<M>

§

impl<M> Send for Position<M>

§

impl<M> Sync for Position<M>
where <M as Currency>::PairedCurrency: Sync, M: Sync,

§

impl<M> Unpin for Position<M>
where <M as Currency>::PairedCurrency: Unpin, M: Unpin,

§

impl<M> UnwindSafe for Position<M>

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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

§

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

§

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

§

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.