QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
InterpolatedYoYCapFloorTermPriceSurface< Interpolator2D, Interpolator1D > Class Template Reference

#include <ql/experimental/inflation/yoycapfloortermpricesurface.hpp>

+ Inheritance diagram for InterpolatedYoYCapFloorTermPriceSurface< Interpolator2D, Interpolator1D >:
+ Collaboration diagram for InterpolatedYoYCapFloorTermPriceSurface< Interpolator2D, Interpolator1D >:

Classes

class  ObjectiveFunction
 

Public Member Functions

 InterpolatedYoYCapFloorTermPriceSurface (Natural fixingDays, const Period &yyLag, const ext::shared_ptr< YoYInflationIndex > &yii, Rate baseRate, const Handle< YieldTermStructure > &nominal, const DayCounter &dc, const Calendar &cal, const BusinessDayConvention &bdc, const std::vector< Rate > &cStrikes, const std::vector< Rate > &fStrikes, const std::vector< Period > &cfMaturities, const Matrix &cPrice, const Matrix &fPrice, const Interpolator2D &interpolator2d=Interpolator2D(), const Interpolator1D &interpolator1d=Interpolator1D())
 
Date maxDate () const override
 inflation term structure interface More...
 
Date baseDate () const override
 minimum (base) date More...
 
Natural fixingDays () const override
 
YoYCapFloorTermPriceSurface interface
std::pair< std::vector< Time >, std::vector< Rate > > atmYoYSwapTimeRates () const override
 atm yoy swaps from put-call parity on cap/floor data More...
 
std::pair< std::vector< Date >, std::vector< Rate > > atmYoYSwapDateRates () const override
 
ext::shared_ptr< YoYInflationTermStructureYoYTS () const override
 derived from yoy swap rates More...
 
Rate price (const Date &d, Rate k) const override
 
Real floorPrice (const Date &d, Rate k) const override
 
Real capPrice (const Date &d, Rate k) const override
 
Rate atmYoYSwapRate (const Date &d, bool extrapolate=true) const override
 
Rate atmYoYRate (const Date &d, const Period &obsLag=Period(-1, Days), bool extrapolate=true) const override
 
- Public Member Functions inherited from YoYCapFloorTermPriceSurface
 YoYCapFloorTermPriceSurface (Natural fixingDays, const Period &yyLag, const ext::shared_ptr< YoYInflationIndex > &yii, Rate baseRate, Handle< YieldTermStructure > nominal, const DayCounter &dc, const Calendar &cal, const BusinessDayConvention &bdc, const std::vector< Rate > &cStrikes, const std::vector< Rate > &fStrikes, const std::vector< Period > &cfMaturities, const Matrix &cPrice, const Matrix &fPrice)
 
bool indexIsInterpolated () const
 
virtual std::pair< std::vector< Time >, std::vector< Rate > > atmYoYSwapTimeRates () const =0
 atm yoy swaps from put-call parity on cap/floor data More...
 
virtual std::pair< std::vector< Date >, std::vector< Rate > > atmYoYSwapDateRates () const =0
 
virtual ext::shared_ptr< YoYInflationTermStructureYoYTS () const =0
 derived from yoy swap rates More...
 
ext::shared_ptr< YoYInflationIndexyoyIndex () const
 index yoy is based on More...
 
virtual BusinessDayConvention businessDayConvention () const
 inspectors More...
 
virtual Natural fixingDays () const
 
virtual Real price (const Date &d, Rate k) const =0
 
virtual Real capPrice (const Date &d, Rate k) const =0
 
virtual Real floorPrice (const Date &d, Rate k) const =0
 
virtual Rate atmYoYSwapRate (const Date &d, bool extrapolate=true) const =0
 
virtual Rate atmYoYRate (const Date &d, const Period &obsLag=Period(-1, Days), bool extrapolate=true) const =0
 
virtual Real price (const Period &d, Rate k) const
 
virtual Real capPrice (const Period &d, Rate k) const
 
virtual Real floorPrice (const Period &d, Rate k) const
 
virtual Rate atmYoYSwapRate (const Period &d, bool extrapolate=true) const
 
virtual Rate atmYoYRate (const Period &d, const Period &obsLag=Period(-1, Days), bool extrapolate=true) const
 
virtual std::vector< Ratestrikes () const
 
virtual std::vector< RatecapStrikes () const
 
virtual std::vector< RatefloorStrikes () const
 
virtual std::vector< Periodmaturities () const
 
virtual Rate minStrike () const
 
virtual Rate maxStrike () const
 
virtual Date minMaturity () const
 
virtual Date maxMaturity () const
 
virtual Date yoyOptionDateFromTenor (const Period &p) const
 
- Public Member Functions inherited from InflationTermStructure
 InflationTermStructure (Rate baseRate, const Period &observationLag, Frequency frequency, const DayCounter &dayCounter=DayCounter(), ext::shared_ptr< Seasonality > seasonality={})
 
 InflationTermStructure (const Date &referenceDate, Rate baseRate, const Period &observationLag, Frequency frequency, const Calendar &calendar=Calendar(), const DayCounter &dayCounter=DayCounter(), ext::shared_ptr< Seasonality > seasonality={})
 
 InflationTermStructure (Natural settlementDays, const Calendar &calendar, Rate baseRate, const Period &observationLag, Frequency frequency, const DayCounter &dayCounter=DayCounter(), ext::shared_ptr< Seasonality > seasonality={})
 
virtual Period observationLag () const
 
virtual Frequency frequency () const
 
virtual Rate baseRate () const
 
void setSeasonality (const ext::shared_ptr< Seasonality > &seasonality={})
 Functions to set and get seasonality. More...
 
ext::shared_ptr< Seasonalityseasonality () const
 
bool hasSeasonality () const
 
- Public Member Functions inherited from TermStructure
 TermStructure (DayCounter dc=DayCounter())
 default constructor More...
 
 TermStructure (const Date &referenceDate, Calendar calendar=Calendar(), DayCounter dc=DayCounter())
 initialize with a fixed reference date More...
 
 TermStructure (Natural settlementDays, Calendar, DayCounter dc=DayCounter())
 calculate the reference date based on the global evaluation date More...
 
 ~TermStructure () override=default
 
virtual DayCounter dayCounter () const
 the day counter used for date/time conversion More...
 
Time timeFromReference (const Date &date) const
 date/time conversion More...
 
virtual Time maxTime () const
 the latest time for which the curve can return values More...
 
virtual const DatereferenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0 More...
 
virtual Calendar calendar () const
 the calendar used for reference and/or option date calculation More...
 
virtual Natural settlementDays () const
 the settlementDays used for reference date calculation More...
 
void update () override
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from Extrapolator
 Extrapolator ()=default
 
virtual ~Extrapolator ()=default
 
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls More...
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls More...
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled More...
 

LazyObject interface

std::vector< RatecStrikesB_
 
std::vector< RatefStrikesB_
 
Matrix cPriceB_
 
Matrix fPriceB_
 
Interpolation2D capPrice_
 
Interpolation2D floorPrice_
 
Interpolation2D floorPrice2_
 
Interpolator2D interpolator2d_
 
Interpolation atmYoYSwapRateCurve_
 
Interpolator1D interpolator1d_
 
void update () override
 
void performCalculations () const
 
void intersect () const
 intersection of cap and floor price surfaces at given strikes More...
 
void calculateYoYTermStructure () const
 mess of making it, i.e. create instruments from quotes and bootstrap More...
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from YoYCapFloorTermPriceSurface
virtual bool checkStrike (Rate K)
 
virtual bool checkMaturity (const Date &d)
 
- Protected Member Functions inherited from InflationTermStructure
virtual void setBaseRate (const Rate &r)
 
void checkRange (const Date &, bool extrapolate) const
 
void checkRange (Time t, bool extrapolate) const
 
- Protected Member Functions inherited from TermStructure
void checkRange (const Date &d, bool extrapolate) const
 date-range check More...
 
void checkRange (Time t, bool extrapolate) const
 time-range check More...
 
- Protected Attributes inherited from YoYCapFloorTermPriceSurface
Natural fixingDays_
 
BusinessDayConvention bdc_
 
ext::shared_ptr< YoYInflationIndexyoyIndex_
 
Handle< YieldTermStructurenominalTS_
 
std::vector< RatecStrikes_
 
std::vector< RatefStrikes_
 
std::vector< PeriodcfMaturities_
 
std::vector< RealcfMaturityTimes_
 
Matrix cPrice_
 
Matrix fPrice_
 
bool indexIsInterpolated_
 
std::vector< RatecfStrikes_
 
ext::shared_ptr< YoYInflationTermStructureyoy_
 
std::pair< std::vector< Time >, std::vector< Rate > > atmYoYSwapTimeRates_
 
std::pair< std::vector< Date >, std::vector< Rate > > atmYoYSwapDateRates_
 
- Protected Attributes inherited from InflationTermStructure
ext::shared_ptr< Seasonalityseasonality_
 
Period observationLag_
 
Frequency frequency_
 
Rate baseRate_
 
- Protected Attributes inherited from TermStructure
bool moving_ = false
 
bool updated_ = true
 
Calendar calendar_
 

Detailed Description

template<class Interpolator2D, class Interpolator1D>
class QuantLib::InterpolatedYoYCapFloorTermPriceSurface< Interpolator2D, Interpolator1D >

Definition at line 145 of file yoycapfloortermpricesurface.hpp.

Constructor & Destructor Documentation

◆ InterpolatedYoYCapFloorTermPriceSurface()

InterpolatedYoYCapFloorTermPriceSurface ( Natural  fixingDays,
const Period yyLag,
const ext::shared_ptr< YoYInflationIndex > &  yii,
Rate  baseRate,
const Handle< YieldTermStructure > &  nominal,
const DayCounter dc,
const Calendar cal,
const BusinessDayConvention bdc,
const std::vector< Rate > &  cStrikes,
const std::vector< Rate > &  fStrikes,
const std::vector< Period > &  cfMaturities,
const Matrix cPrice,
const Matrix fPrice,
const Interpolator2D &  interpolator2d = Interpolator2D(),
const Interpolator1D interpolator1d = Interpolator1D() 
)

Member Function Documentation

◆ maxDate()

Date maxDate ( ) const
overridevirtual

inflation term structure interface

Implements TermStructure.

Definition at line 167 of file yoycapfloortermpricesurface.hpp.

◆ baseDate()

Date baseDate ( ) const
overridevirtual

minimum (base) date

Important in inflation since it starts before nominal reference date. Changes depending whether index is interpolated or not. When interpolated the base date is just observation lag before nominal. When not interpolated it is the beginning of the relevant period (hence it is easy to create interpolated fixings from a not-interpolated curve because interpolation, usually, of fixings is forward looking).

Implements InflationTermStructure.

Definition at line 168 of file yoycapfloortermpricesurface.hpp.

◆ fixingDays()

Natural fixingDays ( ) const
overridevirtual

Reimplemented from YoYCapFloorTermPriceSurface.

Definition at line 170 of file yoycapfloortermpricesurface.hpp.

◆ atmYoYSwapTimeRates()

std::pair< std::vector< Time >, std::vector< Rate > > atmYoYSwapTimeRates ( ) const
overridevirtual

atm yoy swaps from put-call parity on cap/floor data

uses interpolation (on surface price data), yearly maturities.

Implements YoYCapFloorTermPriceSurface.

Definition at line 174 of file yoycapfloortermpricesurface.hpp.

◆ atmYoYSwapDateRates()

std::pair< std::vector< Date >, std::vector< Rate > > atmYoYSwapDateRates ( ) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 177 of file yoycapfloortermpricesurface.hpp.

◆ YoYTS()

ext::shared_ptr< YoYInflationTermStructure > YoYTS ( ) const
overridevirtual

derived from yoy swap rates

Implements YoYCapFloorTermPriceSurface.

Definition at line 180 of file yoycapfloortermpricesurface.hpp.

◆ price()

Rate price ( const Date d,
Rate  k 
) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 300 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ floorPrice()

Rate floorPrice ( const Date d,
Rate  k 
) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 316 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ capPrice()

Rate capPrice ( const Date d,
Rate  k 
) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 308 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ atmYoYSwapRate()

Rate atmYoYSwapRate ( const Date d,
bool  extrapolate = true 
) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 184 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ atmYoYRate()

Rate atmYoYRate ( const Date d,
const Period obsLag = Period(-1, Days),
bool  extrapolate = true 
) const
overridevirtual

Implements YoYCapFloorTermPriceSurface.

Definition at line 187 of file yoycapfloortermpricesurface.hpp.

◆ update()

void update ( )
overridevirtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.

Definition at line 270 of file yoycapfloortermpricesurface.hpp.

◆ performCalculations()

void performCalculations

Definition at line 277 of file yoycapfloortermpricesurface.hpp.

◆ intersect()

void intersect
protected

intersection of cap and floor price surfaces at given strikes

Definition at line 333 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:

◆ calculateYoYTermStructure()

void calculateYoYTermStructure
protected

mess of making it, i.e. create instruments from quotes and bootstrap

Definition at line 510 of file yoycapfloortermpricesurface.hpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ cStrikesB_

std::vector<Rate> cStrikesB_
mutableprotected

Definition at line 219 of file yoycapfloortermpricesurface.hpp.

◆ fStrikesB_

std::vector<Rate> fStrikesB_
mutableprotected

Definition at line 220 of file yoycapfloortermpricesurface.hpp.

◆ cPriceB_

Matrix cPriceB_
mutableprotected

Definition at line 221 of file yoycapfloortermpricesurface.hpp.

◆ fPriceB_

Matrix fPriceB_
mutableprotected

Definition at line 222 of file yoycapfloortermpricesurface.hpp.

◆ capPrice_

Interpolation2D capPrice_
mutableprotected

Definition at line 223 of file yoycapfloortermpricesurface.hpp.

◆ floorPrice_

Interpolation2D floorPrice_
protected

Definition at line 223 of file yoycapfloortermpricesurface.hpp.

◆ floorPrice2_

Interpolation2D floorPrice2_
mutableprotected

Definition at line 224 of file yoycapfloortermpricesurface.hpp.

◆ interpolator2d_

Interpolator2D interpolator2d_
mutableprotected

Definition at line 225 of file yoycapfloortermpricesurface.hpp.

◆ atmYoYSwapRateCurve_

Interpolation atmYoYSwapRateCurve_
mutableprotected

Definition at line 226 of file yoycapfloortermpricesurface.hpp.

◆ interpolator1d_

Interpolator1D interpolator1d_
mutableprotected

Definition at line 227 of file yoycapfloortermpricesurface.hpp.