QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
YoYInflationCapFloorEngine Class Referenceabstract

Base YoY inflation cap/floor engine. More...

#include <ql/pricingengines/inflation/inflationcapfloorengines.hpp>

+ Inheritance diagram for YoYInflationCapFloorEngine:
+ Collaboration diagram for YoYInflationCapFloorEngine:

Public Member Functions

 YoYInflationCapFloorEngine (ext::shared_ptr< YoYInflationIndex >, Handle< YoYOptionletVolatilitySurface > vol, Handle< YieldTermStructure > nominalTermStructure)
 
ext::shared_ptr< YoYInflationIndexindex () const
 
Handle< YoYOptionletVolatilitySurfacevolatility () const
 
Handle< YieldTermStructurenominalTermStructure () const
 
void setVolatility (const Handle< YoYOptionletVolatilitySurface > &vol)
 
void calculate () const override
 
- Public Member Functions inherited from GenericEngine< YoYInflationCapFloor::arguments, YoYInflationCapFloor::results >
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 ()
 

Protected Member Functions

virtual Real optionletImpl (Option::Type type, Rate strike, Rate forward, Real stdDev, Real d) const =0
 descendents only need to implement this More...
 

Protected Attributes

ext::shared_ptr< YoYInflationIndexindex_
 
Handle< YoYOptionletVolatilitySurfacevolatility_
 
Handle< YieldTermStructurenominalTermStructure_
 
- Protected Attributes inherited from GenericEngine< YoYInflationCapFloor::arguments, YoYInflationCapFloor::results >
YoYInflationCapFloor::arguments arguments_
 
YoYInflationCapFloor::results results_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 

Detailed Description

Base YoY inflation cap/floor engine.

This class doesn't know yet what sort of vol it is. The inflation index must be linked to a yoy inflation term structure.

Definition at line 44 of file inflationcapfloorengines.hpp.

Constructor & Destructor Documentation

◆ YoYInflationCapFloorEngine()

YoYInflationCapFloorEngine ( ext::shared_ptr< YoYInflationIndex index,
Handle< YoYOptionletVolatilitySurface vol,
Handle< YieldTermStructure nominalTermStructure 
)

Definition at line 29 of file inflationcapfloorengines.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ index()

ext::shared_ptr< YoYInflationIndex > index ( ) const

Definition at line 50 of file inflationcapfloorengines.hpp.

+ Here is the caller graph for this function:

◆ volatility()

Handle< YoYOptionletVolatilitySurface > volatility ( ) const

Definition at line 51 of file inflationcapfloorengines.hpp.

◆ nominalTermStructure()

Handle< YieldTermStructure > nominalTermStructure ( ) const

Definition at line 52 of file inflationcapfloorengines.hpp.

◆ setVolatility()

void setVolatility ( const Handle< YoYOptionletVolatilitySurface > &  vol)

Definition at line 41 of file inflationcapfloorengines.cpp.

+ Here is the call graph for this function:

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.

Definition at line 51 of file inflationcapfloorengines.cpp.

+ Here is the call graph for this function:

◆ optionletImpl()

virtual Real optionletImpl ( Option::Type  type,
Rate  strike,
Rate  forward,
Real  stdDev,
Real  d 
) const
protectedpure virtual

descendents only need to implement this

Implemented in YoYInflationBlackCapFloorEngine, YoYInflationUnitDisplacedBlackCapFloorEngine, and YoYInflationBachelierCapFloorEngine.

+ Here is the caller graph for this function:

Member Data Documentation

◆ index_

ext::shared_ptr<YoYInflationIndex> index_
protected

Definition at line 64 of file inflationcapfloorengines.hpp.

◆ volatility_

Handle<YoYOptionletVolatilitySurface> volatility_
protected

Definition at line 65 of file inflationcapfloorengines.hpp.

◆ nominalTermStructure_

Handle<YieldTermStructure> nominalTermStructure_
protected

Definition at line 66 of file inflationcapfloorengines.hpp.