CMS spread - coupon pricer. More...
#include <qle/cashflows/lognormalcmsspreadpricer.hpp>
Public Member Functions | |
LognormalCmsSpreadPricer (const boost::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 >()) |
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