#include <qle/termstructures/piecewiseatmoptionletcurve.hpp>
Inheritance diagram for PiecewiseAtmOptionletCurve< Interpolator, Bootstrap >:
Collaboration diagram for PiecewiseAtmOptionletCurve< Interpolator, Bootstrap >: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.
Here is the call graph for this function:| 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.
Here is the call graph for this function:| 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.
Here is the caller graph for this function:
|
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.