CMS spread - coupon pricer. More...
#include <qle/cashflows/lognormalcmsspreadpricer.hpp>
Public Member Functions | |
LognormalCmsSpreadPricer (const QuantLib::ext::shared_ptr< CmsCouponPricer > cmsPricer, const Handle< QuantExt::CorrelationTermStructure > &correlation, const Handle< YieldTermStructure > &couponDiscountCurve=Handle< YieldTermStructure >(), const Size IntegrationPoints=16, const boost::optional< VolatilityType > volatilityType=boost::none, const Real shift1=Null< Real >(), const Real shift2=Null< Real >()) | |
virtual Real | swapletPrice () const override |
virtual Rate | swapletRate () const override |
virtual Real | capletPrice (Rate effectiveCap) const override |
virtual Rate | capletRate (Rate effectiveCap) const override |
virtual Real | floorletPrice (Rate effectiveFloor) const override |
virtual Rate | floorletRate (Rate effectiveFloor) const override |
Public Member Functions inherited from CmsSpreadCouponPricer2 | |
CmsSpreadCouponPricer2 (const Handle< CorrelationTermStructure > &correlation=Handle< CorrelationTermStructure >()) | |
Real | correlation (Time t, Real strike=1) const |
void | setCorrelationCurve (const Handle< CorrelationTermStructure > &correlation=Handle< CorrelationTermStructure >()) |
Private Member Functions | |
void | initialize (const FloatingRateCoupon &coupon) override |
Real | rho () const |
Real | optionletPrice (Option::Type optionType, Real strike) const |
Real | integrand (const Real) const |
Real | integrand_normal (const Real) const |
Private Attributes | |
QuantLib::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_ |
QuantLib::ext::shared_ptr< SwapSpreadIndex > | index_ |
QuantLib::ext::shared_ptr< CumulativeNormalDistribution > | cnd_ |
QuantLib::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_ |
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_ |
QuantLib::ext::shared_ptr< CmsCoupon > | c1_ |
QuantLib::ext::shared_ptr< CmsCoupon > | c2_ |
Friends | |
class | integrand_f |
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: Interest Rate Models - Theory and Practice, 2nd Edition, Springer, 2006, chapter 13.6.2
http://ssrn.com/abstract=2686998
Definition at line 105 of file lognormalcmsspreadpricer.hpp.
LognormalCmsSpreadPricer | ( | const QuantLib::ext::shared_ptr< CmsCouponPricer > | cmsPricer, |
const Handle< QuantExt::CorrelationTermStructure > & | correlation, | ||
const Handle< YieldTermStructure > & | couponDiscountCurve = Handle<YieldTermStructure>() , |
||
const Size | IntegrationPoints = 16 , |
||
const boost::optional< VolatilityType > | volatilityType = boost::none , |
||
const Real | shift1 = Null<Real>() , |
||
const Real | shift2 = Null<Real>() |
||
) |
Definition at line 60 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 303 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 267 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 269 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 282 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 286 of file lognormalcmsspreadpricer.cpp.
|
overridevirtual |
Definition at line 299 of file lognormalcmsspreadpricer.cpp.
|
overrideprivate |
Definition at line 129 of file lognormalcmsspreadpricer.cpp.
|
private |
Definition at line 125 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 226 of file lognormalcmsspreadpricer.cpp.
|
private |
Definition at line 91 of file lognormalcmsspreadpricer.cpp.
|
private |
Definition at line 114 of file lognormalcmsspreadpricer.cpp.
|
friend |
Definition at line 132 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 134 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 136 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 138 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 140 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 140 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 140 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 142 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 144 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 144 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 145 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 146 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 148 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 150 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 151 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 153 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 153 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 153 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 153 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 154 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 154 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 155 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 155 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 156 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 156 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 158 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 159 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 160 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 160 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 162 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 163 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 163 of file lognormalcmsspreadpricer.hpp.
|
mutableprivate |
Definition at line 164 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 166 of file lognormalcmsspreadpricer.hpp.
|
private |
Definition at line 166 of file lognormalcmsspreadpricer.hpp.