|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
#include <fixedlocalvolsurface.hpp>
Inheritance diagram for FixedLocalVolSurface:
Collaboration diagram for FixedLocalVolSurface:Public Types | |
| enum | Extrapolation { ConstantExtrapolation , InterpolatorDefaultExtrapolation } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Public Member Functions | |
| FixedLocalVolSurface (const Date &referenceDate, const std::vector< Date > &dates, const std::vector< Real > &strikes, ext::shared_ptr< Matrix > localVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=ConstantExtrapolation, Extrapolation upperExtrapolation=ConstantExtrapolation) | |
| FixedLocalVolSurface (const Date &referenceDate, const std::vector< Time > ×, const std::vector< Real > &strikes, ext::shared_ptr< Matrix > localVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=ConstantExtrapolation, Extrapolation upperExtrapolation=ConstantExtrapolation) | |
| FixedLocalVolSurface (const Date &referenceDate, const std::vector< Time > ×, const std::vector< ext::shared_ptr< std::vector< Real > > > &strikes, ext::shared_ptr< Matrix > localVolMatrix, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=ConstantExtrapolation, Extrapolation upperExtrapolation=ConstantExtrapolation) | |
| 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... | |
| Real | minStrike () const override |
| the minimum strike for which the term structure can return vols More... | |
| Real | maxStrike () const override |
| the maximum strike for which the term structure can return vols More... | |
| template<class Interpolator > | |
| void | setInterpolation (const Interpolator &i=Interpolator()) |
Public Member Functions inherited from LocalVolTermStructure | |
| LocalVolTermStructure (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| default constructor More... | |
| LocalVolTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| initialize with a fixed reference date More... | |
| LocalVolTermStructure (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| calculate the reference date based on the global evaluation date More... | |
| ~LocalVolTermStructure () override=default | |
| Volatility | localVol (const Date &d, Real underlyingLevel, bool extrapolate=false) const |
| Volatility | localVol (Time t, Real underlyingLevel, bool extrapolate=false) const |
| virtual void | accept (AcyclicVisitor &) |
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 | |
| virtual DayCounter | dayCounter () const |
| the day counter used for date/time conversion More... | |
| Time | timeFromReference (const Date &date) const |
| date/time conversion 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 ()=default | |
| 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... | |
Protected Member Functions | |
| Volatility | localVolImpl (Time t, Real strike) const override |
| local vol calculation More... | |
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 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 | |
| const Date | maxDate_ |
| std::vector< Time > | times_ |
| const ext::shared_ptr< Matrix > | localVolMatrix_ |
| const std::vector< ext::shared_ptr< std::vector< Real > > > | strikes_ |
| std::vector< Interpolation > | localVolInterpol_ |
| Extrapolation | lowerExtrapolation_ |
| Extrapolation | upperExtrapolation_ |
Protected Attributes inherited from TermStructure | |
| bool | moving_ = false |
| bool | updated_ = true |
| Calendar | calendar_ |
Private Member Functions | |
| void | checkSurface () |
Definition at line 36 of file fixedlocalvolsurface.hpp.
| enum Extrapolation |
| Enumerator | |
|---|---|
| ConstantExtrapolation | |
| InterpolatorDefaultExtrapolation | |
Definition at line 38 of file fixedlocalvolsurface.hpp.
| FixedLocalVolSurface | ( | const Date & | referenceDate, |
| const std::vector< Date > & | dates, | ||
| const std::vector< Real > & | strikes, | ||
| ext::shared_ptr< Matrix > | localVolMatrix, | ||
| const DayCounter & | dayCounter, | ||
| Extrapolation | lowerExtrapolation = ConstantExtrapolation, |
||
| Extrapolation | upperExtrapolation = ConstantExtrapolation |
||
| ) |
| FixedLocalVolSurface | ( | const Date & | referenceDate, |
| const std::vector< Time > & | times, | ||
| const std::vector< Real > & | strikes, | ||
| ext::shared_ptr< Matrix > | localVolMatrix, | ||
| const DayCounter & | dayCounter, | ||
| Extrapolation | lowerExtrapolation = ConstantExtrapolation, |
||
| Extrapolation | upperExtrapolation = ConstantExtrapolation |
||
| ) |
| FixedLocalVolSurface | ( | const Date & | referenceDate, |
| const std::vector< Time > & | times, | ||
| const std::vector< ext::shared_ptr< std::vector< Real > > > & | strikes, | ||
| ext::shared_ptr< Matrix > | localVolMatrix, | ||
| const DayCounter & | dayCounter, | ||
| Extrapolation | lowerExtrapolation = ConstantExtrapolation, |
||
| Extrapolation | upperExtrapolation = ConstantExtrapolation |
||
| ) |
|
overridevirtual |
the latest date for which the curve can return values
Implements TermStructure.
Definition at line 116 of file fixedlocalvolsurface.cpp.
|
overridevirtual |
the latest time for which the curve can return values
Reimplemented from TermStructure.
Definition at line 119 of file fixedlocalvolsurface.cpp.
|
overridevirtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 122 of file fixedlocalvolsurface.cpp.
|
overridevirtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 125 of file fixedlocalvolsurface.cpp.
| void setInterpolation | ( | const Interpolator & | i = Interpolator() | ) |
|
overrideprotectedvirtual |
local vol calculation
Implements LocalVolTermStructure.
Definition at line 129 of file fixedlocalvolsurface.cpp.
Here is the call graph for this function:
|
private |
|
protected |
Definition at line 83 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 84 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 85 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 86 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 88 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 89 of file fixedlocalvolsurface.hpp.
|
protected |
Definition at line 89 of file fixedlocalvolsurface.hpp.