#[repr(C)]pub struct PositionChanged {Show 23 fields
pub trader_id: TraderId,
pub strategy_id: StrategyId,
pub instrument_id: InstrumentId,
pub position_id: PositionId,
pub account_id: AccountId,
pub opening_order_id: ClientOrderId,
pub entry: OrderSide,
pub side: PositionSide,
pub signed_qty: f64,
pub quantity: Quantity,
pub peak_quantity: Quantity,
pub last_qty: Quantity,
pub last_px: Price,
pub currency: Currency,
pub avg_px_open: f64,
pub avg_px_close: Option<f64>,
pub realized_return: f64,
pub realized_pnl: Option<Money>,
pub unrealized_pnl: Money,
pub event_id: UUID4,
pub ts_opened: UnixNanos,
pub ts_event: UnixNanos,
pub ts_init: UnixNanos,
}Expand description
Represents an event where a position has changed.
Fields§
§trader_id: TraderIdThe trader ID associated with the event.
strategy_id: StrategyIdThe strategy ID associated with the event.
instrument_id: InstrumentIdThe instrument ID associated with the event.
position_id: PositionIdThe position ID associated with the event.
account_id: AccountIdThe account ID associated with the position.
opening_order_id: ClientOrderIdThe client order ID for the order which opened the position.
entry: OrderSideThe position entry order side.
side: PositionSideThe position side.
signed_qty: f64The current signed quantity (positive for position side LONG, negative for SHORT).
quantity: QuantityThe current open quantity.
peak_quantity: QuantityThe peak directional quantity reached by the position.
last_qty: QuantityThe last fill quantity for the position.
last_px: PriceThe last fill price for the position.
currency: CurrencyThe position quote currency.
avg_px_open: f64The average open price.
avg_px_close: Option<f64>The average close price.
realized_return: f64The realized return for the position.
realized_pnl: Option<Money>The realized PnL for the position (including commissions).
unrealized_pnl: MoneyThe unrealized PnL for the position (including commissions).
event_id: UUID4The unique identifier for the event.
ts_opened: UnixNanosUNIX timestamp (nanoseconds) when the position was opened.
ts_event: UnixNanosUNIX timestamp (nanoseconds) when the event occurred.
ts_init: UnixNanosUNIX timestamp (nanoseconds) when the event was initialized.
Implementations§
Source§impl PositionChanged
impl PositionChanged
pub fn create( position: &Position, fill: &OrderFilled, event_id: UUID4, ts_init: UnixNanos, ) -> Self
Trait Implementations§
Source§impl Clone for PositionChanged
impl Clone for PositionChanged
Source§fn clone(&self) -> PositionChanged
fn clone(&self) -> PositionChanged
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PositionChanged
impl Debug for PositionChanged
Source§impl PartialEq for PositionChanged
impl PartialEq for PositionChanged
impl StructuralPartialEq for PositionChanged
Auto Trait Implementations§
impl Freeze for PositionChanged
impl RefUnwindSafe for PositionChanged
impl Send for PositionChanged
impl Sync for PositionChanged
impl Unpin for PositionChanged
impl UnwindSafe for PositionChanged
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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