#[repr(C)]pub struct PositionClosed {Show 26 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 closing_order_id: Option<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 duration: DurationNanos,
pub event_id: UUID4,
pub ts_opened: UnixNanos,
pub ts_closed: Option<UnixNanos>,
pub ts_event: UnixNanos,
pub ts_init: UnixNanos,
}Expand description
Represents an event where a position has been closed.
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.
closing_order_id: Option<ClientOrderId>The client order ID for the order which closed 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 closing 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).
duration: DurationNanosThe total open duration (nanoseconds).
event_id: UUID4The unique identifier for the event.
ts_opened: UnixNanosUNIX timestamp (nanoseconds) when the position was opened.
ts_closed: Option<UnixNanos>UNIX timestamp (nanoseconds) when the position was closed.
ts_event: UnixNanosUNIX timestamp (nanoseconds) when the event occurred.
ts_init: UnixNanosUNIX timestamp (nanoseconds) when the event was initialized.
Implementations§
Source§impl PositionClosed
impl PositionClosed
pub fn create( position: &Position, fill: &OrderFilled, event_id: UUID4, ts_init: UnixNanos, ) -> Self
Trait Implementations§
Source§impl CatalogPathPrefix for PositionClosed
impl CatalogPathPrefix for PositionClosed
Source§fn path_prefix() -> &'static str
fn path_prefix() -> &'static str
Source§impl Clone for PositionClosed
impl Clone for PositionClosed
Source§fn clone(&self) -> PositionClosed
fn clone(&self) -> PositionClosed
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PositionClosed
impl Debug for PositionClosed
Source§impl<'de> Deserialize<'de> for PositionClosed
impl<'de> Deserialize<'de> for PositionClosed
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'py> FromPyObject<'a, 'py> for PositionClosedwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for PositionClosedwhere
Self: Clone,
Source§impl HasTsInit for PositionClosed
impl HasTsInit for PositionClosed
Source§impl<'py> IntoPyObject<'py> for PositionClosed
impl<'py> IntoPyObject<'py> for PositionClosed
Source§type Target = PositionClosed
type Target = PositionClosed
Source§type Output = Bound<'py, <PositionClosed as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <PositionClosed as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialEq for PositionClosed
impl PartialEq for PositionClosed
Source§impl PyClass for PositionClosed
impl PyClass for PositionClosed
Source§impl PyClassImpl for PositionClosed
impl PyClassImpl for PositionClosed
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Represents an event where a position has been closed.
const RAW_DOC: &'static CStr = /// Represents an event where a position has been closed.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<PositionClosed as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<PositionClosed>
type Layout = <<PositionClosed as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<PositionClosed>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForPositionClosed
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyStubType for PositionClosed
impl PyStubType for PositionClosed
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for PositionClosed
impl PyTypeInfo for PositionClosed
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl Serialize for PositionClosed
impl Serialize for PositionClosed
impl DerefToPyAny for PositionClosed
impl StructuralPartialEq for PositionClosed
Auto Trait Implementations§
impl Freeze for PositionClosed
impl RefUnwindSafe for PositionClosed
impl Send for PositionClosed
impl Sync for PositionClosed
impl Unpin for PositionClosed
impl UnsafeUnpin for PositionClosed
impl UnwindSafe for PositionClosed
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,
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§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more