<kiyosi/instruments/autocallable/presets.hpp>
#include <kiyosi/instruments/autocallable/presets.hpp>EuropeanSnowballTerms
using kiyosi::EuropeanSnowballTerms = StandardSnowballTermsTerms for a snowball whose knock-in barrier is observed only at expiry.
make_standard_snowball
Result<SnowballOption> kiyosi::make_standard_snowball(StandardSnowballTerms terms)Creates a standard snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_step_down_snowball
Result<SnowballOption> kiyosi::make_step_down_snowball(StepDownSnowballTerms terms)Creates a step-down snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_both_down_snowball
Result<SnowballOption> kiyosi::make_both_down_snowball(BothDownSnowballTerms terms)Creates a both-down snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_dual_coupon_snowball
Result<SnowballOption> kiyosi::make_dual_coupon_snowball(DualCouponSnowballTerms terms)Creates a dual-coupon snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_parachute_snowball
Result<SnowballOption> kiyosi::make_parachute_snowball(ParachuteSnowballTerms terms)Creates a parachute snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_otm_snowball
Result<SnowballOption> kiyosi::make_otm_snowball(OtmSnowballTerms terms)Creates an out-of-the-money snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_loss_capped_snowball
Result<SnowballOption> kiyosi::make_loss_capped_snowball(LossCappedSnowballTerms terms)Creates a loss-capped snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
make_european_snowball
Result<SnowballOption> kiyosi::make_european_snowball(EuropeanSnowballTerms terms)Creates a European-knock-in snowball from named market terms. 返回值: The option, or an input-validation error with a stable category.
kiyosi::BothDownSnowballTerms
struct kiyosi::BothDownSnowballTermsTerms for a snowball whose coupon and knock-out level both decrease by observation.
成员
initial_coupon_rate
double kiyosi::BothDownSnowballTerms::initial_coupon_rateCoupon rate at the first observation.
coupon_rate_decrement
double kiyosi::BothDownSnowballTerms::coupon_rate_decrementAbsolute decimal-rate decrement applied at each observation (0.01 is one percentage point).
initial_spot
double kiyosi::BothDownSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::BothDownSnowballTerms::knock_in_levelPositive downside knock-in level.
initial_knock_out_level
double kiyosi::BothDownSnowballTerms::initial_knock_out_levelFirst positive knock-out level.
knock_out_level_decrement
double kiyosi::BothDownSnowballTerms::knock_out_level_decrementAbsolute underlying-price decrement applied at each observation.
observation_dates
std::vector<Date> kiyosi::BothDownSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::BothDownSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::BothDownSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::BothDownSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::BothDownSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::DualCouponSnowballTerms
struct kiyosi::DualCouponSnowballTermsTerms for a snowball with distinct knock-out and maturity coupons.
成员
knock_out_coupon_rate
double kiyosi::DualCouponSnowballTerms::knock_out_coupon_rateCoupon rate paid after knock-out.
maturity_coupon_rate
double kiyosi::DualCouponSnowballTerms::maturity_coupon_rateCoupon rate paid at maturity when applicable.
initial_spot
double kiyosi::DualCouponSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::DualCouponSnowballTerms::knock_in_levelPositive downside knock-in level.
knock_out_level
double kiyosi::DualCouponSnowballTerms::knock_out_levelPositive knock-out level used at every observation.
observation_dates
std::vector<Date> kiyosi::DualCouponSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::DualCouponSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::DualCouponSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::DualCouponSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::DualCouponSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::LossCappedSnowballTerms
struct kiyosi::LossCappedSnowballTermsTerms for a snowball whose downside participation is capped by a lower strike.
成员
coupon_rate
double kiyosi::LossCappedSnowballTerms::coupon_rateCoupon rate used at knock-out and maturity.
initial_spot
double kiyosi::LossCappedSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::LossCappedSnowballTerms::knock_in_levelPositive downside knock-in level.
knock_out_level
double kiyosi::LossCappedSnowballTerms::knock_out_levelPositive knock-out level used at every observation.
lower_strike
double kiyosi::LossCappedSnowballTerms::lower_strikeNon-negative downside settlement floor.
observation_dates
std::vector<Date> kiyosi::LossCappedSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::LossCappedSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::LossCappedSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::LossCappedSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::LossCappedSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::OtmSnowballTerms
struct kiyosi::OtmSnowballTermsTerms for a snowball with an out-of-the-money upper settlement strike.
成员
coupon_rate
double kiyosi::OtmSnowballTerms::coupon_rateCoupon rate used at knock-out and maturity.
initial_spot
double kiyosi::OtmSnowballTerms::initial_spotPositive reference spot.
knock_in_level
double kiyosi::OtmSnowballTerms::knock_in_levelPositive downside knock-in level.
knock_out_level
double kiyosi::OtmSnowballTerms::knock_out_levelPositive knock-out level used at every observation.
upper_strike
double kiyosi::OtmSnowballTerms::upper_strikePositive upper settlement strike.
observation_dates
std::vector<Date> kiyosi::OtmSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::OtmSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::OtmSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::OtmSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::OtmSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::ParachuteSnowballTerms
struct kiyosi::ParachuteSnowballTermsTerms for a snowball with a distinct final knock-out level.
成员
coupon_rate
double kiyosi::ParachuteSnowballTerms::coupon_rateCoupon rate used at knock-out and maturity.
initial_spot
double kiyosi::ParachuteSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::ParachuteSnowballTerms::knock_in_levelPositive downside knock-in level.
knock_out_level
double kiyosi::ParachuteSnowballTerms::knock_out_levelPositive knock-out level before the final observation.
final_knock_out_level
double kiyosi::ParachuteSnowballTerms::final_knock_out_levelPositive knock-out level at the final observation.
observation_dates
std::vector<Date> kiyosi::ParachuteSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::ParachuteSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::ParachuteSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::ParachuteSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::ParachuteSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::StandardSnowballTerms
struct kiyosi::StandardSnowballTermsTerms for a constant-coupon, constant-knock-out snowball preset.
Named market conventions layered over make_snowball_option; each one only shapes the coupon and knock-out ladders before delegating to the authoritative factory.
成员
coupon_rate
double kiyosi::StandardSnowballTerms::coupon_rateCoupon rate used at knock-out and maturity.
initial_spot
double kiyosi::StandardSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::StandardSnowballTerms::knock_in_levelPositive downside knock-in level.
knock_out_level
double kiyosi::StandardSnowballTerms::knock_out_levelPositive knock-out level used at every observation.
observation_dates
std::vector<Date> kiyosi::StandardSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::StandardSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::StandardSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::StandardSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::StandardSnowballTerms::principal_ratioNormalized principal repayment component.
kiyosi::StepDownSnowballTerms
struct kiyosi::StepDownSnowballTermsTerms for a snowball whose knock-out level decreases by observation.
成员
coupon_rate
double kiyosi::StepDownSnowballTerms::coupon_rateCoupon rate used at knock-out and maturity.
initial_spot
double kiyosi::StepDownSnowballTerms::initial_spotPositive reference spot and upper strike.
knock_in_level
double kiyosi::StepDownSnowballTerms::knock_in_levelPositive downside knock-in level.
initial_knock_out_level
double kiyosi::StepDownSnowballTerms::initial_knock_out_levelFirst positive knock-out level.
knock_out_level_decrement
double kiyosi::StepDownSnowballTerms::knock_out_level_decrementAbsolute underlying-price decrement applied at each observation.
observation_dates
std::vector<Date> kiyosi::StepDownSnowballTerms::observation_datesStrictly ordered event dates.
effective_date
Date kiyosi::StepDownSnowballTerms::effective_dateFirst date of the note life.
expiry_date
Date kiyosi::StepDownSnowballTerms::expiry_dateFinal date of the note life.
barrier_state
std::optional<AutocallableBarrierState> kiyosi::StepDownSnowballTerms::barrier_statePrior barrier state.
principal_ratio
double kiyosi::StepDownSnowballTerms::principal_ratioNormalized principal repayment component.