QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
Gaussian1dSwaptionEngine Class Reference

One factor model swaption engine. More...

#include <gaussian1dswaptionengine.hpp>

+ Inheritance diagram for Gaussian1dSwaptionEngine:
+ Collaboration diagram for Gaussian1dSwaptionEngine:

Public Types

enum  Probabilities { None , Naive , Digital }
 
- Public Types inherited from Observer
typedef set_type::iterator iterator
 

Public Member Functions

 Gaussian1dSwaptionEngine (const ext::shared_ptr< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, Handle< YieldTermStructure > discountCurve=Handle< YieldTermStructure >(), const Probabilities probabilities=None)
 
 Gaussian1dSwaptionEngine (const Handle< Gaussian1dModel > &model, const int integrationPoints=64, const Real stddevs=7.0, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false, Handle< YieldTermStructure > discountCurve=Handle< YieldTermStructure >(), const Probabilities probabilities=None)
 
void calculate () const override
 
- Public Member Functions inherited from GenericModelEngine< Gaussian1dModel, Swaption::arguments, Swaption::results >
 GenericModelEngine (Handle< Gaussian1dModel > model=Handle< Gaussian1dModel >())
 
 GenericModelEngine (const ext::shared_ptr< Gaussian1dModel > &model)
 
- Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType >
PricingEngine::argumentsgetArguments () const override
 
const PricingEngine::resultsgetResults () const override
 
void reset () override
 
void update () override
 
- Public Member Functions inherited from PricingEngine
 ~PricingEngine () override=default
 
virtual argumentsgetArguments () const =0
 
virtual const resultsgetResults () const =0
 
virtual void reset ()=0
 
virtual void calculate () const =0
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (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 ()
 

Private Attributes

const int integrationPoints_
 
const Real stddevs_
 
const bool extrapolatePayoff_
 
const bool flatPayoffExtrapolation_
 
const Handle< YieldTermStructurediscountCurve_
 
const Probabilities probabilities_
 

Additional Inherited Members

- Protected Attributes inherited from GenericModelEngine< Gaussian1dModel, Swaption::arguments, Swaption::results >
Handle< Gaussian1dModelmodel_
 
- Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType >
ArgumentsType arguments_
 
ResultsType results_
 

Detailed Description

One factor model 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.

Warning:
Cash settled swaptions are not supported

Definition at line 44 of file gaussian1dswaptionengine.hpp.

Member Enumeration Documentation

◆ Probabilities

Enumerator
None 
Naive 
Digital 

Definition at line 48 of file gaussian1dswaptionengine.hpp.

Constructor & Destructor Documentation

◆ Gaussian1dSwaptionEngine() [1/2]

Gaussian1dSwaptionEngine ( const ext::shared_ptr< Gaussian1dModel > &  model,
const int  integrationPoints = 64,
const Real  stddevs = 7.0,
const bool  extrapolatePayoff = true,
const bool  flatPayoffExtrapolation = false,
Handle< YieldTermStructure discountCurve = Handle<YieldTermStructure>(),
const Probabilities  probabilities = None 
)

Definition at line 54 of file gaussian1dswaptionengine.hpp.

+ Here is the call graph for this function:

◆ Gaussian1dSwaptionEngine() [2/2]

Gaussian1dSwaptionEngine ( const Handle< Gaussian1dModel > &  model,
const int  integrationPoints = 64,
const Real  stddevs = 7.0,
const bool  extrapolatePayoff = true,
const bool  flatPayoffExtrapolation = false,
Handle< YieldTermStructure discountCurve = Handle<YieldTermStructure>(),
const Probabilities  probabilities = None 
)

Definition at line 71 of file gaussian1dswaptionengine.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.

Definition at line 26 of file gaussian1dswaptionengine.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ integrationPoints_

const int integrationPoints_
private

Definition at line 91 of file gaussian1dswaptionengine.hpp.

◆ stddevs_

const Real stddevs_
private

Definition at line 92 of file gaussian1dswaptionengine.hpp.

◆ extrapolatePayoff_

const bool extrapolatePayoff_
private

Definition at line 93 of file gaussian1dswaptionengine.hpp.

◆ flatPayoffExtrapolation_

const bool flatPayoffExtrapolation_
private

Definition at line 93 of file gaussian1dswaptionengine.hpp.

◆ discountCurve_

const Handle<YieldTermStructure> discountCurve_
private

Definition at line 94 of file gaussian1dswaptionengine.hpp.

◆ probabilities_

const Probabilities probabilities_
private

Definition at line 95 of file gaussian1dswaptionengine.hpp.