pub struct BinaryPayoff {
pub put_or_call: PutOrCall,
pub exercise_style: ContractStyle,
pub binary_type: BinaryType,
pub cash: f64,
}Fields§
§put_or_call: PutOrCall§exercise_style: ContractStyle§binary_type: BinaryType§cash: f64Amount paid by a cash-or-nothing binary (ignored for asset-or-nothing).
Trait Implementations§
Source§impl Clone for BinaryPayoff
impl Clone for BinaryPayoff
Source§fn clone(&self) -> BinaryPayoff
fn clone(&self) -> BinaryPayoff
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 BinaryPayoff
impl Debug for BinaryPayoff
Source§impl Payoff for BinaryPayoff
Binary (digital) payoff, strictly in the money beyond the strike:
cash-or-nothing pays cash, asset-or-nothing pays the underlying level.
impl Payoff for BinaryPayoff
Binary (digital) payoff, strictly in the money beyond the strike:
cash-or-nothing pays cash, asset-or-nothing pays the underlying level.
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.
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.
Source§fn payoff_amount(&self, spot: f64, strike: f64) -> f64
fn payoff_amount(&self, spot: f64, strike: f64) -> f64
Intrinsic value at the given spot (the option’s current market
spot at its contract strike).
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.Auto Trait Implementations§
impl Freeze for BinaryPayoff
impl RefUnwindSafe for BinaryPayoff
impl Send for BinaryPayoff
impl Sync for BinaryPayoff
impl Unpin for BinaryPayoff
impl UnsafeUnpin for BinaryPayoff
impl UnwindSafe for BinaryPayoff
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