QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
|
CMS-coupon pricer. More...
#include <ql/cashflows/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 | annuity_ |
ext::shared_ptr< SwapIndex > | swapIndex_ |
ext::shared_ptr< VanillaSwap > | 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 63 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 413 of file lineartsrpricer.cpp.
|
overridevirtual |
Implements FloatingRateCouponPricer.
Definition at line 361 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 367 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 384 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 390 of file lineartsrpricer.cpp.
Implements FloatingRateCouponPricer.
Definition at line 407 of file lineartsrpricer.cpp.
|
overridevirtual |
Implements MeanRevertingPricer.
Definition at line 359 of file lineartsrpricer.cpp.
Implements MeanRevertingPricer.
Definition at line 176 of file lineartsrpricer.hpp.
Definition at line 70 of file lineartsrpricer.cpp.
|
private |
Definition at line 93 of file lineartsrpricer.cpp.
|
overrideprivatevirtual |
Implements FloatingRateCouponPricer.
Definition at line 99 of file lineartsrpricer.cpp.
|
private |
Definition at line 258 of file lineartsrpricer.cpp.
|
private |
Definition at line 194 of file lineartsrpricer.cpp.
|
private |
Definition at line 227 of file lineartsrpricer.cpp.
|
staticprivate |
Definition at line 66 of file lineartsrpricer.hpp.
|
staticprivate |
Definition at line 67 of file lineartsrpricer.hpp.
|
private |
Definition at line 189 of file lineartsrpricer.hpp.
|
private |
Definition at line 189 of file lineartsrpricer.hpp.
Definition at line 224 of file lineartsrpricer.hpp.
|
private |
Definition at line 226 of file lineartsrpricer.hpp.
|
private |
Definition at line 226 of file lineartsrpricer.hpp.
|
private |
Definition at line 227 of file lineartsrpricer.hpp.
|
private |
Definition at line 229 of file lineartsrpricer.hpp.
|
private |
Definition at line 231 of file lineartsrpricer.hpp.
|
private |
Definition at line 231 of file lineartsrpricer.hpp.
|
private |
Definition at line 231 of file lineartsrpricer.hpp.
|
private |
Definition at line 233 of file lineartsrpricer.hpp.
|
private |
Definition at line 233 of file lineartsrpricer.hpp.
|
private |
Definition at line 235 of file lineartsrpricer.hpp.
|
private |
Definition at line 236 of file lineartsrpricer.hpp.
|
private |
Definition at line 236 of file lineartsrpricer.hpp.
|
private |
Definition at line 236 of file lineartsrpricer.hpp.
|
private |
Definition at line 236 of file lineartsrpricer.hpp.
|
private |
Definition at line 238 of file lineartsrpricer.hpp.
|
private |
Definition at line 239 of file lineartsrpricer.hpp.
|
private |
Definition at line 240 of file lineartsrpricer.hpp.
|
private |
Definition at line 242 of file lineartsrpricer.hpp.
|
private |
Definition at line 243 of file lineartsrpricer.hpp.
|
private |
Definition at line 244 of file lineartsrpricer.hpp.
|
private |
Definition at line 246 of file lineartsrpricer.hpp.
|
private |
Definition at line 246 of file lineartsrpricer.hpp.