|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
#include <gaussian1dsmilesection.hpp>
Inheritance diagram for Gaussian1dSmileSection:
Collaboration diagram for Gaussian1dSmileSection:Public Member Functions | |
| Gaussian1dSmileSection (const Date &fixingDate, ext::shared_ptr< SwapIndex > swapIndex, const ext::shared_ptr< Gaussian1dModel > &model, const DayCounter &dc, const ext::shared_ptr< Gaussian1dSwaptionEngine > &swaptionEngine=ext::shared_ptr< Gaussian1dSwaptionEngine >()) | |
| Gaussian1dSmileSection (const Date &fixingDate, ext::shared_ptr< IborIndex > swapIndex, const ext::shared_ptr< Gaussian1dModel > &model, const DayCounter &dc, const ext::shared_ptr< Gaussian1dCapFloorEngine > &capEngine=ext::shared_ptr< Gaussian1dCapFloorEngine >()) | |
| Real | minStrike () const override |
| Real | maxStrike () const override |
| Real | atmLevel () const override |
| Real | optionPrice (Rate strike, Option::Type=Option::Call, Real discount=1.0) 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 () |
Protected Member Functions | |
| Real | volatilityImpl (Rate strike) const override |
Protected Member Functions inherited from SmileSection | |
| virtual void | initializeExerciseTime () const |
| virtual Real | varianceImpl (Rate strike) const |
| virtual Volatility | volatilityImpl (Rate strike) const =0 |
Private Attributes | |
| Real | atm_ |
| Real | annuity_ |
| Date | fixingDate_ |
| ext::shared_ptr< SwapIndex > | swapIndex_ |
| ext::shared_ptr< IborIndex > | iborIndex_ |
| ext::shared_ptr< Gaussian1dModel > | model_ |
| ext::shared_ptr< PricingEngine > | engine_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
smile section based on a gaussian 1d model instance if curves are attached to the swap or ibor index, these are used to adjust the model's yield term structure, if not the model's yield term structure is used directly
Definition at line 41 of file gaussian1dsmilesection.hpp.
| Gaussian1dSmileSection | ( | const Date & | fixingDate, |
| ext::shared_ptr< SwapIndex > | swapIndex, | ||
| const ext::shared_ptr< Gaussian1dModel > & | model, | ||
| const DayCounter & | dc, | ||
| const ext::shared_ptr< Gaussian1dSwaptionEngine > & | swaptionEngine = ext::shared_ptr<Gaussian1dSwaptionEngine>() |
||
| ) |
Definition at line 30 of file gaussian1dsmilesection.cpp.
| Gaussian1dSmileSection | ( | const Date & | fixingDate, |
| ext::shared_ptr< IborIndex > | swapIndex, | ||
| const ext::shared_ptr< Gaussian1dModel > & | model, | ||
| const DayCounter & | dc, | ||
| const ext::shared_ptr< Gaussian1dCapFloorEngine > & | capEngine = ext::shared_ptr<Gaussian1dCapFloorEngine>() |
||
| ) |
|
overridevirtual |
Implements SmileSection.
Definition at line 58 of file gaussian1dsmilesection.hpp.
|
overridevirtual |
Implements SmileSection.
Definition at line 59 of file gaussian1dsmilesection.hpp.
|
overridevirtual |
Implements SmileSection.
Definition at line 73 of file gaussian1dsmilesection.cpp.
|
overridevirtual |
Reimplemented from SmileSection.
Definition at line 75 of file gaussian1dsmilesection.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Implements SmileSection.
Definition at line 97 of file gaussian1dsmilesection.cpp.
Here is the call graph for this function:
|
private |
Definition at line 68 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 68 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 69 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 70 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 71 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 72 of file gaussian1dsmilesection.hpp.
|
private |
Definition at line 73 of file gaussian1dsmilesection.hpp.