Black volatility curve modelled as variance curve. More...
#include <ql/termstructures/volatility/equityfx/blackvariancecurve.hpp>
Public Member Functions | |
BlackVarianceCurve (const Date &referenceDate, const std::vector< Date > &dates, const std::vector< Volatility > &blackVolCurve, const DayCounter &dayCounter, bool forceMonotoneVariance=true) | |
TermStructure interface | |
DayCounter | dayCounter () const |
the day counter used for date/time conversion | |
Date | maxDate () const |
the latest date for which the curve can return values | |
VolatilityTermStructure interface | |
Real | minStrike () const |
the minimum strike for which the term structure can return vols | |
Real | maxStrike () const |
the maximum strike for which the term structure can return vols | |
Modifiers | |
template<class Interpolator > | |
void | setInterpolation (const Interpolator &i=Interpolator()) |
![]() | |
BlackVarianceTermStructure (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
default constructor More... | |
BlackVarianceTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date | |
BlackVarianceTermStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date | |
![]() | |
BlackVolTermStructure (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
default constructor More... | |
BlackVolTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date | |
BlackVolTermStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date | |
virtual | ~BlackVolTermStructure () |
Volatility | blackVol (const Date &maturity, Real strike, bool extrapolate=false) const |
spot volatility | |
Volatility | blackVol (Time maturity, Real strike, bool extrapolate=false) const |
spot volatility | |
Real | blackVariance (const Date &maturity, Real strike, bool extrapolate=false) const |
spot variance | |
Real | blackVariance (Time maturity, Real strike, bool extrapolate=false) const |
spot variance | |
Volatility | blackForwardVol (const Date &date1, const Date &date2, Real strike, bool extrapolate=false) const |
forward (at-the-money) volatility | |
Volatility | blackForwardVol (Time time1, Time time2, Real strike, bool extrapolate=false) const |
forward (at-the-money) volatility | |
Real | blackForwardVariance (const Date &date1, const Date &date2, Real strike, bool extrapolate=false) const |
forward (at-the-money) variance | |
Real | blackForwardVariance (Time time1, Time time2, Real strike, bool extrapolate=false) const |
forward (at-the-money) variance | |
![]() | |
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 | |
VolatilityTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date | |
virtual BusinessDayConvention | businessDayConvention () const |
the business day convention used in tenor to date conversion | |
Date | optionDateFromTenor (const Period &) const |
period/date conversion | |
![]() | |
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 () |
Time | timeFromReference (const Date &date) const |
date/time conversion | |
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 () |
![]() | |
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 () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
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 | |
Visitability | |
virtual void | accept (AcyclicVisitor &) |
virtual Real | blackVarianceImpl (Time t, Real) const |
Black variance calculation. | |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
![]() | |
Volatility | blackVolImpl (Time t, Real strike) const |
Calculations | |
These methods must be implemented in derived classes to perform the actual volatility calculations. When they are called, range check has already been performed; therefore, they must assume that extrapolation is required. | |
![]() | |
void | checkStrike (Rate strike, bool extrapolate) const |
strike-range check | |
![]() | |
void | checkRange (const Date &d, bool extrapolate) const |
date-range check | |
void | checkRange (Time t, bool extrapolate) const |
time-range check | |
![]() | |
bool | moving_ |
bool | updated_ |
Calendar | calendar_ |
Black volatility curve modelled as variance curve.
This class calculates time-dependent Black volatilities using as input a vector of (ATM) Black volatilities observed in the market.
The calculation is performed interpolating on the variance curve. Linear interpolation is used as default; this can be changed by the setInterpolation() method.
For strike dependence, see BlackVarianceSurface.