#[non_exhaustive]pub struct OptionGreeks {
pub delta: Option<f64>,
pub gamma: Option<f64>,
pub theta: Option<f64>,
pub vega: Option<f64>,
pub implied_volatility: Option<f64>,
pub theoretical_price: Option<f64>,
pub underlying_price: Option<f64>,
}Expand description
Option Greeks values.
All fields are optional because the data source may not return all Greeks depending on the contract type, market state, or subscription level.
§Fields
delta: Rate of change of option price with respect to underlying pricegamma: Rate of change of delta with respect to underlying pricetheta: Rate of change of option price with respect to time (per day)vega: Rate of change of option price with respect to volatilityimplied_volatility: Market-implied volatilitytheoretical_price: Model price computed by the exchange/brokerunderlying_price: Current underlying price used in computation
§Note on Precision
Values are stored as f64 rather than Decimal because Greeks are
analytics (not monetary values) and the precision loss is acceptable.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.delta: Option<f64>§gamma: Option<f64>§theta: Option<f64>§vega: Option<f64>§implied_volatility: Option<f64>§theoretical_price: Option<f64>§underlying_price: Option<f64>Implementations§
Source§impl OptionGreeks
impl OptionGreeks
Sourcepub fn has_any_greek(&self) -> bool
pub fn has_any_greek(&self) -> bool
Returns true if at least one first-order Greek (delta, gamma, theta, vega, or implied volatility) is present.
Does NOT consider theoretical_price or underlying_price — a tick
containing only those fields is treated as having no Greek data.
Trait Implementations§
Source§impl Clone for OptionGreeks
impl Clone for OptionGreeks
Source§fn clone(&self) -> OptionGreeks
fn clone(&self) -> OptionGreeks
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 OptionGreeks
impl Debug for OptionGreeks
Source§impl Default for OptionGreeks
impl Default for OptionGreeks
Source§fn default() -> OptionGreeks
fn default() -> OptionGreeks
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for OptionGreeks
impl<'de> Deserialize<'de> for OptionGreeks
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<OptionGreeks> for DataKind
impl From<OptionGreeks> for DataKind
Source§fn from(value: OptionGreeks) -> Self
fn from(value: OptionGreeks) -> Self
Converts to this type from the input type.
Source§impl PartialEq for OptionGreeks
impl PartialEq for OptionGreeks
Source§fn eq(&self, other: &OptionGreeks) -> bool
fn eq(&self, other: &OptionGreeks) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for OptionGreeks
impl Serialize for OptionGreeks
impl StructuralPartialEq for OptionGreeks
Auto Trait Implementations§
impl Freeze for OptionGreeks
impl RefUnwindSafe for OptionGreeks
impl Send for OptionGreeks
impl Sync for OptionGreeks
impl Unpin for OptionGreeks
impl UnsafeUnpin for OptionGreeks
impl UnwindSafe for OptionGreeks
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