pub struct Position {
pub symbol: Symbol,
pub side: PositionSide,
pub quantity: Decimal,
pub entry_price: Decimal,
pub mark_price: Decimal,
pub leverage: Decimal,
pub unrealized_pnl: Decimal,
pub margin_mode: MarginMode,
}Expand description
A net position in one derivatives market.
Fields§
§symbol: SymbolThe market.
side: PositionSideLong or short.
quantity: DecimalPosition size in base units (magnitude, always positive).
entry_price: DecimalAverage entry price.
mark_price: DecimalCurrent mark price.
leverage: DecimalAccount leverage for this position.
unrealized_pnl: DecimalUnrealized PnL as reported by the venue.
margin_mode: MarginModeCross or isolated margin.
Implementations§
Source§impl Position
impl Position
Sourcepub fn signed_quantity(&self) -> Decimal
pub fn signed_quantity(&self) -> Decimal
Signed size: positive for long, negative for short.
Sourcepub fn computed_unrealized_pnl(&self) -> Decimal
pub fn computed_unrealized_pnl(&self) -> Decimal
Unrealized PnL computed from entry and mark prices:
(mark - entry) * signed_quantity. Used by the paper/replay exchanges
where the venue does not supply it.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Position
impl<'de> Deserialize<'de> for Position
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Position, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Position, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Position
Source§impl Serialize for Position
impl Serialize for Position
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Position
Auto Trait Implementations§
impl Freeze for Position
impl RefUnwindSafe for Position
impl Send for Position
impl Sync for Position
impl Unpin for Position
impl UnsafeUnpin for Position
impl UnwindSafe for Position
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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