QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
swaption-volatility cube More...
#include <swaptionvolcube.hpp>
Public Member Functions | |
SwaptionVolatilityCube (const Handle< SwaptionVolatilityStructure > &atmVolStructure, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< Spread > &strikeSpreads, std::vector< std::vector< Handle< Quote > > > volSpreads, ext::shared_ptr< SwapIndex > swapIndexBase, ext::shared_ptr< SwapIndex > shortSwapIndexBase, bool vegaWeightedSmileFit) | |
TermStructure interface | |
DayCounter | dayCounter () const override |
the day counter used for date/time conversion More... | |
Date | maxDate () const override |
the latest date for which the curve can return values More... | |
Time | maxTime () const override |
the latest time for which the curve can return values More... | |
const Date & | referenceDate () const override |
the date at which discount = 1.0 and/or variance = 0.0 More... | |
Calendar | calendar () const override |
the calendar used for reference and/or option date calculation More... | |
Natural | settlementDays () const override |
the settlementDays used for reference date calculation More... | |
VolatilityTermStructure interface | |
Rate | minStrike () const override |
the minimum strike for which the term structure can return vols More... | |
Rate | maxStrike () const override |
the maximum strike for which the term structure can return vols More... | |
SwaptionVolatilityStructure interface | |
const Period & | maxSwapTenor () const override |
the largest length for which the term structure can return vols More... | |
Other inspectors | |
Rate | atmStrike (const Date &optionDate, const Period &swapTenor) const |
Rate | atmStrike (const Period &optionTenor, const Period &swapTenor) const |
Handle< SwaptionVolatilityStructure > | atmVol () const |
const std::vector< Spread > & | strikeSpreads () const |
const std::vector< std::vector< Handle< Quote > > > & | volSpreads () const |
ext::shared_ptr< SwapIndex > | swapIndexBase () const |
ext::shared_ptr< SwapIndex > | shortSwapIndexBase () const |
bool | vegaWeightedSmileFit () const |
Public Member Functions inherited from SwaptionVolatilityDiscrete | |
SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
SwaptionVolatilityDiscrete (const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
SwaptionVolatilityDiscrete (const std::vector< Date > &optionDates, const std::vector< Period > &swapTenors, const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc) | |
const std::vector< Period > & | optionTenors () const |
const std::vector< Date > & | optionDates () const |
const std::vector< Time > & | optionTimes () const |
const std::vector< Period > & | swapTenors () const |
const std::vector< Time > & | swapLengths () const |
void | update () override |
void | performCalculations () const override |
Date | optionDateFromTime (Time optionTime) const |
additional inspectors More... | |
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 SwaptionVolatilityStructure | |
SwaptionVolatilityStructure (BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
SwaptionVolatilityStructure (const Date &referenceDate, const Calendar &calendar, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date More... | |
SwaptionVolatilityStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
~SwaptionVolatilityStructure () override=default | |
Volatility | volatility (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option tenor and swap tenor More... | |
Volatility | volatility (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option date and swap tenor More... | |
Volatility | volatility (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option time and swap tenor More... | |
Volatility | volatility (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option tenor and swap length More... | |
Volatility | volatility (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option date and swap length More... | |
Volatility | volatility (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option time and swap length More... | |
Real | blackVariance (const Period &optionTenor, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option tenor and swap tenor More... | |
Real | blackVariance (const Date &optionDate, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option date and swap tenor More... | |
Real | blackVariance (Time optionTime, const Period &swapTenor, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option time and swap tenor More... | |
Real | blackVariance (const Period &optionTenor, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option tenor and swap length More... | |
Real | blackVariance (const Date &optionDate, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option date and swap length More... | |
Real | blackVariance (Time optionTime, Time swapLength, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option time and swap length More... | |
Real | shift (const Period &optionTenor, const Period &swapTenor, bool extrapolate=false) const |
returns the shift for a given option tenor and swap tenor More... | |
Real | shift (const Date &optionDate, const Period &swapTenor, bool extrapolate=false) const |
returns the shift for a given option date and swap tenor More... | |
Real | shift (Time optionTime, const Period &swapTenor, bool extrapolate=false) const |
returns the shift for a given option time and swap tenor More... | |
Real | shift (const Period &optionTenor, Time swapLength, bool extrapolate=false) const |
returns the shift for a given option tenor and swap length More... | |
Real | shift (const Date &optionDate, Time swapLength, bool extrapolate=false) const |
returns the shift for a given option date and swap length More... | |
Real | shift (Time optionTime, Time swapLength, bool extrapolate=false) const |
returns the shift for a given option time and swap length More... | |
ext::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, const Period &swapTenor, bool extr=false) const |
returns the smile for a given option tenor and swap tenor More... | |
ext::shared_ptr< SmileSection > | smileSection (const Date &optionDate, const Period &swapTenor, bool extr=false) const |
returns the smile for a given option date and swap tenor More... | |
ext::shared_ptr< SmileSection > | smileSection (Time optionTime, const Period &swapTenor, bool extr=false) const |
returns the smile for a given option time and swap tenor More... | |
ext::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, Time swapLength, bool extr=false) const |
returns the smile for a given option tenor and swap length More... | |
ext::shared_ptr< SmileSection > | smileSection (const Date &optionDate, Time swapLength, bool extr=false) const |
returns the smile for a given option date and swap length More... | |
ext::shared_ptr< SmileSection > | smileSection (Time optionTime, Time swapLength, bool extr=false) const |
returns the smile for a given option time and swap length More... | |
Time | maxSwapLength () const |
the largest swapLength for which the term structure can return vols More... | |
Time | swapLength (const Period &swapTenor) const |
implements the conversion between swap tenor and swap (time) length More... | |
Time | swapLength (const Date &start, const Date &end) const |
implements the conversion between swap dates and swap (time) length 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 | |
Time | timeFromReference (const Date &date) const |
date/time conversion 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... | |
LazyObject interface | |
Handle< SwaptionVolatilityStructure > | atmVol_ |
Size | nStrikes_ |
std::vector< Spread > | strikeSpreads_ |
std::vector< Rate > | localStrikes_ |
std::vector< Volatility > | localSmile_ |
std::vector< std::vector< Handle< Quote > > > | volSpreads_ |
ext::shared_ptr< SwapIndex > | swapIndexBase_ |
ext::shared_ptr< SwapIndex > | shortSwapIndexBase_ |
bool | vegaWeightedSmileFit_ |
void | performCalculations () const override |
VolatilityType | volatilityType () const override |
volatility type More... | |
void | registerWithVolatilitySpread () |
virtual Size | requiredNumberOfStrikes () const |
Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const override |
Volatility | volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const override |
Real | shiftImpl (Time optionTime, Time swapLength) const override |
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 SwaptionVolatilityStructure | |
virtual ext::shared_ptr< SmileSection > | smileSectionImpl (const Date &optionDate, const Period &swapTenor) const |
virtual ext::shared_ptr< SmileSection > | smileSectionImpl (Time optionTime, Time swapLength) const =0 |
virtual Real | shiftImpl (const Date &optionDate, const Period &swapTenor) const |
void | checkSwapTenor (const Period &swapTenor, bool extrapolate) const |
void | checkSwapTenor (Time swapLength, bool extrapolate) const |
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 SwaptionVolatilityDiscrete | |
Size | nOptionTenors_ |
std::vector< Period > | optionTenors_ |
std::vector< Date > | optionDates_ |
std::vector< Time > | optionTimes_ |
Interpolation | optionInterpolator_ |
std::vector< Real > | optionDatesAsReal_ |
std::vector< Time > | optionInterpolatorTimes_ |
std::vector< Real > | optionInterpolatorDatesAsReal_ |
Size | nSwapTenors_ |
std::vector< Period > | swapTenors_ |
std::vector< Time > | swapLengths_ |
Date | cachedReferenceDate_ |
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_ |
swaption-volatility cube
Definition at line 40 of file swaptionvolcube.hpp.
SwaptionVolatilityCube | ( | const Handle< SwaptionVolatilityStructure > & | atmVolStructure, |
const std::vector< Period > & | optionTenors, | ||
const std::vector< Period > & | swapTenors, | ||
const std::vector< Spread > & | strikeSpreads, | ||
std::vector< std::vector< Handle< Quote > > > | volSpreads, | ||
ext::shared_ptr< SwapIndex > | swapIndexBase, | ||
ext::shared_ptr< SwapIndex > | shortSwapIndexBase, | ||
bool | vegaWeightedSmileFit | ||
) |
|
overridevirtual |
the day counter used for date/time conversion
Reimplemented from TermStructure.
Definition at line 52 of file swaptionvolcube.hpp.
|
overridevirtual |
the latest date for which the curve can return values
Implements TermStructure.
Definition at line 53 of file swaptionvolcube.hpp.
|
overridevirtual |
the latest time for which the curve can return values
Reimplemented from TermStructure.
Definition at line 54 of file swaptionvolcube.hpp.
|
overridevirtual |
the date at which discount = 1.0 and/or variance = 0.0
Reimplemented from TermStructure.
Definition at line 55 of file swaptionvolcube.hpp.
|
overridevirtual |
the calendar used for reference and/or option date calculation
Reimplemented from TermStructure.
Definition at line 56 of file swaptionvolcube.hpp.
|
overridevirtual |
the settlementDays used for reference date calculation
Reimplemented from TermStructure.
Definition at line 57 of file swaptionvolcube.hpp.
|
overridevirtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 60 of file swaptionvolcube.hpp.
|
overridevirtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 61 of file swaptionvolcube.hpp.
|
overridevirtual |
the largest length for which the term structure can return vols
Implements SwaptionVolatilityStructure.
Definition at line 65 of file swaptionvolcube.hpp.
Definition at line 89 of file swaptionvolcube.cpp.
Handle< SwaptionVolatilityStructure > atmVol | ( | ) | const |
const std::vector< Spread > & strikeSpreads | ( | ) | const |
Definition at line 77 of file swaptionvolcube.hpp.
Definition at line 78 of file swaptionvolcube.hpp.
ext::shared_ptr< SwapIndex > swapIndexBase | ( | ) | const |
Definition at line 79 of file swaptionvolcube.hpp.
ext::shared_ptr< SwapIndex > shortSwapIndexBase | ( | ) | const |
Definition at line 80 of file swaptionvolcube.hpp.
bool vegaWeightedSmileFit | ( | ) | const |
Definition at line 81 of file swaptionvolcube.hpp.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Definition at line 85 of file swaptionvolcube.hpp.
|
overridevirtual |
volatility type
Reimplemented from SwaptionVolatilityStructure.
Definition at line 114 of file swaptionvolcube.hpp.
|
protected |
Definition at line 81 of file swaptionvolcube.cpp.
|
protectedvirtual |
Reimplemented in XabrSwaptionVolatilityCube< Model >.
Definition at line 97 of file swaptionvolcube.hpp.
|
overrideprotectedvirtual |
Implements SwaptionVolatilityStructure.
Definition at line 118 of file swaptionvolcube.hpp.
|
overrideprotectedvirtual |
Reimplemented from SwaptionVolatilityStructure.
Definition at line 125 of file swaptionvolcube.hpp.
Reimplemented from SwaptionVolatilityStructure.
Definition at line 132 of file swaptionvolcube.hpp.
|
protected |
Definition at line 102 of file swaptionvolcube.hpp.
|
protected |
Definition at line 103 of file swaptionvolcube.hpp.
|
protected |
Definition at line 104 of file swaptionvolcube.hpp.
|
mutableprotected |
Definition at line 105 of file swaptionvolcube.hpp.
|
mutableprotected |
Definition at line 106 of file swaptionvolcube.hpp.
Definition at line 107 of file swaptionvolcube.hpp.
|
protected |
Definition at line 108 of file swaptionvolcube.hpp.
|
protected |
Definition at line 108 of file swaptionvolcube.hpp.
|
protected |
Definition at line 109 of file swaptionvolcube.hpp.