QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
YoYCapFloorTermPriceSurface Class Referenceabstract

Abstract base class, inheriting from InflationTermStructure. More...

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

+ Inheritance diagram for YoYCapFloorTermPriceSurface:

Public Member Functions

 YoYCapFloorTermPriceSurface (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)
 
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< YoYInflationTermStructure > YoYTS () const =0
 derived from yoy swap rates
 
ext::shared_ptr< YoYInflationIndex > yoyIndex () const
 index yoy is based on
 
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< Rate > strikes () const
 
virtual std::vector< Rate > capStrikes () const
 
virtual std::vector< Rate > floorStrikes () const
 
virtual std::vector< Period > maturities () 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, bool indexIsInterpolated, const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
 InflationTermStructure (const Date &referenceDate, Rate baseRate, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, const Calendar &calendar=Calendar(), const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
 InflationTermStructure (Natural settlementDays, const Calendar &calendar, Rate baseRate, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
QL_DEPRECATED InflationTermStructure (Rate baseRate, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, const Handle< YieldTermStructure > &yTS, const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
QL_DEPRECATED InflationTermStructure (const Date &referenceDate, Rate baseRate, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, const Handle< YieldTermStructure > &yTS, const Calendar &calendar=Calendar(), const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
QL_DEPRECATED InflationTermStructure (Natural settlementDays, const Calendar &calendar, Rate baseRate, const Period &observationLag, Frequency frequency, bool indexIsInterpolated, const Handle< YieldTermStructure > &yTS, const DayCounter &dayCounter=DayCounter(), const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 
virtual Period observationLag () const
 
virtual Frequency frequency () const
 
virtual bool indexIsInterpolated () const
 
virtual Rate baseRate () const
 
virtual Handle< YieldTermStructure > nominalTermStructure () const
 
virtual Date baseDate () const =0
 minimum (base) date More...
 
void setSeasonality (const ext::shared_ptr< Seasonality > &seasonality=ext::shared_ptr< Seasonality >())
 Functions to set and get seasonality. More...
 
ext::shared_ptr< Seasonality > seasonality () const
 
bool hasSeasonality () const
 
- Public Member Functions inherited from TermStructure
 TermStructure (const DayCounter &dc=DayCounter())
 default constructor More...
 
 TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter())
 initialize with a fixed reference date
 
 TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter())
 calculate the reference date based on the global evaluation date
 
virtual ~TermStructure ()
 
virtual DayCounter dayCounter () const
 the day counter used for date/time conversion
 
Time timeFromReference (const Date &date) const
 date/time conversion
 
virtual Date maxDate () const =0
 the latest date for which the curve can return values
 
virtual Time maxTime () const
 the latest time for which the curve can return values
 
virtual const Date & referenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0
 
virtual Calendar calendar () const
 the calendar used for reference and/or option date calculation
 
virtual Natural settlementDays () const
 the settlementDays used for reference date calculation
 
void update ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observer & operator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observable & operator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Extrapolator
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled
 

Protected Member Functions

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
 
void checkRange (Time t, bool extrapolate) const
 time-range check
 

Protected Attributes

Natural fixingDays_
 
BusinessDayConvention bdc_
 
ext::shared_ptr< YoYInflationIndex > yoyIndex_
 
Handle< YieldTermStructure > nominalTS_
 
std::vector< Rate > cStrikes_
 
std::vector< Rate > fStrikes_
 
std::vector< Period > cfMaturities_
 
std::vector< Real > cfMaturityTimes_
 
Matrix cPrice_
 
Matrix fPrice_
 
std::vector< Rate > cfStrikes_
 
ext::shared_ptr< YoYInflationTermStructure > yoy_
 
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< Seasonality > seasonality_
 
Period observationLag_
 
Frequency frequency_
 
bool indexIsInterpolated_
 
Rate baseRate_
 
Handle< YieldTermStructure > nominalTermStructure_
 
- Protected Attributes inherited from TermStructure
bool moving_
 
bool updated_
 
Calendar calendar_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 

Detailed Description

Abstract base class, inheriting from InflationTermStructure.

Since this can create a yoy term structure it does take a YoY index.

Member Function Documentation

◆ atmYoYSwapTimeRates()

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

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

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

◆ businessDayConvention()

virtual BusinessDayConvention businessDayConvention ( ) const
virtual

inspectors

Note
you don't know if price() is a cap or a floor without checking the YoYSwapATM level.
atm cap/floor prices are generally inaccurate because they are from extrapolation and intersection.