25#ifndef quantlib_swaption_calibration_helper_hpp
26#define quantlib_swaption_calibration_helper_hpp
28#include <ql/models/calibrationhelper.hpp>
29#include <ql/instruments/swaption.hpp>
30#include <ql/termstructures/volatility/volatilitytype.hpp>
41 ext::shared_ptr<IborIndex> index,
42 const Period& fixedLegTenor,
56 ext::shared_ptr<IborIndex> index,
57 const Period& fixedLegTenor,
71 ext::shared_ptr<IborIndex> index,
72 const Period& fixedLegTenor,
83 void addTimesTo(std::list<Time>& times)
const override;
94 const ext::shared_ptr<IborIndex>
index_;
99 mutable ext::shared_ptr<VanillaSwap>
swap_;
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 ATM swaption
ext::shared_ptr< Swaption > swaption_
void performCalculations() const override
ext::shared_ptr< VanillaSwap > underlyingSwap() const
ext::shared_ptr< VanillaSwap > swap_
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
void addTimesTo(std::list< Time > ×) const override
const DayCounter floatingLegDayCounter_
const Handle< YieldTermStructure > termStructure_
const DayCounter fixedLegDayCounter_
Real Volatility
volatility