pub struct VanillaPayoff {
pub put_or_call: PutOrCall,
pub exercise_style: ContractStyle,
}Fields§
§put_or_call: PutOrCall§exercise_style: ContractStyleTrait Implementations§
Source§impl Clone for VanillaPayoff
impl Clone for VanillaPayoff
Source§fn clone(&self) -> VanillaPayoff
fn clone(&self) -> VanillaPayoff
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 VanillaPayoff
impl Debug for VanillaPayoff
Source§impl Payoff for VanillaPayoff
impl Payoff for VanillaPayoff
Source§fn payoff(&self, spot: f64, strike: f64) -> f64
fn payoff(&self, spot: f64, strike: f64) -> f64
Payoff for a given level of the underlying: the terminal spot for
European exercise, or the exercise spot for American.
Source§fn path_payoff_var<'t>(&self, path: &[Var<'t>], strike: f64) -> Option<Var<'t>>
fn path_payoff_var<'t>(&self, path: &[Var<'t>], strike: f64) -> Option<Var<'t>>
Path payoff in AAD arithmetic — the mirror of
path_payoff over tape variables, used by
the adjoint Monte Carlo Greeks
(montecarlo::aad_greeks). None
(the default) opts a payoff out: discontinuous payoffs (barrier,
binary, autocallable) must stay out, because the
almost-everywhere derivative of an indicator is zero — their
Greeks come from the bump stencils instead.fn payoff_kind(&self) -> PayoffType
fn put_or_call(&self) -> &PutOrCall
fn exercise_style(&self) -> &ContractStyle
Source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Downcast hook so pricers that need payoff-specific details (e.g. the
analytic pricer distinguishing cash- from asset-or-nothing binaries)
can recover the concrete payoff type.
Source§fn clone_box(&self) -> Box<dyn Payoff>
fn clone_box(&self) -> Box<dyn Payoff>
Clone through the trait object, so instruments holding a
Box<dyn Payoff> are cloneable (repricing a contract under another
market clones the instrument). Implementors write
Box::new(self.clone()).Source§fn path_payoff(&self, path: &[f64], strike: f64) -> f64
fn path_payoff(&self, path: &[f64], strike: f64) -> f64
Payoff for a full simulated path (used by Monte Carlo). Terminal
payoffs default to the last point; Asian/Barrier override this.
The path excludes the initial spot (it starts at the first step).
Source§fn is_path_dependent(&self) -> bool
fn is_path_dependent(&self) -> bool
True when the payoff depends on the whole path (Asian, Barrier), so
engines must simulate paths rather than terminal values.
Auto Trait Implementations§
impl Freeze for VanillaPayoff
impl RefUnwindSafe for VanillaPayoff
impl Send for VanillaPayoff
impl Sync for VanillaPayoff
impl Unpin for VanillaPayoff
impl UnsafeUnpin for VanillaPayoff
impl UnwindSafe for VanillaPayoff
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