25#ifndef quantlib_swaption_calibration_helper_hpp
26#define quantlib_swaption_calibration_helper_hpp
47 ext::shared_ptr<IborIndex> index,
48 const Period& fixedLegTenor,
63 ext::shared_ptr<IborIndex> index,
64 const Period& fixedLegTenor,
79 ext::shared_ptr<IborIndex> index,
80 const Period& fixedLegTenor,
92 void addTimesTo(std::list<Time>& times)
const override;
96 const ext::shared_ptr<FixedVsFloatingSwap>&
underlying()
const {
103 [[deprecated(
"Use the SwaptionHelper::underlying method instead")]]
106 auto vanilla = ext::dynamic_pointer_cast<VanillaSwap>(
swap_);
107 QL_REQUIRE(vanilla,
"underlying is not a vanilla swap");
127 mutable ext::shared_ptr<FixedVsFloatingSwap>
swap_;
Calibration helper class.
liquid Black76 market instrument used during calibration
Handle< Quote > volatility() const
returns the volatility Handle
Shared handle to an observable.
virtual void calculate() const
template class providing a null value for a given type.
calibration helper for interest-rate swaptions
ext::shared_ptr< Swaption > swaption_
void performCalculations() const override
ext::shared_ptr< FixedVsFloatingSwap > makeSwap(Schedule fixedSchedule, Schedule floatSchedule, Rate exerciseRate, Swap::Type type) const
ext::shared_ptr< VanillaSwap > underlyingSwap() const
const ext::shared_ptr< IborIndex > index_
Real blackPrice(Volatility volatility) const override
Black or Bachelier price given a volatility.
const Period fixedLegTenor_
ext::shared_ptr< Swaption > swaption() const
Real modelValue() const override
returns the price of the instrument according to the model
const Natural settlementDays_
void addTimesTo(std::list< Time > ×) const override
const ext::shared_ptr< FixedVsFloatingSwap > & underlying() const
ext::shared_ptr< FixedVsFloatingSwap > swap_
const DayCounter floatingLegDayCounter_
const Handle< YieldTermStructure > termStructure_
const DayCounter fixedLegDayCounter_
const RateAveraging::Type averagingMethod_
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
unsigned QL_INTEGER Natural
positive integer
Real Volatility
volatility