pub struct EquityOptionData {Show 49 fields
pub base: EquityInstrumentBase,
pub put_or_call: String,
pub payoff_type: String,
pub binary_type: Option<String>,
pub cash_amount: Option<f64>,
pub barrier_type: Option<String>,
pub barrier_level: Option<f64>,
pub barrier_level2: Option<f64>,
pub rebate: Option<f64>,
pub rebate_at_hit: Option<bool>,
pub lookback_type: Option<String>,
pub averaging_type: Option<String>,
pub asian_strike_type: Option<String>,
pub forward_start_date: Option<String>,
pub strike_fraction: Option<f64>,
pub autocall_barrier: Option<f64>,
pub protection_barrier: Option<f64>,
pub autocall_coupon: Option<f64>,
pub autocall_observations: Option<usize>,
pub tree_type: Option<String>,
pub tree_steps: Option<usize>,
pub tree_term_structure: Option<bool>,
pub exercise_dates: Option<Vec<String>>,
pub autocall_observation_dates: Option<Vec<String>>,
pub coupon_barrier: Option<f64>,
pub coupon_memory: Option<bool>,
pub notional: Option<f64>,
pub cash_dividends: Option<Vec<CashDividendData>>,
pub futures_settlement: Option<String>,
pub strike_price: Option<f64>,
pub volatility: Option<f64>,
pub maturity: String,
pub dividend: Option<f64>,
pub current_price: Option<f64>,
pub multiplier: Option<f64>,
pub entry_price: Option<f64>,
pub simulation: Option<u64>,
pub mc_time_steps: Option<usize>,
pub mc_scheme: Option<String>,
pub mc_sampler: Option<String>,
pub mc_seed: Option<u64>,
pub mc_model: Option<String>,
pub fd_spot_steps: Option<usize>,
pub fd_time_steps: Option<usize>,
pub heston: Option<HestonParams>,
pub exercise_style: Option<String>,
pub pricer: Option<String>,
pub discount_curve: Option<CurveInput>,
pub vol_surface: Option<VolInput>,
}Fields§
§base: EquityInstrumentBase§put_or_call: String§payoff_type: String§binary_type: Option<String>Binary settlement: “cash” (default) or “asset”.
cash_amount: Option<f64>Amount paid by a cash-or-nothing binary (default 1.0).
barrier_type: Option<String>Barrier variant: “up_in” | “up_out” | “down_in” | “down_out”.
barrier_level: Option<f64>§barrier_level2: Option<f64>Second barrier level (makes the option a double barrier).
rebate: Option<f64>Barrier rebate amount.
rebate_at_hit: Option<bool>Knock-out rebate paid at the touch (default: at expiry).
lookback_type: Option<String>Lookback flavor: “floating” (default) or “fixed”.
averaging_type: Option<String>Asian averaging: “arithmetic” (default) | “geometric”.
asian_strike_type: Option<String>Asian strike: “fixed” (default, average price) | “floating” (average strike).
forward_start_date: Option<String>Forward-start: strike fixing date and strike as a fraction of the fixing spot (default 1.0).
strike_fraction: Option<f64>§autocall_barrier: Option<f64>Autocallable: early-redemption and knock-in protection levels (absolute), per-period coupon (rebate), observation count, notional.
protection_barrier: Option<f64>§autocall_coupon: Option<f64>§autocall_observations: Option<usize>§tree_type: Option<String>Binomial tree parameterization: LeisenReimer (default), CRR,
JarrowRudd, Tian, Trigeorgis, EQP.
tree_steps: Option<usize>Binomial tree steps (default 1000; Leisen-Reimer bumps even counts to odd).
tree_term_structure: Option<bool>Price the tree with term structures of rates and volatility
applied per step (variance-equal time grid). tree_type is then
ignored.
exercise_dates: Option<Vec<String>>Bermudan exercise dates (YYYY-MM-DD, strictly increasing,
after valuation and at or before maturity). Required when
exercise_style is Bermudan. Expiry is always exercisable
through the terminal payoff.
autocall_observation_dates: Option<Vec<String>>Explicit autocall observation dates (YYYY-MM-DD, strictly
increasing, after valuation and at or before maturity). Overrides
autocall_observations; use business-day adjusted dates from a
holiday calendar so observations do not land on weekends.
coupon_barrier: Option<f64>Phoenix: conditional-coupon barrier (absolute level).
coupon_memory: Option<bool>Phoenix: memory coupons (missed coupons recovered later).
notional: Option<f64>§cash_dividends: Option<Vec<CashDividendData>>Discrete cash dividends (ex-date + amount per share).
futures_settlement: Option<String>When set, the option is on a future (Black-76): “discounted”
(standard) or “margined” (futures-style). underlying_price is then
the futures price.
strike_price: Option<f64>Strike; required for vanilla/binary/barrier/asian payoffs, unused for forward-start and autocallable contracts.
volatility: Option<f64>Constant volatility; the simple alternative to vol_surface.
maturity: String§dividend: Option<f64>§current_price: Option<f64>§multiplier: Option<f64>§entry_price: Option<f64>§simulation: Option<u64>Monte Carlo path count (engine “MC” only).
mc_time_steps: Option<usize>MC time steps: 1 = terminal simulation; > 1 = path-wise stepping.
mc_scheme: Option<String>“exact” (default) | “euler” | “milstein”
mc_sampler: Option<String>“sobol” (default, low-discrepancy) | “pseudo” (seeded PCG64)
mc_seed: Option<u64>§mc_model: Option<String>“gbm” (default, constant vol) | “local_vol” (Dupire from the option’s vol surface). Applies to the MonteCarlo and FiniteDifference engines.
fd_spot_steps: Option<usize>Finite difference grid nodes in spot (default 400).
fd_time_steps: Option<usize>Finite difference time steps (default 400).
heston: Option<HestonParams>Heston parameters; required when mc_model is “heston”.
exercise_style: Option<String>§pricer: Option<String>§discount_curve: Option<CurveInput>Optional discount curve; when absent a flat curve is built from
risk_free_rate (which stays the simple way to specify a rate).
vol_surface: Option<VolInput>Optional volatility surface; when absent a flat surface is built
from volatility. One of the two must be provided.
Trait Implementations§
Source§impl Clone for EquityOptionData
impl Clone for EquityOptionData
Source§fn clone(&self) -> EquityOptionData
fn clone(&self) -> EquityOptionData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more