pub struct PublicTrade {
pub id: SmolStr,
pub price: Decimal,
pub amount: Decimal,
pub side: Option<Side>,
}Expand description
Normalised Barter PublicTrade model.
Uses SmolStr for id to avoid heap allocation for typical trade IDs
(up to 23 bytes on 64-bit systems are stored inline). Exceptions that
heap-allocate: Bitmex UUIDs (36 bytes), Kraken composite IDs (~34 bytes).
§Side Field
The side field indicates the taker/aggressor side of the trade:
Some(Side::Buy): Taker was buying (lifted the ask)Some(Side::Sell): Taker was selling (hit the bid)None: Side information not available from the data source
Crypto exchanges typically provide side info. Equities feeds (e.g., Alpaca IEX/SIP) often do not, as consolidated tape data doesn’t include aggressor information.
Fields§
§id: SmolStr§price: Decimal§amount: Decimal§side: Option<Side>Trait Implementations§
Source§impl Clone for PublicTrade
impl Clone for PublicTrade
Source§fn clone(&self) -> PublicTrade
fn clone(&self) -> PublicTrade
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PublicTrade
impl Debug for PublicTrade
Source§impl<'de> Deserialize<'de> for PublicTrade
impl<'de> Deserialize<'de> for PublicTrade
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<PublicTrade> for DataKind
impl From<PublicTrade> for DataKind
Source§fn from(value: PublicTrade) -> Self
fn from(value: PublicTrade) -> Self
Converts to this type from the input type.
Source§impl PartialEq for PublicTrade
impl PartialEq for PublicTrade
Source§fn eq(&self, other: &PublicTrade) -> bool
fn eq(&self, other: &PublicTrade) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for PublicTrade
impl PartialOrd for PublicTrade
Source§impl Serialize for PublicTrade
impl Serialize for PublicTrade
impl StructuralPartialEq for PublicTrade
Auto Trait Implementations§
impl Freeze for PublicTrade
impl RefUnwindSafe for PublicTrade
impl Send for PublicTrade
impl Sync for PublicTrade
impl Unpin for PublicTrade
impl UnsafeUnpin for PublicTrade
impl UnwindSafe for PublicTrade
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,
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