24#ifndef quantlib_instruments_nonstandardswaption_hpp
25#define quantlib_instruments_nonstandardswaption_hpp
47 const ext::shared_ptr<Exercise>&
exercise,
68 std::vector<ext::shared_ptr<BlackCalibrationHelper>>
70 const ext::shared_ptr<SwaptionVolatilityStructure>& swaptionVolatility,
76 ext::shared_ptr<NonstandardSwap>
swap_;
86 ext::shared_ptr<NonstandardSwap>
swap;
95 NonstandardSwaption::results> {};
base class for pricing engines capable of generating a calibration basket
Calibration helper class.
@ MaturityStrikeByDeltaGamma
template base class for option pricing engines
Arguments for nonstandard swap calculation
Arguments for nonstandard swaption calculation
Settlement::Method settlementMethod
ext::shared_ptr< NonstandardSwap > swap
Settlement::Type settlementType
void validate() const override
base class for nonstandard swaption engines
nonstandard swaption class
ext::shared_ptr< NonstandardSwap > swap_
const ext::shared_ptr< NonstandardSwap > & underlyingSwap() const
void setupArguments(PricingEngine::arguments *) const override
Settlement::Type settlementType() const
bool isExpired() const override
returns whether the instrument might have value greater than zero.
std::vector< ext::shared_ptr< BlackCalibrationHelper > > calibrationBasket(const ext::shared_ptr< SwapIndex > &standardSwapBase, const ext::shared_ptr< SwaptionVolatilityStructure > &swaptionVolatility, BasketGeneratingEngine::CalibrationBasketType basketType=BasketGeneratingEngine::MaturityStrikeByDeltaGamma) const
Settlement::Method settlementMethod_
Settlement::Method settlementMethod() const
Settlement::Type settlementType_
ext::shared_ptr< Exercise > exercise() const
void swap(Array &v, Array &w) noexcept
vanilla swap but possibly with period dependent nominal and strike
Swaption volatility structure.
Interest-rate term structure.