Black volatility surface modelled as variance surface. More...
#include <ql/termstructures/volatility/equityfx/blackvariancesurface.hpp>
Inheritance diagram for BlackVarianceSurface:Public Types | |
| enum | Extrapolation { ConstantExtrapolation, InterpolatorDefaultExtrapolation } |
Public Types inherited from Observer | |
| typedef std::set< boost::shared_ptr< Observable > > | set_type |
| typedef set_type::iterator | iterator |
Public Member Functions | |
| BlackVarianceSurface (const Date &referenceDate, const Calendar &cal, const std::vector< Date > &dates, const std::vector< Real > &strikes, const Matrix &blackVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=InterpolatorDefaultExtrapolation, Extrapolation upperExtrapolation=InterpolatorDefaultExtrapolation) | |
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()) |
Visitability | |
| virtual void | accept (AcyclicVisitor &) |
Public Member Functions inherited from BlackVarianceTermStructure | |
| 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 | |
Public Member Functions inherited from BlackVolTermStructure | |
| 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 | |
| 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 | |
Public Member Functions inherited from VolatilityTermStructure | |
| virtual BusinessDayConvention | businessDayConvention () const |
| the business day convention used in tenor to date conversion | |
| Date | optionDateFromTenor (const Period &) const |
| period/date conversion | |
| 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 | |
Public Member Functions inherited from TermStructure | |
| 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 | |
| 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 () |
Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
| void | registerWithObservables (const boost::shared_ptr< Observer > &) |
| Size | unregisterWith (const boost::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| void | notifyObservers () |
Public Member Functions inherited from Extrapolator | |
| 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 | |
Protected Member Functions | |
| virtual Real | blackVarianceImpl (Time t, Real strike) const |
| Black variance calculation. | |
Protected Member Functions inherited from BlackVarianceTermStructure | |
| 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. | |
Protected Member Functions inherited from VolatilityTermStructure | |
| void | checkStrike (Rate strike, bool extrapolate) const |
| strike-range check | |
Protected Member Functions inherited from TermStructure | |
| void | checkRange (const Date &d, bool extrapolate) const |
| date-range check | |
| void | checkRange (Time t, bool extrapolate) const |
| time-range check | |
Additional Inherited Members | |
Protected Attributes inherited from TermStructure | |
| bool | moving_ |
| bool | updated_ |
| Calendar | calendar_ |
Black volatility surface modelled as variance surface.
This class calculates time/strike dependent Black volatilities using as input a matrix of Black volatilities observed in the market.
The calculation is performed interpolating on the variance surface. Bilinear interpolation is used as default; this can be changed by the setInterpolation() method.