|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
#include <zabrinterpolatedsmilesection.hpp>
Inheritance diagram for ZabrInterpolatedSmileSection< Evaluation >:
Collaboration diagram for ZabrInterpolatedSmileSection< Evaluation >:Public Member Functions | |
Constructors | |
| ZabrInterpolatedSmileSection (const Date &optionDate, Handle< Quote > forward, const std::vector< Rate > &strikes, bool hasFloatingStrikes, Handle< Quote > atmVolatility, const std::vector< Handle< Quote > > &volHandles, Real alpha, Real beta, Real nu, Real rho, Real gamma, bool isAlphaFixed=false, bool isBetaFixed=false, bool isNuFixed=false, bool isRhoFixed=false, bool isGammaFixed=false, bool vegaWeighted=true, ext::shared_ptr< EndCriteria > endCriteria=ext::shared_ptr< EndCriteria >(), ext::shared_ptr< OptimizationMethod > method=ext::shared_ptr< OptimizationMethod >(), const DayCounter &dc=Actual365Fixed()) | |
| all market data are quotes More... | |
| ZabrInterpolatedSmileSection (const Date &optionDate, const Rate &forward, const std::vector< Rate > &strikes, bool hasFloatingStrikes, const Volatility &atmVolatility, const std::vector< Volatility > &vols, Real alpha, Real beta, Real nu, Real rho, Real gamma, bool isAlphaFixed=false, bool isBetaFixed=false, bool isNuFixed=false, bool isRhoFixed=false, bool isGammaFixed=false, bool vegaWeighted=true, ext::shared_ptr< EndCriteria > endCriteria=ext::shared_ptr< EndCriteria >(), ext::shared_ptr< OptimizationMethod > method=ext::shared_ptr< OptimizationMethod >(), const DayCounter &dc=Actual365Fixed()) | |
| no quotes More... | |
LazyObject interface | |
| void | performCalculations () const override |
| void | update () override |
SmileSection interface | |
| Real | minStrike () const override |
| Real | maxStrike () const override |
| Real | atmLevel () const override |
| Real | varianceImpl (Rate strike) const override |
| Volatility | volatilityImpl (Rate strike) const override |
Public Member Functions inherited from SmileSection | |
| SmileSection (const Date &d, DayCounter dc=DayCounter(), const Date &referenceDate=Date(), VolatilityType type=ShiftedLognormal, Rate shift=0.0) | |
| SmileSection (Time exerciseTime, DayCounter dc=DayCounter(), VolatilityType type=ShiftedLognormal, Rate shift=0.0) | |
| SmileSection ()=default | |
| ~SmileSection () override=default | |
| void | update () override |
| virtual Real | minStrike () const =0 |
| virtual Real | maxStrike () const =0 |
| Real | variance (Rate strike) const |
| Volatility | volatility (Rate strike) const |
| virtual Real | atmLevel () const =0 |
| virtual const Date & | exerciseDate () const |
| virtual VolatilityType | volatilityType () const |
| virtual Rate | shift () const |
| virtual const Date & | referenceDate () const |
| virtual Time | exerciseTime () const |
| virtual const DayCounter & | dayCounter () const |
| virtual Real | optionPrice (Rate strike, Option::Type type=Option::Call, Real discount=1.0) const |
| virtual Real | digitalOptionPrice (Rate strike, Option::Type type=Option::Call, Real discount=1.0, Real gap=1.0e-5) const |
| virtual Real | vega (Rate strike, Real discount=1.0) const |
| virtual Real | density (Rate strike, Real discount=1.0, Real gap=1.0E-4) const |
| Volatility | volatility (Rate strike, VolatilityType type, Real shift=0.0) const |
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 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 LazyObject | |
| LazyObject () | |
| ~LazyObject () override=default | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Inspectors | |
| ext::shared_ptr< ZabrInterpolation< Evaluation > > | zabrInterpolation_ |
| const Handle< Quote > | forward_ |
| Market data. More... | |
| const Handle< Quote > | atmVolatility_ |
| std::vector< Handle< Quote > > | volHandles_ |
| std::vector< Rate > | strikes_ |
| std::vector< Rate > | actualStrikes_ |
| Only strikes corresponding to valid market data. More... | |
| bool | hasFloatingStrikes_ |
| Real | forwardValue_ |
| std::vector< Volatility > | vols_ |
| Real | alpha_ |
| Sabr parameters. More... | |
| Real | beta_ |
| Real | nu_ |
| Real | rho_ |
| Real | gamma_ |
| bool | isAlphaFixed_ |
| Sabr interpolation settings. More... | |
| bool | isBetaFixed_ |
| bool | isNuFixed_ |
| bool | isRhoFixed_ |
| bool | isGammaFixed_ |
| bool | vegaWeighted_ |
| const ext::shared_ptr< EndCriteria > | endCriteria_ |
| const ext::shared_ptr< OptimizationMethod > | method_ |
| Real | alpha () const |
| Real | beta () const |
| Real | nu () const |
| Real | rho () const |
| Real | gamma () const |
| Real | rmsError () const |
| Real | maxError () const |
| EndCriteria::Type | endCriteria () const |
| void | createInterpolation () const |
| Creates the mutable SABRInterpolation. More... | |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Protected Member Functions inherited from SmileSection | |
| virtual void | initializeExerciseTime () const |
| virtual Real | varianceImpl (Rate strike) const |
| virtual Volatility | volatilityImpl (Rate strike) const =0 |
Protected Member Functions inherited from LazyObject | |
| virtual void | calculate () const |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
Definition at line 38 of file zabrinterpolatedsmilesection.hpp.
| ZabrInterpolatedSmileSection | ( | const Date & | optionDate, |
| Handle< Quote > | forward, | ||
| const std::vector< Rate > & | strikes, | ||
| bool | hasFloatingStrikes, | ||
| Handle< Quote > | atmVolatility, | ||
| const std::vector< Handle< Quote > > & | volHandles, | ||
| Real | alpha, | ||
| Real | beta, | ||
| Real | nu, | ||
| Real | rho, | ||
| Real | gamma, | ||
| bool | isAlphaFixed = false, |
||
| bool | isBetaFixed = false, |
||
| bool | isNuFixed = false, |
||
| bool | isRhoFixed = false, |
||
| bool | isGammaFixed = false, |
||
| bool | vegaWeighted = true, |
||
| ext::shared_ptr< EndCriteria > | endCriteria = ext::shared_ptr<EndCriteria>(), |
||
| ext::shared_ptr< OptimizationMethod > | method = ext::shared_ptr<OptimizationMethod>(), |
||
| const DayCounter & | dc = Actual365Fixed() |
||
| ) |
all market data are quotes
Definition at line 218 of file zabrinterpolatedsmilesection.hpp.
Here is the call graph for this function:| ZabrInterpolatedSmileSection | ( | const Date & | optionDate, |
| const Rate & | forward, | ||
| const std::vector< Rate > & | strikes, | ||
| bool | hasFloatingStrikes, | ||
| const Volatility & | atmVolatility, | ||
| const std::vector< Volatility > & | vols, | ||
| Real | alpha, | ||
| Real | beta, | ||
| Real | nu, | ||
| Real | rho, | ||
| Real | gamma, | ||
| bool | isAlphaFixed = false, |
||
| bool | isBetaFixed = false, |
||
| bool | isNuFixed = false, |
||
| bool | isRhoFixed = false, |
||
| bool | isGammaFixed = false, |
||
| bool | vegaWeighted = true, |
||
| ext::shared_ptr< EndCriteria > | endCriteria = ext::shared_ptr<EndCriteria>(), |
||
| ext::shared_ptr< OptimizationMethod > | method = ext::shared_ptr<OptimizationMethod>(), |
||
| const DayCounter & | dc = Actual365Fixed() |
||
| ) |
no quotes
Definition at line 254 of file zabrinterpolatedsmilesection.hpp.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Definition at line 301 of file zabrinterpolatedsmilesection.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 138 of file zabrinterpolatedsmilesection.hpp.
Here is the call graph for this function:
|
overridevirtual |
Implements SmileSection.
Definition at line 200 of file zabrinterpolatedsmilesection.hpp.
|
overridevirtual |
Implements SmileSection.
Definition at line 206 of file zabrinterpolatedsmilesection.hpp.
|
overridevirtual |
Implements SmileSection.
Definition at line 212 of file zabrinterpolatedsmilesection.hpp.
Reimplemented from SmileSection.
Definition at line 325 of file zabrinterpolatedsmilesection.hpp.
Implements SmileSection.
Definition at line 145 of file zabrinterpolatedsmilesection.hpp.
| Real alpha |
Definition at line 151 of file zabrinterpolatedsmilesection.hpp.
| Real beta |
Definition at line 157 of file zabrinterpolatedsmilesection.hpp.
| Real nu |
Definition at line 163 of file zabrinterpolatedsmilesection.hpp.
| Real rho |
Definition at line 169 of file zabrinterpolatedsmilesection.hpp.
| Real gamma |
Definition at line 175 of file zabrinterpolatedsmilesection.hpp.
| Real rmsError |
Definition at line 181 of file zabrinterpolatedsmilesection.hpp.
| Real maxError |
Definition at line 187 of file zabrinterpolatedsmilesection.hpp.
| EndCriteria::Type endCriteria |
Definition at line 194 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Creates the mutable SABRInterpolation.
Definition at line 290 of file zabrinterpolatedsmilesection.hpp.
Here is the call graph for this function:
|
mutableprotected |
Definition at line 115 of file zabrinterpolatedsmilesection.hpp.
Market data.
Definition at line 118 of file zabrinterpolatedsmilesection.hpp.
Definition at line 119 of file zabrinterpolatedsmilesection.hpp.
Definition at line 120 of file zabrinterpolatedsmilesection.hpp.
|
mutableprotected |
Definition at line 121 of file zabrinterpolatedsmilesection.hpp.
|
mutableprotected |
Only strikes corresponding to valid market data.
Definition at line 123 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 124 of file zabrinterpolatedsmilesection.hpp.
|
mutableprotected |
Definition at line 126 of file zabrinterpolatedsmilesection.hpp.
|
mutableprotected |
Definition at line 127 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Sabr parameters.
Definition at line 129 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 129 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 129 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 129 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 129 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Sabr interpolation settings.
Definition at line 131 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 131 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 131 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 131 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 131 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 132 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 133 of file zabrinterpolatedsmilesection.hpp.
|
protected |
Definition at line 134 of file zabrinterpolatedsmilesection.hpp.