nautilus_model::events::position::changed

Struct PositionChanged

Source
#[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: TraderId

The trader ID associated with the event.

§strategy_id: StrategyId

The strategy ID associated with the event.

§instrument_id: InstrumentId

The instrument ID associated with the event.

§position_id: PositionId

The position ID associated with the event.

§account_id: AccountId

The account ID associated with the position.

§opening_order_id: ClientOrderId

The client order ID for the order which opened the position.

§entry: OrderSide

The position entry order side.

§side: PositionSide

The position side.

§signed_qty: f64

The current signed quantity (positive for position side LONG, negative for SHORT).

§quantity: Quantity

The current open quantity.

§peak_quantity: Quantity

The peak directional quantity reached by the position.

§last_qty: Quantity

The last fill quantity for the position.

§last_px: Price

The last fill price for the position.

§currency: Currency

The position quote currency.

§avg_px_open: f64

The average open price.

§avg_px_close: Option<f64>

The average close price.

§realized_return: f64

The realized return for the position.

§realized_pnl: Option<Money>

The realized PnL for the position (including commissions).

§unrealized_pnl: Money

The unrealized PnL for the position (including commissions).

§event_id: UUID4

The unique identifier for the event.

§ts_opened: UnixNanos

UNIX timestamp (nanoseconds) when the position was opened.

§ts_event: UnixNanos

UNIX timestamp (nanoseconds) when the event occurred.

§ts_init: UnixNanos

UNIX timestamp (nanoseconds) when the event was initialized.

Implementations§

Source§

impl PositionChanged

Source

pub fn create( position: &Position, fill: &OrderFilled, event_id: UUID4, ts_init: UnixNanos, ) -> PositionChanged

Trait Implementations§

Source§

impl Clone for PositionChanged

Source§

fn clone(&self) -> PositionChanged

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 Debug for PositionChanged

Source§

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

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

impl PartialEq for PositionChanged

Source§

fn eq(&self, other: &PositionChanged) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for PositionChanged

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> Ungil for T
where T: Send,