QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Swaption-volatility structure More...
#include <swaptionvolstructure.hpp>
Public Member Functions | |
Constructors | |
See the TermStructure documentation for issues regarding constructors. | |
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, variance and smile | |
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... | |
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... | |
virtual Rate | minStrike () const =0 |
the minimum strike for which the term structure can return vols More... | |
virtual Rate | maxStrike () const =0 |
the maximum strike for which the term structure can return vols 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 Date | maxDate () const =0 |
the latest date for which the curve can return values 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... | |
void | update () override |
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 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 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... | |
Limits | |
virtual const Period & | maxSwapTenor () const =0 |
the largest length for which the term structure can return vols More... | |
Time | maxSwapLength () const |
the largest swapLength for which the term structure can return vols More... | |
virtual VolatilityType | volatilityType () const |
volatility type 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... | |
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 Volatility | volatilityImpl (const Date &optionDate, const Period &swapTenor, Rate strike) const |
virtual Volatility | volatilityImpl (Time optionTime, Time swapLength, Rate strike) const =0 |
virtual Real | shiftImpl (const Date &optionDate, const Period &swapTenor) const |
virtual Real | shiftImpl (Time optionTime, Time swapLength) const |
void | checkSwapTenor (const Period &swapTenor, bool extrapolate) const |
void | checkSwapTenor (Time swapLength, bool extrapolate) const |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
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 TermStructure | |
bool | moving_ = false |
bool | updated_ = true |
Calendar | calendar_ |
Swaption-volatility structure
This abstract class defines the interface of concrete swaption volatility structures which will be derived from this one.
Definition at line 41 of file swaptionvolstructure.hpp.
SwaptionVolatilityStructure | ( | BusinessDayConvention | bdc, |
const DayCounter & | dc = DayCounter() |
||
) |
Definition at line 27 of file swaptionvolstructure.cpp.
SwaptionVolatilityStructure | ( | const Date & | referenceDate, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const DayCounter & | dc = DayCounter() |
||
) |
initialize with a fixed reference date
Definition at line 32 of file swaptionvolstructure.cpp.
SwaptionVolatilityStructure | ( | Natural | settlementDays, |
const Calendar & | calendar, | ||
BusinessDayConvention | bdc, | ||
const DayCounter & | dc = DayCounter() |
||
) |
calculate the reference date based on the global evaluation date
Definition at line 39 of file swaptionvolstructure.cpp.
|
overridedefault |
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
Definition at line 225 of file swaptionvolstructure.hpp.
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
Definition at line 325 of file swaptionvolstructure.hpp.
Volatility volatility | ( | Time | optionTime, |
const Period & | swapTenor, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option time and swap tenor
Definition at line 348 of file swaptionvolstructure.hpp.
Volatility volatility | ( | const Period & | optionTenor, |
Time | swapLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option tenor and swap length
Definition at line 234 of file swaptionvolstructure.hpp.
Volatility volatility | ( | const Date & | optionDate, |
Time | swapLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option date and swap length
Definition at line 336 of file swaptionvolstructure.hpp.
Volatility volatility | ( | Time | optionTime, |
Time | swapLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option time and swap length
Definition at line 360 of file swaptionvolstructure.hpp.
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
Definition at line 243 of file swaptionvolstructure.hpp.
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
Definition at line 286 of file swaptionvolstructure.hpp.
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
Definition at line 296 of file swaptionvolstructure.hpp.
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
Definition at line 252 of file swaptionvolstructure.hpp.
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
Definition at line 305 of file swaptionvolstructure.hpp.
Real blackVariance | ( | Time | optionTime, |
Time | swapLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the Black variance for a given option time and swap length
Definition at line 315 of file swaptionvolstructure.hpp.
returns the shift for a given option tenor and swap tenor
Definition at line 261 of file swaptionvolstructure.hpp.
returns the shift for a given option date and swap tenor
Definition at line 371 of file swaptionvolstructure.hpp.
returns the shift for a given option time and swap tenor
Definition at line 390 of file swaptionvolstructure.hpp.
returns the shift for a given option tenor and swap length
Definition at line 269 of file swaptionvolstructure.hpp.
returns the shift for a given option date and swap length
Definition at line 380 of file swaptionvolstructure.hpp.
returns the shift for a given option time and swap length
Definition at line 400 of file swaptionvolstructure.hpp.
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
Definition at line 277 of file swaptionvolstructure.hpp.
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
Definition at line 409 of file swaptionvolstructure.hpp.
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
Definition at line 418 of file swaptionvolstructure.hpp.
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
Definition at line 427 of file swaptionvolstructure.hpp.
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
Definition at line 437 of file swaptionvolstructure.hpp.
ext::shared_ptr< SmileSection > smileSection | ( | Time | optionTime, |
Time | swapLength, | ||
bool | extr = false |
||
) | const |
returns the smile for a given option time and swap length
Definition at line 446 of file swaptionvolstructure.hpp.
|
pure virtual |
the largest length for which the term structure can return vols
Implemented in TenorSwaptionVTS, Gaussian1dSwaptionVolatility, SpreadedSwaptionVolatility, ConstantSwaptionVolatility, SwaptionVolatilityCube, and SwaptionVolatilityMatrix.
Time maxSwapLength | ( | ) | const |
the largest swapLength for which the term structure can return vols
Definition at line 485 of file swaptionvolstructure.hpp.
|
virtual |
volatility type
Reimplemented in TenorSwaptionVTS, SpreadedSwaptionVolatility, ConstantSwaptionVolatility, SwaptionVolatilityCube, and SwaptionVolatilityMatrix.
Definition at line 189 of file swaptionvolstructure.hpp.
implements the conversion between swap tenor and swap (time) length
Definition at line 47 of file swaptionvolstructure.cpp.
implements the conversion between swap dates and swap (time) length
Definition at line 60 of file swaptionvolstructure.cpp.
|
protectedvirtual |
Reimplemented in Gaussian1dSwaptionVolatility, ConstantSwaptionVolatility, InterpolatedSwaptionVolatilityCube, and SpreadedSwaptionVolatility.
Definition at line 457 of file swaptionvolstructure.hpp.
|
protectedpure virtual |
|
protectedvirtual |
Reimplemented in Gaussian1dSwaptionVolatility, ConstantSwaptionVolatility, SpreadedSwaptionVolatility, and SwaptionVolatilityCube.
Definition at line 464 of file swaptionvolstructure.hpp.
|
protectedpure virtual |
Definition at line 473 of file swaptionvolstructure.hpp.
Reimplemented in SpreadedSwaptionVolatility, ConstantSwaptionVolatility, SwaptionVolatilityCube, and SwaptionVolatilityMatrix.
Definition at line 478 of file swaptionvolstructure.hpp.
Definition at line 70 of file swaptionvolstructure.cpp.