VanillaOption

Struct VanillaOption 

Source
pub struct VanillaOption {
    pub style: OptionStyle,
    pub kind: OptionType,
    pub strike: f64,
    pub maturity: f64,
}
Expand description

Specification of a single vanilla option contract.

This struct is model-agnostic; pricing models interpret the fields according to their own assumptions.

Fields§

§style: OptionStyle

Exercise style (European or American).

§kind: OptionType

Payoff direction (call or put).

§strike: f64

Strike price of the option.

§maturity: f64

Time to maturity in years.

The exact day-count convention (e.g. ACT/365 or ACT/365.25) is determined by how t is computed by the caller. The current library typically uses 365.25 days per year.

Implementations§

Source§

impl VanillaOption

Source

pub fn new( style: OptionStyle, kind: OptionType, strike: f64, maturity: f64, ) -> Self

Creates a new vanilla option from its components.

Source

pub fn european_call(strike: f64, maturity: f64) -> Self

Convenience constructor for a European call.

Source

pub fn european_put(strike: f64, maturity: f64) -> Self

Convenience constructor for a European put.

Source

pub fn american_call(strike: f64, maturity: f64) -> Self

Convenience constructor for an American call.

Source

pub fn american_put(strike: f64, maturity: f64) -> Self

Convenience constructor for an American put.

Trait Implementations§

Source§

impl Clone for VanillaOption

Source§

fn clone(&self) -> VanillaOption

Returns a duplicate 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 VanillaOption

Source§

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

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

impl PartialEq for VanillaOption

Source§

fn eq(&self, other: &VanillaOption) -> 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 Copy for VanillaOption

Source§

impl StructuralPartialEq for VanillaOption

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

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

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,