QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
CMS-coupon pricer. More...
#include <lineartsrpricer.hpp>
Classes | |
class | PriceHelper |
struct | Settings |
class | VegaRatioHelper |
Public Member Functions | |
LinearTsrPricer (const Handle< SwaptionVolatilityStructure > &swaptionVol, Handle< Quote > meanReversion, Handle< YieldTermStructure > couponDiscountCurve=Handle< YieldTermStructure >(), const Settings &settings=Settings(), ext::shared_ptr< Integrator > integrator=ext::shared_ptr< Integrator >()) | |
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 |
Real | meanReversion () const override |
void | setMeanReversion (const Handle< Quote > &meanReversion) override |
Public Member Functions inherited from CmsCouponPricer | |
CmsCouponPricer (Handle< SwaptionVolatilityStructure > v=Handle< SwaptionVolatilityStructure >()) | |
Handle< SwaptionVolatilityStructure > | swaptionVolatility () const |
void | setSwaptionVolatility (const Handle< SwaptionVolatilityStructure > &v=Handle< SwaptionVolatilityStructure >()) |
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 () |
Public Member Functions inherited from MeanRevertingPricer | |
virtual Real | meanReversion () const =0 |
virtual void | setMeanReversion (const Handle< Quote > &)=0 |
virtual | ~MeanRevertingPricer ()=default |
Private Member Functions | |
Real | GsrG (const Date &d) const |
Real | singularTerms (Option::Type type, Real strike) const |
Real | integrand (Real strike) const |
void | initialize (const FloatingRateCoupon &coupon) override |
Real | optionletPrice (Option::Type optionType, Real strike) const |
Real | strikeFromVegaRatio (Real ratio, Option::Type optionType, Real referenceStrike) const |
Real | strikeFromPrice (Real price, Option::Type optionType, Real referenceStrike) const |
Private Attributes | |
Real | a_ |
Real | b_ |
Handle< Quote > | meanReversion_ |
Handle< YieldTermStructure > | forwardCurve_ |
Handle< YieldTermStructure > | discountCurve_ |
Handle< YieldTermStructure > | couponDiscountCurve_ |
const CmsCoupon * | coupon_ |
Date | today_ |
Date | paymentDate_ |
Date | fixingDate_ |
Real | gearing_ |
Real | spread_ |
Period | swapTenor_ |
Real | spreadLegValue_ |
Real | swapRateValue_ |
Real | couponDiscountRatio_ |
Real | discountCurvePaymentDiscount_ |
Real | annuity_ |
ext::shared_ptr< SwapIndex > | swapIndex_ |
ext::shared_ptr< FixedVsFloatingSwap > | swap_ |
ext::shared_ptr< SmileSection > | smileSection_ |
Settings | settings_ |
DayCounter | volDayCounter_ |
ext::shared_ptr< Integrator > | integrator_ |
Real | adjustedLowerBound_ |
Real | adjustedUpperBound_ |
Static Private Attributes | |
static const Real | defaultLowerBound = 0.0001 |
static const Real | defaultUpperBound = 2.0000 |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
CMS-coupon pricer.
Prices a cms coupon using a linear terminal swap rate model The slope parameter is linked to a gaussian short rate model. Reference: Andersen, Piterbarg, Interest Rate Modeling, 16.3.2
The cut off point for integration can be set
Definition at line 64 of file lineartsrpricer.hpp.
LinearTsrPricer | ( | const Handle< SwaptionVolatilityStructure > & | swaptionVol, |
Handle< Quote > | meanReversion, | ||
Handle< YieldTermStructure > | couponDiscountCurve = Handle<YieldTermStructure>() , |
||
const Settings & | settings = Settings() , |
||
ext::shared_ptr< Integrator > | integrator = ext::shared_ptr<Integrator>() |
||
) |
|
overridevirtual |
Implements FloatingRateCouponPricer.
Definition at line 420 of file lineartsrpricer.cpp.
|
overridevirtual |
Implements FloatingRateCouponPricer.
Definition at line 375 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 380 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 395 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 400 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 415 of file lineartsrpricer.cpp.
|
overridevirtual |
Implements MeanRevertingPricer.
Definition at line 373 of file lineartsrpricer.cpp.
Implements MeanRevertingPricer.
Definition at line 177 of file lineartsrpricer.hpp.
Definition at line 71 of file lineartsrpricer.cpp.
|
private |
Definition at line 94 of file lineartsrpricer.cpp.
|
overrideprivatevirtual |
Implements FloatingRateCouponPricer.
Definition at line 100 of file lineartsrpricer.cpp.
|
private |
Definition at line 272 of file lineartsrpricer.cpp.
|
private |
Definition at line 208 of file lineartsrpricer.cpp.
|
private |
Definition at line 241 of file lineartsrpricer.cpp.
|
staticprivate |
Definition at line 67 of file lineartsrpricer.hpp.
|
staticprivate |
Definition at line 68 of file lineartsrpricer.hpp.
|
private |
Definition at line 190 of file lineartsrpricer.hpp.
|
private |
Definition at line 190 of file lineartsrpricer.hpp.
Definition at line 225 of file lineartsrpricer.hpp.
|
private |
Definition at line 227 of file lineartsrpricer.hpp.
|
private |
Definition at line 227 of file lineartsrpricer.hpp.
|
private |
Definition at line 228 of file lineartsrpricer.hpp.
|
private |
Definition at line 230 of file lineartsrpricer.hpp.
|
private |
Definition at line 232 of file lineartsrpricer.hpp.
|
private |
Definition at line 232 of file lineartsrpricer.hpp.
|
private |
Definition at line 232 of file lineartsrpricer.hpp.
|
private |
Definition at line 234 of file lineartsrpricer.hpp.
|
private |
Definition at line 234 of file lineartsrpricer.hpp.
|
private |
Definition at line 236 of file lineartsrpricer.hpp.
|
private |
Definition at line 237 of file lineartsrpricer.hpp.
|
private |
Definition at line 237 of file lineartsrpricer.hpp.
|
private |
Definition at line 237 of file lineartsrpricer.hpp.
|
private |
Definition at line 237 of file lineartsrpricer.hpp.
|
private |
Definition at line 238 of file lineartsrpricer.hpp.
|
private |
Definition at line 240 of file lineartsrpricer.hpp.
|
private |
Definition at line 241 of file lineartsrpricer.hpp.
|
private |
Definition at line 242 of file lineartsrpricer.hpp.
|
private |
Definition at line 244 of file lineartsrpricer.hpp.
|
private |
Definition at line 245 of file lineartsrpricer.hpp.
|
private |
Definition at line 246 of file lineartsrpricer.hpp.
|
private |
Definition at line 248 of file lineartsrpricer.hpp.
|
private |
Definition at line 248 of file lineartsrpricer.hpp.