pub struct BsmGreeks {
pub delta: f64,
pub gamma: f64,
pub vega: f64,
pub theta: f64,
pub rho: f64,
}Expand description
First-order BSM Greeks.
§Units (critical)
| Field | Unit |
|---|---|
delta | ∂V/∂S (share equivalent per option) |
gamma | ∂²V/∂S² |
vega | ∂V/∂σ per +1.0 absolute vol (not per 1%) |
theta | ∂V/∂T per year |
rho | ∂V/∂r per +1.0 absolute rate |
Trading: risk systems often show vega “per 1%” and theta “per day” — use the helpers below so you do not silently mis-scale P&L.
Fields§
§delta: f64§gamma: f64§vega: f64Per +1.0 absolute vol (divide by 100 for “per vol point”).
theta: f64Calendar year basis (same time unit as time_years).
rho: f64Implementations§
Source§impl BsmGreeks
impl BsmGreeks
Sourcepub fn vega_per_vol_point(self) -> f64
pub fn vega_per_vol_point(self) -> f64
Vega per one percentage point of vol (desk convention): vega / 100.
Example: if IV rises from 20% to 21%, P&L ≈ vega_per_vol_point() per option.
Sourcepub fn theta_per_calendar_day(self) -> f64
pub fn theta_per_calendar_day(self) -> f64
Theta per calendar day using 365.25 days/year: theta / 365.25.
Business-day or trading-day conventions differ by desk — override externally if needed.
Trait Implementations§
impl Copy for BsmGreeks
impl StructuralPartialEq for BsmGreeks
Auto Trait Implementations§
impl Freeze for BsmGreeks
impl RefUnwindSafe for BsmGreeks
impl Send for BsmGreeks
impl Sync for BsmGreeks
impl Unpin for BsmGreeks
impl UnsafeUnpin for BsmGreeks
impl UnwindSafe for BsmGreeks
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> 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