QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Callable-bond volatility structure. More...
#include <callablebondvolstructure.hpp>
Public Member Functions | |
Constructors | |
See the TermStructure documentation for issues regarding constructors. | |
CallableBondVolatilityStructure (const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following) | |
default constructor More... | |
CallableBondVolatilityStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following) | |
initialize with a fixed reference date More... | |
CallableBondVolatilityStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter(), BusinessDayConvention bdc=Following) | |
calculate the reference date based on the global evaluation date More... | |
~CallableBondVolatilityStructure () override=default | |
Volatility, variance and smile | |
Volatility | volatility (Time optionTime, Time bondLength, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option time and bondLength More... | |
Real | blackVariance (Time optionTime, Time bondLength, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option time and bondLength More... | |
Volatility | volatility (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option date and bond tenor More... | |
Real | blackVariance (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option date and bond tenor More... | |
virtual ext::shared_ptr< SmileSection > | smileSection (const Date &optionDate, const Period &bondTenor) const |
Volatility | volatility (const Period &optionTenor, const Period &bondTenor, Rate strike, bool extrapolate=false) const |
returns the volatility for a given option tenor and bond tenor More... | |
Real | blackVariance (const Period &optionTenor, const Period &bondTenor, Rate strike, bool extrapolate=false) const |
returns the Black variance for a given option tenor and bond tenor More... | |
ext::shared_ptr< SmileSection > | smileSection (const Period &optionTenor, const Period &bondTenor) 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 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 | |
BusinessDayConvention | bdc_ |
virtual const Period & | maxBondTenor () const =0 |
the largest length for which the term structure can return vols More... | |
virtual Time | maxBondLength () const |
the largest bondLength for which the term structure can return vols 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... | |
virtual std::pair< Time, Time > | convertDates (const Date &optionDate, const Period &bondTenor) const |
implements the conversion between dates and times More... | |
virtual BusinessDayConvention | businessDayConvention () const |
the business day convention used for option date calculation More... | |
Date | optionDateFromTenor (const Period &optionTenor) const |
implements the conversion between optionTenors and optionDates More... | |
virtual ext::shared_ptr< SmileSection > | smileSectionImpl (Time optionTime, Time bondLength) const =0 |
return smile section More... | |
virtual Volatility | volatilityImpl (Time optionTime, Time bondLength, Rate strike) const =0 |
implements the actual volatility calculation in derived classes More... | |
virtual Volatility | volatilityImpl (const Date &optionDate, const Period &bondTenor, Rate strike) const |
void | checkRange (Time, Time, Rate strike, bool extrapolate) const |
void | checkRange (const Date &optionDate, const Period &bondTenor, Rate strike, bool extrapolate) const |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
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_ |
Callable-bond volatility structure.
This class is purely abstract and defines the interface of concrete callable-bond volatility structures which will be derived from this one.
Definition at line 38 of file callablebondvolstructure.hpp.
CallableBondVolatilityStructure | ( | const DayCounter & | dc = DayCounter() , |
BusinessDayConvention | bdc = Following |
||
) |
default constructor
Definition at line 25 of file callablebondvolstructure.cpp.
CallableBondVolatilityStructure | ( | const Date & | referenceDate, |
const Calendar & | calendar = Calendar() , |
||
const DayCounter & | dc = DayCounter() , |
||
BusinessDayConvention | bdc = Following |
||
) |
initialize with a fixed reference date
Definition at line 30 of file callablebondvolstructure.cpp.
CallableBondVolatilityStructure | ( | Natural | settlementDays, |
const Calendar & | calendar, | ||
const DayCounter & | dc = DayCounter() , |
||
BusinessDayConvention | bdc = Following |
||
) |
calculate the reference date based on the global evaluation date
Definition at line 37 of file callablebondvolstructure.cpp.
|
overridedefault |
Volatility volatility | ( | Time | optionTime, |
Time | bondLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option time and bondLength
Definition at line 167 of file callablebondvolstructure.hpp.
Real blackVariance | ( | Time | optionTime, |
Time | bondLength, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the Black variance for a given option time and bondLength
Definition at line 177 of file callablebondvolstructure.hpp.
Volatility volatility | ( | const Date & | optionDate, |
const Period & | bondTenor, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option date and bond tenor
Definition at line 188 of file callablebondvolstructure.hpp.
Real blackVariance | ( | const Date & | optionDate, |
const Period & | bondTenor, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the Black variance for a given option date and bond tenor
Definition at line 197 of file callablebondvolstructure.hpp.
|
virtual |
Definition at line 87 of file callablebondvolstructure.hpp.
Volatility volatility | ( | const Period & | optionTenor, |
const Period & | bondTenor, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the volatility for a given option tenor and bond tenor
Definition at line 208 of file callablebondvolstructure.hpp.
Real blackVariance | ( | const Period & | optionTenor, |
const Period & | bondTenor, | ||
Rate | strike, | ||
bool | extrapolate = false |
||
) | const |
returns the Black variance for a given option tenor and bond tenor
Definition at line 217 of file callablebondvolstructure.hpp.
ext::shared_ptr< SmileSection > smileSection | ( | const Period & | optionTenor, |
const Period & | bondTenor | ||
) | const |
Definition at line 231 of file callablebondvolstructure.hpp.
|
pure virtual |
the largest length for which the term structure can return vols
Implemented in CallableBondConstantVolatility.
|
virtual |
the largest bondLength for which the term structure can return vols
Reimplemented in CallableBondConstantVolatility.
Definition at line 44 of file callablebondvolstructure.cpp.
|
pure virtual |
the minimum strike for which the term structure can return vols
Implemented in CallableBondConstantVolatility.
|
pure virtual |
the maximum strike for which the term structure can return vols
Implemented in CallableBondConstantVolatility.
|
virtual |
implements the conversion between dates and times
Definition at line 49 of file callablebondvolstructure.cpp.
|
virtual |
the business day convention used for option date calculation
Definition at line 156 of file callablebondvolstructure.hpp.
implements the conversion between optionTenors and optionDates
Definition at line 160 of file callablebondvolstructure.hpp.
|
protectedpure virtual |
return smile section
Implemented in CallableBondConstantVolatility.
|
protectedpure virtual |
implements the actual volatility calculation in derived classes
Implemented in CallableBondConstantVolatility.
|
protectedvirtual |
Reimplemented in CallableBondConstantVolatility.
Definition at line 138 of file callablebondvolstructure.hpp.
Definition at line 239 of file callablebondvolstructure.hpp.
|
protected |
Definition at line 60 of file callablebondvolstructure.cpp.
|
private |
Definition at line 149 of file callablebondvolstructure.hpp.