CMS spread - coupon pricer. More...
#include <ql/experimental/coupons/lognormalcmsspreadpricer.hpp>
Public Member Functions | |
LognormalCmsSpreadPricer (const boost::shared_ptr< CmsCouponPricer > cmsPricer, const Handle< Quote > &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 |
virtual Rate | swapletRate () const |
virtual Real | capletPrice (Rate effectiveCap) const |
virtual Rate | capletRate (Rate effectiveCap) const |
virtual Real | floorletPrice (Rate effectiveFloor) const |
virtual Rate | floorletRate (Rate effectiveFloor) const |
void | flushCache () |
![]() | |
CmsSpreadCouponPricer (const Handle< Quote > &correlation=Handle< Quote >()) | |
Handle< Quote > | correlation () const |
void | setCorrelation (const Handle< Quote > &correlation=Handle< Quote >()) |
![]() | |
void | update () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
void | registerWithObservables (const boost::shared_ptr< Observer > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
virtual void | deepUpdate () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
Additional Inherited Members | |
![]() | |
typedef std::set< boost::shared_ptr< Observable > > | set_type |
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