QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
CMS spread - coupon pricer. More...
#include <lognormalcmsspreadpricer.hpp>
Public Member Functions | |
LognormalCmsSpreadPricer (const ext::shared_ptr< CmsCouponPricer > &cmsPricer, const Handle< Quote > &correlation, Handle< YieldTermStructure > couponDiscountCurve=Handle< YieldTermStructure >(), Size IntegrationPoints=16, const ext::optional< VolatilityType > &volatilityType=ext::nullopt, Real shift1=Null< Real >(), Real shift2=Null< Real >()) | |
Real | swapletPrice () const override |
Rate | swapletRate () const override |
Real | capletPrice (Rate effectiveCap) const override |
Rate | capletRate (Rate effectiveCap) const override |
Real | floorletPrice (Rate effectiveFloor) const override |
Rate | floorletRate (Rate effectiveFloor) const override |
Public Member Functions inherited from CmsSpreadCouponPricer | |
CmsSpreadCouponPricer (Handle< Quote > correlation=Handle< Quote >()) | |
Handle< Quote > | correlation () const |
void | setCorrelation (const Handle< Quote > &correlation=Handle< Quote >()) |
Public Member Functions inherited from FloatingRateCouponPricer | |
~FloatingRateCouponPricer () override=default | |
void | update () override |
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 () |
Private Member Functions | |
void | initialize (const FloatingRateCoupon &coupon) override |
Real | optionletPrice (Option::Type optionType, Real strike) const |
Real | integrand (Real) const |
Real | integrand_normal (Real) const |
Private Attributes | |
ext::shared_ptr< CmsCouponPricer > | cmsPricer_ |
Handle< YieldTermStructure > | couponDiscountCurve_ |
const CmsSpreadCoupon * | coupon_ |
Date | today_ |
Date | fixingDate_ |
Date | paymentDate_ |
Real | fixingTime_ |
Real | gearing_ |
Real | spread_ |
Real | spreadLegValue_ |
Real | discount_ |
ext::shared_ptr< SwapSpreadIndex > | index_ |
ext::shared_ptr< CumulativeNormalDistribution > | cnd_ |
ext::shared_ptr< GaussianQuadrature > | integrator_ |
Real | swapRate1_ |
Real | swapRate2_ |
Real | gearing1_ |
Real | gearing2_ |
Real | adjustedRate1_ |
Real | adjustedRate2_ |
Real | vol1_ |
Real | vol2_ |
Real | mu1_ |
Real | mu2_ |
Real | rho_ |
bool | inheritedVolatilityType_ |
VolatilityType | volType_ |
Real | shift1_ |
Real | shift2_ |
Real | phi_ |
Real | a_ |
Real | b_ |
Real | s1_ |
Real | s2_ |
Real | m1_ |
Real | m2_ |
Real | v1_ |
Real | v2_ |
Real | k_ |
Real | alpha_ |
Real | psi_ |
Option::Type | optionType_ |
ext::shared_ptr< CmsCoupon > | c1_ |
ext::shared_ptr< CmsCoupon > | c2_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
CMS spread - coupon pricer.
The swap rate adjustments are computed using the given volatility structures for the underlyings in every case (w.r.t. volatility type and shift).
For the bivariate spread model, the volatility type and the shifts can be inherited (default), or explicitly specified. In the latter case the type, and (if lognormal) the shifts must be given (or are defaulted to zero, if not given).
References:
Brigo, Mercurio: Interst Rate Models - Theory and Practice, 2nd Edition, Springer, 2006, chapter 13.6.2
http://ssrn.com/abstract=2686998
Definition at line 60 of file lognormalcmsspreadpricer.hpp.
LognormalCmsSpreadPricer | ( | const ext::shared_ptr< CmsCouponPricer > & | cmsPricer, |
const Handle< Quote > & | correlation, | ||
Handle< YieldTermStructure > | couponDiscountCurve = Handle<YieldTermStructure>() , |
||
Size | IntegrationPoints = 16 , |
||
const ext::optional< VolatilityType > & | volatilityType = ext::nullopt , |
||
Real | shift1 = Null<Real>() , |
||
Real | shift2 = Null<Real>() |
||
) |
Definition at line 45 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Implements FloatingRateCouponPricer.
Definition at line 341 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Implements FloatingRateCouponPricer.
Definition at line 299 of file lognormalcmsspreadpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 303 of file lognormalcmsspreadpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 317 of file lognormalcmsspreadpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 322 of file lognormalcmsspreadpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 336 of file lognormalcmsspreadpricer.cpp.
|
overrideprivatevirtual |
Implements FloatingRateCouponPricer.
Definition at line 132 of file lognormalcmsspreadpricer.cpp.
|
private |
Definition at line 251 of file lognormalcmsspreadpricer.cpp.
Definition at line 83 of file lognormalcmsspreadpricer.cpp.
Definition at line 111 of file lognormalcmsspreadpricer.cpp.
|
private |
Definition at line 89 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 91 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 93 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 95 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 95 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 95 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 97 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 99 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 99 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 100 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 101 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 103 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 105 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 106 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 108 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 108 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 108 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 108 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 109 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 109 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 110 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 110 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 111 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 111 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 112 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 114 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 115 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 116 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 116 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 118 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 119 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 119 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 120 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 122 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 122 of file lognormalcmsspreadpricer.hpp.