QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
One factor model non standard swaption engine. More...
#include <gaussian1dnonstandardswaptionengine.hpp>
Public Types | |
enum | Probabilities { None , Naive , Digital } |
Public Types inherited from BasketGeneratingEngine | |
enum | CalibrationBasketType { Naive , MaturityStrikeByDeltaGamma } |
typedef enum QuantLib::BasketGeneratingEngine::CalibrationBasketType | CalibrationBasketType |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Public Member Functions | |
Gaussian1dNonstandardSwaptionEngine (const ext::shared_ptr< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, const Handle< Quote > &oas=Handle< Quote >(), const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const Probabilities probabilities=None) | |
Gaussian1dNonstandardSwaptionEngine (const Handle< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, const Handle< Quote > &oas=Handle< Quote >(), const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const Probabilities probabilities=None) | |
void | calculate () const override |
Public Member Functions inherited from BasketGeneratingEngine | |
virtual | ~BasketGeneratingEngine ()=default |
std::vector< ext::shared_ptr< BlackCalibrationHelper > > | calibrationBasket (const ext::shared_ptr< Exercise > &exercise, const ext::shared_ptr< SwapIndex > &standardSwapBase, const ext::shared_ptr< SwaptionVolatilityStructure > &swaptionVolatility, CalibrationBasketType basketType=MaturityStrikeByDeltaGamma) const |
Public Member Functions inherited from GenericModelEngine< Gaussian1dModel, NonstandardSwaption::arguments, NonstandardSwaption::results > | |
GenericModelEngine (Handle< Gaussian1dModel > model=Handle< Gaussian1dModel >()) | |
GenericModelEngine (const ext::shared_ptr< Gaussian1dModel > &model) | |
Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType > | |
PricingEngine::arguments * | getArguments () const override |
const PricingEngine::results * | getResults () const override |
void | reset () override |
void | update () override |
Public Member Functions inherited from PricingEngine | |
~PricingEngine () override=default | |
virtual arguments * | getArguments () const =0 |
virtual const results * | getResults () const =0 |
virtual void | reset ()=0 |
virtual void | calculate () const =0 |
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 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 | underlyingNpv (const Date &expiry, Real y) const override |
Swap::Type | underlyingType () const override |
const Date | underlyingLastDate () const override |
const Array | initialGuess (const Date &expiry) const override |
Protected Member Functions inherited from BasketGeneratingEngine | |
BasketGeneratingEngine (const ext::shared_ptr< Gaussian1dModel > &model, Handle< Quote > oas, Handle< YieldTermStructure > discountCurve) | |
BasketGeneratingEngine (Handle< Gaussian1dModel > model, Handle< Quote > oas, Handle< YieldTermStructure > discountCurve) | |
virtual Real | underlyingNpv (const Date &expiry, Real y) const =0 |
virtual Swap::Type | underlyingType () const =0 |
virtual const Date | underlyingLastDate () const =0 |
virtual const Array | initialGuess (const Date &expiry) const =0 |
Private Attributes | |
const int | integrationPoints_ |
const Real | stddevs_ |
const bool | extrapolatePayoff_ |
const bool | flatPayoffExtrapolation_ |
const Handle< YieldTermStructure > | discountCurve_ |
const Handle< Quote > | oas_ |
const Probabilities | probabilities_ |
Additional Inherited Members | |
Protected Attributes inherited from GenericModelEngine< Gaussian1dModel, NonstandardSwaption::arguments, NonstandardSwaption::results > | |
Handle< Gaussian1dModel > | model_ |
Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType > | |
ArgumentsType | arguments_ |
ResultsType | results_ |
One factor model non standard swaption engine.
All fixed coupons with start date greater or equal to the respective option expiry are considered to be part of the exercise into right.
All float coupons with start date greater or equal to the respective option expiry are consideres to be part of the exercise into right.
For redemption flows an associated start date is considered in the criterion, which is the start date of the regular xcoupon period with same payment date as the redemption flow.
Definition at line 53 of file gaussian1dnonstandardswaptionengine.hpp.
enum Probabilities |
Enumerator | |
---|---|
None | |
Naive | |
Digital |
Definition at line 59 of file gaussian1dnonstandardswaptionengine.hpp.
Gaussian1dNonstandardSwaptionEngine | ( | const ext::shared_ptr< Gaussian1dModel > & | model, |
const int | integrationPoints = 64 , |
||
const Real | stddevs = 7.0 , |
||
const bool | extrapolatePayoff = true , |
||
const bool | flatPayoffExtrapolation = false , |
||
const Handle< Quote > & | oas = Handle<Quote>() , |
||
const Handle< YieldTermStructure > & | discountCurve = Handle<YieldTermStructure>() , |
||
const Probabilities | probabilities = None |
||
) |
Definition at line 65 of file gaussian1dnonstandardswaptionengine.hpp.
Gaussian1dNonstandardSwaptionEngine | ( | const Handle< Gaussian1dModel > & | model, |
const int | integrationPoints = 64 , |
||
const Real | stddevs = 7.0 , |
||
const bool | extrapolatePayoff = true , |
||
const bool | flatPayoffExtrapolation = false , |
||
const Handle< Quote > & | oas = Handle<Quote>() , |
||
const Handle< YieldTermStructure > & | discountCurve = Handle<YieldTermStructure>() , |
||
const Probabilities | probabilities = None |
||
) |
Definition at line 93 of file gaussian1dnonstandardswaptionengine.hpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 134 of file gaussian1dnonstandardswaptionengine.cpp.
Implements BasketGeneratingEngine.
Definition at line 32 of file gaussian1dnonstandardswaptionengine.cpp.
|
overrideprotectedvirtual |
Implements BasketGeneratingEngine.
Definition at line 90 of file gaussian1dnonstandardswaptionengine.cpp.
|
overrideprotectedvirtual |
Implements BasketGeneratingEngine.
Definition at line 95 of file gaussian1dnonstandardswaptionengine.cpp.
Implements BasketGeneratingEngine.
Definition at line 100 of file gaussian1dnonstandardswaptionengine.cpp.
|
private |
Definition at line 130 of file gaussian1dnonstandardswaptionengine.hpp.
|
private |
Definition at line 131 of file gaussian1dnonstandardswaptionengine.hpp.
|
private |
Definition at line 132 of file gaussian1dnonstandardswaptionengine.hpp.
|
private |
Definition at line 132 of file gaussian1dnonstandardswaptionengine.hpp.
|
private |
Definition at line 133 of file gaussian1dnonstandardswaptionengine.hpp.
Definition at line 134 of file gaussian1dnonstandardswaptionengine.hpp.
|
private |
Definition at line 135 of file gaussian1dnonstandardswaptionengine.hpp.