#include <qle/termstructures/piecewiseatmoptionletcurve.hpp>
Public Types | |
typedef PiecewiseOptionletCurve< Interpolator, Bootstrap >::this_curve | optionlet_curve |
Public Member Functions | |
PiecewiseAtmOptionletCurve (QuantLib::Natural settlementDays, const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > &cftvc, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, bool flatFirstPeriod=true, const QuantLib::VolatilityType capFloorVolType=QuantLib::ShiftedLognormal, const QuantLib::Real capFloorVolDisplacement=0.0, const boost::optional< QuantLib::VolatilityType > optionletVolType=boost::none, const boost::optional< QuantLib::Real > optionletVolDisplacement=boost::none, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >()) | |
PiecewiseAtmOptionletCurve (const QuantLib::Date &referenceDate, const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > &cftvc, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount, bool flatFirstPeriod=true, const QuantLib::VolatilityType capFloorVolType=QuantLib::ShiftedLognormal, const QuantLib::Real capFloorVolDisplacement=0.0, const boost::optional< QuantLib::VolatilityType > optionletVolType=boost::none, const boost::optional< QuantLib::Real > optionletVolDisplacement=boost::none, bool interpOnOptionlets=true, const Interpolator &i=Interpolator(), const Bootstrap< optionlet_curve > &bootstrap=Bootstrap< optionlet_curve >()) | |
Inspectors | |
QuantLib::VolatilityType | capFloorVolType () const |
Volatility type for the underlying ATM cap floor curve. More... | |
QuantLib::Real | capFloorVolDisplacement () const |
The applicable shift if the underlying ATM cap floor curve has shifted lognormal volatility. More... | |
Observer interface | |
void | update () override |
LazyObject interface | |
void | performCalculations () const override |
TermStructure interface | |
QuantLib::Date | maxDate () const override |
VolatilityTermStructure interface | |
QuantLib::Rate | minStrike () const override |
QuantLib::Rate | maxStrike () const override |
OptionletVolatilityStructure interface | |
typedef QuantLib::BootstrapHelper< QuantLib::OptionletVolatilityStructure > | helper |
Store the vector of ATM cap floor helpers that are used in the bootstrap. More... | |
QuantLib::ext::shared_ptr< CapFloorTermVolCurve > | cftvc_ |
The underlying ATM cap floor term volatility curve. More... | |
bool | flatFirstPeriod_ |
Flat optionlet volatility before first optionlet fixing date. More... | |
QuantLib::VolatilityType | capFloorVolType_ |
Volatility type for the underlying ATM cap floor volatility curve. More... | |
QuantLib::Real | capFloorVolDisplacement_ |
The applicable shift if the underlying ATM cap floor volatility curve has shifted lognormal volatility. More... | |
QuantLib::VolatilityType | volatilityType_ |
This optionlet structure's volatility type. More... | |
QuantLib::Real | displacement_ |
This optionlet structure's shift if its volatility type is shifted lognormal. More... | |
bool | interpOnOptionlets_ |
True to interpolate on optionlet volatilities, false to interpolate on cap floor term volatilities. More... | |
Interpolator | interpolator_ |
The interpolator. More... | |
Bootstrap< optionlet_curve > | bootstrap_ |
The bootstrapper. More... | |
QuantLib::ext::shared_ptr< optionlet_curve > | curve_ |
The stripped optionlet curve. More... | |
std::vector< QuantLib::Period > | tenors_ |
Store the helper tenors. More... | |
std::vector< QuantLib::ext::shared_ptr< helper > > | helpers_ |
std::vector< QuantLib::ext::shared_ptr< QuantLib::SimpleQuote > > | quotes_ |
Store the ATM cap floor curve quotes. More... | |
QuantLib::VolatilityType | volatilityType () const override |
QuantLib::Real | displacement () const override |
QuantLib::ext::shared_ptr< optionlet_curve > | curve () const |
The underlying optionlet curve. More... | |
QuantLib::ext::shared_ptr< QuantLib::SmileSection > | smileSectionImpl (QuantLib::Time optionTime) const override |
QuantLib::Volatility | volatilityImpl (QuantLib::Time optionTime, QuantLib::Rate strike) const override |
void | initialise (const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &index, const QuantLib::Handle< QuantLib::YieldTermStructure > &discount) |
Shared initialisation. More... | |
Helper class to strip caplet/floorlet volatilities from the cap floor term volatilities of a CapFloorTermVolCurve.
Definition at line 36 of file piecewiseatmoptionletcurve.hpp.
typedef PiecewiseOptionletCurve<Interpolator,Bootstrap>::this_curve optionlet_curve |
Definition at line 39 of file piecewiseatmoptionletcurve.hpp.
|
private |
Store the vector of ATM cap floor helpers that are used in the bootstrap.
Definition at line 144 of file piecewiseatmoptionletcurve.hpp.
PiecewiseAtmOptionletCurve | ( | QuantLib::Natural | settlementDays, |
const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > & | cftvc, | ||
const QuantLib::ext::shared_ptr< QuantLib::IborIndex > & | index, | ||
const QuantLib::Handle< QuantLib::YieldTermStructure > & | discount, | ||
bool | flatFirstPeriod = true , |
||
const QuantLib::VolatilityType | capFloorVolType = QuantLib::ShiftedLognormal , |
||
const QuantLib::Real | capFloorVolDisplacement = 0.0 , |
||
const boost::optional< QuantLib::VolatilityType > | optionletVolType = boost::none , |
||
const boost::optional< QuantLib::Real > | optionletVolDisplacement = boost::none , |
||
bool | interpOnOptionlets = true , |
||
const Interpolator & | i = Interpolator() , |
||
const Bootstrap< optionlet_curve > & | bootstrap = Bootstrap<optionlet_curve>() |
||
) |
Definition at line 156 of file piecewiseatmoptionletcurve.hpp.
PiecewiseAtmOptionletCurve | ( | const QuantLib::Date & | referenceDate, |
const QuantLib::ext::shared_ptr< CapFloorTermVolCurve > & | cftvc, | ||
const QuantLib::ext::shared_ptr< QuantLib::IborIndex > & | index, | ||
const QuantLib::Handle< QuantLib::YieldTermStructure > & | discount, | ||
bool | flatFirstPeriod = true , |
||
const QuantLib::VolatilityType | capFloorVolType = QuantLib::ShiftedLognormal , |
||
const QuantLib::Real | capFloorVolDisplacement = 0.0 , |
||
const boost::optional< QuantLib::VolatilityType > | optionletVolType = boost::none , |
||
const boost::optional< QuantLib::Real > | optionletVolDisplacement = boost::none , |
||
bool | interpOnOptionlets = true , |
||
const Interpolator & | i = Interpolator() , |
||
const Bootstrap< optionlet_curve > & | bootstrap = Bootstrap<optionlet_curve>() |
||
) |
Definition at line 180 of file piecewiseatmoptionletcurve.hpp.
QuantLib::VolatilityType capFloorVolType | ( | ) | const |
Volatility type for the underlying ATM cap floor curve.
Definition at line 67 of file piecewiseatmoptionletcurve.hpp.
QuantLib::Real capFloorVolDisplacement | ( | ) | const |
The applicable shift if the underlying ATM cap floor curve has shifted lognormal volatility.
Definition at line 70 of file piecewiseatmoptionletcurve.hpp.
|
override |
Definition at line 204 of file piecewiseatmoptionletcurve.hpp.
|
override |
|
override |
Definition at line 222 of file piecewiseatmoptionletcurve.hpp.
|
override |
Definition at line 228 of file piecewiseatmoptionletcurve.hpp.
|
override |
Definition at line 234 of file piecewiseatmoptionletcurve.hpp.
|
override |
Definition at line 240 of file piecewiseatmoptionletcurve.hpp.
|
override |
Definition at line 245 of file piecewiseatmoptionletcurve.hpp.
QuantLib::ext::shared_ptr< typename PiecewiseAtmOptionletCurve< Interpolator, Bootstrap >::optionlet_curve > curve |
The underlying optionlet curve.
Definition at line 251 of file piecewiseatmoptionletcurve.hpp.
|
overrideprotected |
Definition at line 258 of file piecewiseatmoptionletcurve.hpp.
|
overrideprotected |
Definition at line 264 of file piecewiseatmoptionletcurve.hpp.
|
private |
Shared initialisation.
Definition at line 271 of file piecewiseatmoptionletcurve.hpp.
|
private |
The underlying ATM cap floor term volatility curve.
Definition at line 111 of file piecewiseatmoptionletcurve.hpp.
|
private |
Flat optionlet volatility before first optionlet fixing date.
Definition at line 114 of file piecewiseatmoptionletcurve.hpp.
|
private |
Volatility type for the underlying ATM cap floor volatility curve.
Definition at line 117 of file piecewiseatmoptionletcurve.hpp.
|
private |
The applicable shift if the underlying ATM cap floor volatility curve has shifted lognormal volatility.
Definition at line 120 of file piecewiseatmoptionletcurve.hpp.
|
private |
This optionlet structure's volatility type.
Definition at line 123 of file piecewiseatmoptionletcurve.hpp.
|
private |
This optionlet structure's shift if its volatility type is shifted lognormal.
Definition at line 126 of file piecewiseatmoptionletcurve.hpp.
|
private |
True to interpolate on optionlet volatilities, false to interpolate on cap floor term volatilities.
Definition at line 129 of file piecewiseatmoptionletcurve.hpp.
|
private |
The interpolator.
Definition at line 132 of file piecewiseatmoptionletcurve.hpp.
|
private |
The bootstrapper.
Definition at line 135 of file piecewiseatmoptionletcurve.hpp.
|
private |
The stripped optionlet curve.
Definition at line 138 of file piecewiseatmoptionletcurve.hpp.
|
private |
Store the helper tenors.
Definition at line 141 of file piecewiseatmoptionletcurve.hpp.
|
private |
Definition at line 145 of file piecewiseatmoptionletcurve.hpp.
|
private |
Store the ATM cap floor curve quotes.
Definition at line 148 of file piecewiseatmoptionletcurve.hpp.