QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <gridmodellocalvolsurface.hpp>
Public Types | |
typedef FixedLocalVolSurface::Extrapolation | Extrapolation |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Public Member Functions | |
GridModelLocalVolSurface (const Date &referenceDate, const std::vector< Date > &dates, const std::vector< ext::shared_ptr< std::vector< Real > > > &strikes, const DayCounter &dayCounter, Extrapolation lowerExtrapolation=FixedLocalVolSurface::ConstantExtrapolation, Extrapolation upperExtrapolation=FixedLocalVolSurface::ConstantExtrapolation) | |
void | update () override |
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... | |
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... | |
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... | |
Public Member Functions inherited from CalibratedModel | |
CalibratedModel (Size nArguments) | |
void | update () override |
virtual void | calibrate (const std::vector< ext::shared_ptr< CalibrationHelper > > &, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >(), const std::vector< bool > &fixParameters=std::vector< bool >()) |
Calibrate to a set of market instruments (usually caps/swaptions) More... | |
Real | value (const Array ¶ms, const std::vector< ext::shared_ptr< CalibrationHelper > > &) |
const ext::shared_ptr< Constraint > & | constraint () const |
EndCriteria::Type | endCriteria () const |
Returns end criteria result. More... | |
const Array & | problemValues () const |
Returns the problem values. More... | |
Array | params () const |
Returns array of arguments on which calibration is done. More... | |
virtual void | setParams (const Array ¶ms) |
Integer | functionEvaluation () const |
Protected Member Functions | |
void | generateArguments () override |
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... | |
virtual void | generateArguments () |
Protected Attributes | |
const Date | referenceDate_ |
std::vector< Time > | times_ |
const std::vector< ext::shared_ptr< std::vector< Real > > > | strikes_ |
const DayCounter | dayCounter_ |
Extrapolation | lowerExtrapolation_ |
Extrapolation | upperExtrapolation_ |
ext::shared_ptr< LocalVolTermStructure > | localVol_ |
Protected Attributes inherited from TermStructure | |
bool | moving_ = false |
bool | updated_ = true |
Calendar | calendar_ |
Protected Attributes inherited from CalibratedModel | |
std::vector< Parameter > | arguments_ |
ext::shared_ptr< Constraint > | constraint_ |
EndCriteria::Type | shortRateEndCriteria_ = EndCriteria::None |
Array | problemValues_ |
Integer | functionEvaluation_ |
Definition at line 32 of file gridmodellocalvolsurface.hpp.
Definition at line 36 of file gridmodellocalvolsurface.hpp.
GridModelLocalVolSurface | ( | const Date & | referenceDate, |
const std::vector< Date > & | dates, | ||
const std::vector< ext::shared_ptr< std::vector< Real > > > & | strikes, | ||
const DayCounter & | dayCounter, | ||
Extrapolation | lowerExtrapolation = FixedLocalVolSurface::ConstantExtrapolation , |
||
Extrapolation | upperExtrapolation = FixedLocalVolSurface::ConstantExtrapolation |
||
) |
Definition at line 30 of file gridmodellocalvolsurface.cpp.
|
overridevirtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Reimplemented from CalibratedModel.
Definition at line 62 of file gridmodellocalvolsurface.cpp.
|
overridevirtual |
the latest date for which the curve can return values
Implements TermStructure.
Definition at line 67 of file gridmodellocalvolsurface.cpp.
|
overridevirtual |
the latest time for which the curve can return values
Reimplemented from TermStructure.
Definition at line 70 of file gridmodellocalvolsurface.cpp.
|
overridevirtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 73 of file gridmodellocalvolsurface.cpp.
|
overridevirtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 76 of file gridmodellocalvolsurface.cpp.
|
overrideprotectedvirtual |
Reimplemented from CalibratedModel.
Definition at line 85 of file gridmodellocalvolsurface.cpp.
|
overrideprotectedvirtual |
local vol calculation
Implements LocalVolTermStructure.
Definition at line 80 of file gridmodellocalvolsurface.cpp.
|
protected |
Definition at line 59 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 60 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 61 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 62 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 63 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 63 of file gridmodellocalvolsurface.hpp.
|
protected |
Definition at line 65 of file gridmodellocalvolsurface.hpp.