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

Jamshidian swaption engine. More...

#include <jamshidianswaptionengine.hpp>

+ Inheritance diagram for JamshidianSwaptionEngine:
+ Collaboration diagram for JamshidianSwaptionEngine:

Public Member Functions

 JamshidianSwaptionEngine (const ext::shared_ptr< OneFactorAffineModel > &model, Handle< YieldTermStructure > termStructure=Handle< YieldTermStructure >())
 
void calculate () const override
 
- Public Member Functions inherited from GenericModelEngine< OneFactorAffineModel, Swaption::arguments, Swaption::results >
 GenericModelEngine (Handle< OneFactorAffineModel > model=Handle< OneFactorAffineModel >())
 
 GenericModelEngine (const ext::shared_ptr< OneFactorAffineModel > &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

Handle< YieldTermStructuretermStructure_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from GenericModelEngine< OneFactorAffineModel, Swaption::arguments, Swaption::results >
Handle< OneFactorAffineModelmodel_
 
- Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType >
ArgumentsType arguments_
 
ResultsType results_
 

Detailed Description

Jamshidian swaption engine.

Warning:
The engine might assume that the exercise date equals the start date of the passed swap unless the model provides an implementation of the discountBondOption method with start delay

Definition at line 44 of file jamshidianswaptionengine.hpp.

Constructor & Destructor Documentation

◆ JamshidianSwaptionEngine()

JamshidianSwaptionEngine ( const ext::shared_ptr< OneFactorAffineModel > &  model,
Handle< YieldTermStructure termStructure = Handle<YieldTermStructure>() 
)
Note
the term structure is only needed when the short-rate model cannot provide one itself.

Definition at line 52 of file jamshidianswaptionengine.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.

Definition at line 57 of file jamshidianswaptionengine.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ termStructure_

Handle<YieldTermStructure> termStructure_
private

Definition at line 62 of file jamshidianswaptionengine.hpp.