QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Base inflation-coupon pricer. More...
#include <inflationcouponpricer.hpp>
Public Member Functions | |
QL_DEPRECATED_DISABLE_WARNING | InflationCouponPricer ()=default |
~InflationCouponPricer () override=default | |
Interface | |
virtual Real | swapletPrice () const =0 |
virtual Rate | swapletRate () const =0 |
virtual Real | capletPrice (Rate effectiveCap) const =0 |
virtual Rate | capletRate (Rate effectiveCap) const =0 |
virtual Real | floorletPrice (Rate effectiveFloor) const =0 |
virtual Rate | floorletRate (Rate effectiveFloor) const =0 |
virtual void | initialize (const InflationCoupon &)=0 |
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 () |
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 () |
Observer interface | |
Date | paymentDate_ |
void | update () override |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Base inflation-coupon pricer.
The main reason we can't use FloatingRateCouponPricer as the base is that it takes a FloatingRateCoupon which takes an InterestRateIndex and we need an inflation index (these are lagged).
The basic inflation-specific thing that the pricer has to do is deal with different lags in the index and the option e.g. the option could look 3 months back and the index 2.
We add the requirement that pricers do inverseCap/Floor-lets. These are cap/floor-lets as usually defined, i.e. pay out if underlying is above/below a strike. The non-inverse (usual) versions are from a coupon point of view (a capped coupon has a maximum at the strike).
We add the inverse prices so that conventional caps can be priced simply.
Definition at line 53 of file inflationcouponpricer.hpp.
|
default |
|
overridedefault |
|
pure virtual |
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
|
pure virtual |
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
|
pure virtual |
Implemented in CPICouponPricer, and YoYInflationCouponPricer.
|
overridevirtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Implements Observer.
Definition at line 73 of file inflationcouponpricer.hpp.
|
protected |
Definition at line 76 of file inflationcouponpricer.hpp.