|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Abcd-interpolated at-the-money (no-smile) volatility curve. More...
#include <abcdatmvolcurve.hpp>
Inheritance diagram for AbcdAtmVolCurve:
Collaboration diagram for AbcdAtmVolCurve:Public Member Functions | |
| AbcdAtmVolCurve (Natural settlementDays, const Calendar &cal, const std::vector< Period > &optionTenors, const std::vector< Handle< Quote > > &volsHandles, std::vector< bool > inclusionInInterpolationFlag=std::vector< bool >(1, true), BusinessDayConvention bdc=Following, const DayCounter &dc=Actual365Fixed()) | |
| floating reference date, floating market data More... | |
| std::vector< Real > | k () const |
| Returns k adjustment factors for option tenors used in interpolation. More... | |
| Real | k (Time t) const |
| Returns k adjustment factor at time t. More... | |
| Real | a () const |
| Real | b () const |
| Real | c () const |
| Real | d () const |
| Real | rmsError () const |
| Real | maxError () const |
| EndCriteria::Type | endCriteria () const |
TermStructure interface | |
| Date | maxDate () const override |
| the latest date for which the curve can return values More... | |
VolatilityTermStructure interface | |
| 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... | |
LazyObject interface | |
| void | update () override |
| void | performCalculations () const override |
some inspectors | |
| const std::vector< Period > & | optionTenors () const |
| const std::vector< Period > & | optionTenorsInInterpolation () const |
| const std::vector< Date > & | optionDates () const |
| const std::vector< Time > & | optionTimes () const |
Visitability | |
| void | accept (AcyclicVisitor &) override |
Public Member Functions inherited from BlackAtmVolCurve | |
| BlackAtmVolCurve (BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| default constructor More... | |
| BlackAtmVolCurve (const Date &referenceDate, const Calendar &cal=Calendar(), BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| initialize with a fixed reference date More... | |
| BlackAtmVolCurve (Natural settlementDays, const Calendar &, BusinessDayConvention bdc=Following, const DayCounter &dc=DayCounter()) | |
| calculate the reference date based on the global evaluation date More... | |
| ~BlackAtmVolCurve () override=default | |
| Volatility | atmVol (const Period &optionTenor, bool extrapolate=false) const |
| spot at-the-money volatility More... | |
| Volatility | atmVol (const Date &maturity, bool extrapolate=false) const |
| spot at-the-money volatility More... | |
| Volatility | atmVol (Time maturity, bool extrapolate=false) const |
| spot at-the-money volatility More... | |
| Real | atmVariance (const Period &optionTenor, bool extrapolate=false) const |
| spot at-the-money variance More... | |
| Real | atmVariance (const Date &maturity, bool extrapolate=false) const |
| spot at-the-money variance More... | |
| Real | atmVariance (Time maturity, bool extrapolate=false) const |
| spot at-the-money variance More... | |
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 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 ()=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... | |
Public Member Functions inherited from LazyObject | |
| LazyObject () | |
| ~LazyObject () override=default | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
BlackAtmVolCurve interface | |
| Size | nOptionTenors_ |
| std::vector< Period > | optionTenors_ |
| std::vector< Period > | actualOptionTenors_ |
| std::vector< Date > | optionDates_ |
| std::vector< Time > | optionTimes_ |
| std::vector< Time > | actualOptionTimes_ |
| Date | evaluationDate_ |
| std::vector< Handle< Quote > > | volHandles_ |
| std::vector< Volatility > | vols_ |
| std::vector< Volatility > | actualVols_ |
| std::vector< bool > | inclusionInInterpolation_ |
| ext::shared_ptr< AbcdInterpolation > | interpolation_ |
| Real | atmVarianceImpl (Time t) const override |
| spot at-the-money variance calculation (k adjusted) More... | |
| Volatility | atmVolImpl (Time t) const override |
| spot at-the-money volatility calculation (k adjusted) More... | |
| void | checkInputs () const |
| void | initializeOptionDatesAndTimes () const |
| void | initializeVolatilities () |
| void | registerWithMarketData () |
| void | interpolate () |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
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 Member Functions inherited from LazyObject | |
| virtual void | calculate () const |
Protected Attributes inherited from TermStructure | |
| bool | moving_ = false |
| bool | updated_ = true |
| Calendar | calendar_ |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
Abcd-interpolated at-the-money (no-smile) volatility curve.
blah blah
Definition at line 40 of file abcdatmvolcurve.hpp.
| AbcdAtmVolCurve | ( | Natural | settlementDays, |
| const Calendar & | cal, | ||
| const std::vector< Period > & | optionTenors, | ||
| const std::vector< Handle< Quote > > & | volsHandles, | ||
| std::vector< bool > | inclusionInInterpolationFlag = std::vector<bool>(1, true), |
||
| BusinessDayConvention | bdc = Following, |
||
| const DayCounter & | dc = Actual365Fixed() |
||
| ) |
floating reference date, floating market data
Definition at line 29 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:| std::vector< Real > k | ( | ) | const |
Returns k adjustment factors for option tenors used in interpolation.
Definition at line 163 of file abcdatmvolcurve.hpp.
Here is the caller graph for this function:Returns k adjustment factor at time t.
Definition at line 168 of file abcdatmvolcurve.hpp.
| Real a | ( | ) | const |
Definition at line 172 of file abcdatmvolcurve.hpp.
| Real b | ( | ) | const |
Definition at line 176 of file abcdatmvolcurve.hpp.
| Real c | ( | ) | const |
Definition at line 180 of file abcdatmvolcurve.hpp.
| Real d | ( | ) | const |
| Real rmsError | ( | ) | const |
Definition at line 188 of file abcdatmvolcurve.hpp.
| Real maxError | ( | ) | const |
Definition at line 191 of file abcdatmvolcurve.hpp.
| EndCriteria::Type endCriteria | ( | ) | const |
Definition at line 195 of file abcdatmvolcurve.hpp.
|
overridevirtual |
the latest date for which the curve can return values
Implements TermStructure.
Definition at line 121 of file abcdatmvolcurve.hpp.
Here is the call graph for this function:
|
overridevirtual |
the minimum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 126 of file abcdatmvolcurve.hpp.
|
overridevirtual |
the maximum strike for which the term structure can return vols
Implements VolatilityTermStructure.
Definition at line 130 of file abcdatmvolcurve.hpp.
|
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.
Implements Observer.
Definition at line 96 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Definition at line 137 of file abcdatmvolcurve.cpp.
| const std::vector< Period > & optionTenors | ( | ) | const |
Definition at line 144 of file abcdatmvolcurve.hpp.
| const std::vector< Period > & optionTenorsInInterpolation | ( | ) | const |
Definition at line 148 of file abcdatmvolcurve.hpp.
| const std::vector< Date > & optionDates | ( | ) | const |
Definition at line 153 of file abcdatmvolcurve.hpp.
| const std::vector< Time > & optionTimes | ( | ) | const |
Definition at line 158 of file abcdatmvolcurve.hpp.
|
overridevirtual |
Reimplemented from BlackAtmVolCurve.
Definition at line 88 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:spot at-the-money variance calculation (k adjusted)
Implements BlackAtmVolCurve.
Definition at line 134 of file abcdatmvolcurve.hpp.
Here is the call graph for this function:
|
overrideprotectedvirtual |
spot at-the-money volatility calculation (k adjusted)
Implements BlackAtmVolCurve.
Definition at line 139 of file abcdatmvolcurve.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 50 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 110 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
private |
Definition at line 75 of file abcdatmvolcurve.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
private |
Definition at line 102 of file abcdatmvolcurve.hpp.
|
private |
Definition at line 103 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 104 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 105 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 106 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 107 of file abcdatmvolcurve.hpp.
|
private |
Definition at line 108 of file abcdatmvolcurve.hpp.
Definition at line 110 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 111 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 112 of file abcdatmvolcurve.hpp.
|
mutableprivate |
Definition at line 114 of file abcdatmvolcurve.hpp.
|
private |
Definition at line 116 of file abcdatmvolcurve.hpp.