QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Cap/floor smile volatility surface. More...
#include <capfloortermvolsurface.hpp>
Public Member Functions | |
CapFloorTermVolSurface (Natural settlementDays, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Rate > &strikes, const std::vector< std::vector< Handle< Quote > > > &, const DayCounter &dc=Actual365Fixed()) | |
floating reference date, floating market data More... | |
CapFloorTermVolSurface (const Date &settlementDate, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Rate > &strikes, const std::vector< std::vector< Handle< Quote > > > &, const DayCounter &dc=Actual365Fixed()) | |
fixed reference date, floating market data More... | |
CapFloorTermVolSurface (const Date &settlementDate, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Rate > &strikes, const Matrix &volatilities, const DayCounter &dc=Actual365Fixed()) | |
fixed reference date, fixed market data More... | |
CapFloorTermVolSurface (Natural settlementDays, const Calendar &calendar, BusinessDayConvention bdc, const std::vector< Period > &optionTenors, const std::vector< Rate > &strikes, const Matrix &volatilities, const DayCounter &dc=Actual365Fixed()) | |
floating reference date, fixed market data More... | |
TermStructure interface | |
Date | maxDate () const override |
the latest date for which the curve can return values More... | |
VolatilityTermStructure interface | |
Real | minStrike () const override |
the minimum strike for which the term structure can return vols More... | |
Real | maxStrike () const override |
the maximum strike for which the term structure can return vols More... | |
LazyObject interface | |
void | update () override |
void | performCalculations () const override |
Public Member Functions inherited from LazyObject | |
LazyObject () | |
~LazyObject () override=default | |
bool | isCalculated () const |
void | forwardFirstNotificationOnly () |
void | alwaysForwardNotifications () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
Public Member Functions inherited from CapFloorTermVolatilityStructure | |
CapFloorTermVolatilityStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
CapFloorTermVolatilityStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date More... | |
CapFloorTermVolatilityStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
~CapFloorTermVolatilityStructure () override=default | |
Volatility | volatility (const Period &length, Rate strike, bool extrapolate=false) const |
returns the volatility for a given cap/floor length and strike rate More... | |
Volatility | volatility (const Date &end, Rate strike, bool extrapolate=false) const |
Volatility | volatility (Time t, Rate strike, bool extrapolate=false) const |
returns the volatility for a given end time and strike rate More... | |
Public Member Functions inherited from VolatilityTermStructure | |
VolatilityTermStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
VolatilityTermStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date More... | |
VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
virtual BusinessDayConvention | businessDayConvention () const |
the business day convention used in tenor to date conversion More... | |
Date | optionDateFromTenor (const Period &) const |
period/date conversion More... | |
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 Date & | referenceDate () 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... | |
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... | |
some inspectors | |
Size | nOptionTenors_ |
std::vector< Period > | optionTenors_ |
std::vector< Date > | optionDates_ |
std::vector< Time > | optionTimes_ |
Date | evaluationDate_ |
Size | nStrikes_ |
std::vector< Rate > | strikes_ |
std::vector< std::vector< Handle< Quote > > > | volHandles_ |
Matrix | vols_ |
Interpolation2D | interpolation_ |
const std::vector< Period > & | optionTenors () const |
const std::vector< Date > & | optionDates () const |
const std::vector< Time > & | optionTimes () const |
const std::vector< Rate > & | strikes () const |
Volatility | volatilityImpl (Time t, Rate strike) const override |
implements the actual volatility calculation in derived classes More... | |
void | checkInputs () const |
void | initializeOptionDatesAndTimes () const |
void | registerWithMarketData () |
void | interpolate () |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from LazyObject | |
virtual void | calculate () const |
Protected Member Functions inherited from CapFloorTermVolatilityStructure | |
Protected Member Functions inherited from VolatilityTermStructure | |
void | checkStrike (Rate strike, bool extrapolate) const |
strike-range check More... | |
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 LazyObject | |
bool | calculated_ = false |
bool | frozen_ = false |
bool | alwaysForward_ |
Protected Attributes inherited from TermStructure | |
bool | moving_ = false |
bool | updated_ = true |
Calendar | calendar_ |
Cap/floor smile volatility surface.
This class provides the volatility for a given cap/floor interpolating a volatility surface whose elements are the market term volatilities of a set of caps/floors with given length and given strike.
Definition at line 42 of file capfloortermvolsurface.hpp.
CapFloorTermVolSurface | ( | Natural | settlementDays, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const std::vector< Period > & | optionTenors, | ||
const std::vector< Rate > & | strikes, | ||
const std::vector< std::vector< Handle< Quote > > > & | vols, | ||
const DayCounter & | dc = Actual365Fixed() |
||
) |
floating reference date, floating market data
Definition at line 29 of file capfloortermvolsurface.cpp.
CapFloorTermVolSurface | ( | const Date & | settlementDate, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const std::vector< Period > & | optionTenors, | ||
const std::vector< Rate > & | strikes, | ||
const std::vector< std::vector< Handle< Quote > > > & | vols, | ||
const DayCounter & | dc = Actual365Fixed() |
||
) |
fixed reference date, floating market data
Definition at line 61 of file capfloortermvolsurface.cpp.
CapFloorTermVolSurface | ( | const Date & | settlementDate, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const std::vector< Period > & | optionTenors, | ||
const std::vector< Rate > & | strikes, | ||
const Matrix & | volatilities, | ||
const DayCounter & | dc = Actual365Fixed() |
||
) |
fixed reference date, fixed market data
Definition at line 93 of file capfloortermvolsurface.cpp.
CapFloorTermVolSurface | ( | Natural | settlementDays, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const std::vector< Period > & | optionTenors, | ||
const std::vector< Rate > & | strikes, | ||
const Matrix & | volatilities, | ||
const DayCounter & | dc = Actual365Fixed() |
||
) |
floating reference date, fixed market data
Definition at line 124 of file capfloortermvolsurface.cpp.
|
overridevirtual |
the latest date for which the curve can return values
Implements TermStructure.
Definition at line 125 of file capfloortermvolsurface.hpp.
|
overridevirtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 130 of file capfloortermvolsurface.hpp.
|
overridevirtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 134 of file capfloortermvolsurface.hpp.
|
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.
Reimplemented from LazyObject.
Definition at line 195 of file capfloortermvolsurface.cpp.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Definition at line 217 of file capfloortermvolsurface.cpp.
const std::vector< Period > & optionTenors | ( | ) | const |
Definition at line 146 of file capfloortermvolsurface.hpp.
const std::vector< Date > & optionDates | ( | ) | const |
Definition at line 151 of file capfloortermvolsurface.hpp.
const std::vector< Time > & optionTimes | ( | ) | const |
Definition at line 158 of file capfloortermvolsurface.hpp.
const std::vector< Rate > & strikes | ( | ) | const |
Definition at line 164 of file capfloortermvolsurface.hpp.
|
overrideprotectedvirtual |
implements the actual volatility calculation in derived classes
Implements CapFloorTermVolatilityStructure.
Definition at line 139 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 154 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 209 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 179 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 186 of file capfloortermvolsurface.cpp.
|
private |
Definition at line 107 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 108 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 109 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 110 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 111 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 113 of file capfloortermvolsurface.hpp.
|
private |
Definition at line 114 of file capfloortermvolsurface.hpp.
Definition at line 116 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 117 of file capfloortermvolsurface.hpp.
|
mutableprivate |
Definition at line 120 of file capfloortermvolsurface.hpp.