|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
calibration helper for interest-rate swaptions More...
#include <swaptionhelper.hpp>
Inheritance diagram for SwaptionHelper:
Collaboration diagram for SwaptionHelper:Public Member Functions | |
| SwaptionHelper (const Period &maturity, const Period &length, const Handle< Quote > &volatility, ext::shared_ptr< IborIndex > index, const Period &fixedLegTenor, DayCounter fixedLegDayCounter, DayCounter floatingLegDayCounter, Handle< YieldTermStructure > termStructure, CalibrationErrorType errorType=RelativePriceError, Real strike=Null< Real >(), Real nominal=1.0, VolatilityType type=ShiftedLognormal, Real shift=0.0, Natural settlementDays=Null< Size >(), RateAveraging::Type averagingMethod=RateAveraging::Compound) | |
| SwaptionHelper (const Date &exerciseDate, const Period &length, const Handle< Quote > &volatility, ext::shared_ptr< IborIndex > index, const Period &fixedLegTenor, DayCounter fixedLegDayCounter, DayCounter floatingLegDayCounter, Handle< YieldTermStructure > termStructure, CalibrationErrorType errorType=RelativePriceError, Real strike=Null< Real >(), Real nominal=1.0, VolatilityType type=ShiftedLognormal, Real shift=0.0, Natural settlementDays=Null< Size >(), RateAveraging::Type averagingMethod=RateAveraging::Compound) | |
| SwaptionHelper (const Date &exerciseDate, const Date &endDate, const Handle< Quote > &volatility, ext::shared_ptr< IborIndex > index, const Period &fixedLegTenor, DayCounter fixedLegDayCounter, DayCounter floatingLegDayCounter, Handle< YieldTermStructure > termStructure, CalibrationErrorType errorType=RelativePriceError, Real strike=Null< Real >(), Real nominal=1.0, VolatilityType type=ShiftedLognormal, Real shift=0.0, Natural settlementDays=Null< Size >(), RateAveraging::Type averagingMethod=RateAveraging::Compound) | |
| void | addTimesTo (std::list< Time > ×) const override |
| Real | modelValue () const override |
| returns the price of the instrument according to the model More... | |
| Real | blackPrice (Volatility volatility) const override |
| Black or Bachelier price given a volatility. More... | |
| const ext::shared_ptr< FixedVsFloatingSwap > & | underlying () const |
| ext::shared_ptr< Swaption > | swaption () const |
Public Member Functions inherited from BlackCalibrationHelper | |
| BlackCalibrationHelper (Handle< Quote > volatility, CalibrationErrorType calibrationErrorType=RelativePriceError, const VolatilityType type=ShiftedLognormal, const Real shift=0.0) | |
| void | performCalculations () const override |
| Handle< Quote > | volatility () const |
| returns the volatility Handle More... | |
| VolatilityType | volatilityType () const |
| returns the volatility type More... | |
| Real | marketValue () const |
| returns the actual price of the instrument (from volatility) More... | |
| virtual Real | modelValue () const =0 |
| returns the price of the instrument according to the model More... | |
| Real | calibrationError () override |
| returns the error resulting from the model valuation More... | |
| virtual void | addTimesTo (std::list< Time > ×) const =0 |
| Volatility | impliedVolatility (Real targetValue, Real accuracy, Size maxEvaluations, Volatility minVol, Volatility maxVol) const |
| Black volatility implied by the model. More... | |
| virtual Real | blackPrice (Volatility volatility) const =0 |
| Black or Bachelier price given a volatility. More... | |
| void | setPricingEngine (const ext::shared_ptr< PricingEngine > &engine) |
Public Member Functions inherited from LazyObject | |
| LazyObject () | |
| ~LazyObject () override=default | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
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 CalibrationHelper | |
| virtual | ~CalibrationHelper ()=default |
| virtual Real | calibrationError ()=0 |
| returns the error resulting from the model valuation More... | |
Private Member Functions | |
| void | performCalculations () const override |
| ext::shared_ptr< FixedVsFloatingSwap > | makeSwap (Schedule fixedSchedule, Schedule floatSchedule, Rate exerciseRate, Swap::Type type) const |
Private Attributes | |
| Date | exerciseDate_ |
| Date | endDate_ |
| const Period | maturity_ |
| const Period | length_ |
| const Period | fixedLegTenor_ |
| const ext::shared_ptr< IborIndex > | index_ |
| const Handle< YieldTermStructure > | termStructure_ |
| const DayCounter | fixedLegDayCounter_ |
| const DayCounter | floatingLegDayCounter_ |
| const Real | strike_ |
| const Real | nominal_ |
| const Natural | settlementDays_ |
| const RateAveraging::Type | averagingMethod_ |
| Rate | exerciseRate_ |
| ext::shared_ptr< FixedVsFloatingSwap > | swap_ |
| ext::shared_ptr< Swaption > | swaption_ |
Additional Inherited Members | |
Public Types inherited from BlackCalibrationHelper | |
| enum | CalibrationErrorType { RelativePriceError , PriceError , ImpliedVolError } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Protected Member Functions inherited from LazyObject | |
| virtual void | calculate () const |
Protected Attributes inherited from BlackCalibrationHelper | |
| Real | marketValue_ |
| Handle< Quote > | volatility_ |
| ext::shared_ptr< PricingEngine > | engine_ |
| const VolatilityType | volatilityType_ |
| const Real | shift_ |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
calibration helper for interest-rate swaptions
Definition at line 42 of file swaptionhelper.hpp.
| SwaptionHelper | ( | const Period & | maturity, |
| const Period & | length, | ||
| const Handle< Quote > & | volatility, | ||
| ext::shared_ptr< IborIndex > | index, | ||
| const Period & | fixedLegTenor, | ||
| DayCounter | fixedLegDayCounter, | ||
| DayCounter | floatingLegDayCounter, | ||
| Handle< YieldTermStructure > | termStructure, | ||
| CalibrationErrorType | errorType = RelativePriceError, |
||
| Real | strike = Null<Real>(), |
||
| Real | nominal = 1.0, |
||
| VolatilityType | type = ShiftedLognormal, |
||
| Real | shift = 0.0, |
||
| Natural | settlementDays = Null<Size>(), |
||
| RateAveraging::Type | averagingMethod = RateAveraging::Compound |
||
| ) |
| SwaptionHelper | ( | const Date & | exerciseDate, |
| const Period & | length, | ||
| const Handle< Quote > & | volatility, | ||
| ext::shared_ptr< IborIndex > | index, | ||
| const Period & | fixedLegTenor, | ||
| DayCounter | fixedLegDayCounter, | ||
| DayCounter | floatingLegDayCounter, | ||
| Handle< YieldTermStructure > | termStructure, | ||
| CalibrationErrorType | errorType = RelativePriceError, |
||
| Real | strike = Null<Real>(), |
||
| Real | nominal = 1.0, |
||
| VolatilityType | type = ShiftedLognormal, |
||
| Real | shift = 0.0, |
||
| Natural | settlementDays = Null<Size>(), |
||
| RateAveraging::Type | averagingMethod = RateAveraging::Compound |
||
| ) |
| SwaptionHelper | ( | const Date & | exerciseDate, |
| const Date & | endDate, | ||
| const Handle< Quote > & | volatility, | ||
| ext::shared_ptr< IborIndex > | index, | ||
| const Period & | fixedLegTenor, | ||
| DayCounter | fixedLegDayCounter, | ||
| DayCounter | floatingLegDayCounter, | ||
| Handle< YieldTermStructure > | termStructure, | ||
| CalibrationErrorType | errorType = RelativePriceError, |
||
| Real | strike = Null<Real>(), |
||
| Real | nominal = 1.0, |
||
| VolatilityType | type = ShiftedLognormal, |
||
| Real | shift = 0.0, |
||
| Natural | settlementDays = Null<Size>(), |
||
| RateAveraging::Type | averagingMethod = RateAveraging::Compound |
||
| ) |
|
overridevirtual |
Implements BlackCalibrationHelper.
Definition at line 111 of file swaptionhelper.cpp.
Here is the call graph for this function:
|
overridevirtual |
returns the price of the instrument according to the model
Implements BlackCalibrationHelper.
Definition at line 123 of file swaptionhelper.cpp.
Here is the call graph for this function:
|
overridevirtual |
Black or Bachelier price given a volatility.
Implements BlackCalibrationHelper.
Definition at line 129 of file swaptionhelper.cpp.
Here is the call graph for this function:| const ext::shared_ptr< FixedVsFloatingSwap > & underlying | ( | ) | const |
| ext::shared_ptr< Swaption > swaption | ( | ) | const |
|
overrideprivatevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Reimplemented from BlackCalibrationHelper.
Definition at line 152 of file swaptionhelper.cpp.
Here is the call graph for this function:
|
private |
|
mutableprivate |
Definition at line 108 of file swaptionhelper.hpp.
|
private |
Definition at line 108 of file swaptionhelper.hpp.
|
private |
Definition at line 109 of file swaptionhelper.hpp.
|
private |
Definition at line 109 of file swaptionhelper.hpp.
|
private |
Definition at line 109 of file swaptionhelper.hpp.
|
private |
Definition at line 110 of file swaptionhelper.hpp.
|
private |
Definition at line 111 of file swaptionhelper.hpp.
|
private |
Definition at line 112 of file swaptionhelper.hpp.
|
private |
Definition at line 112 of file swaptionhelper.hpp.
|
private |
Definition at line 113 of file swaptionhelper.hpp.
|
private |
Definition at line 113 of file swaptionhelper.hpp.
|
private |
Definition at line 114 of file swaptionhelper.hpp.
|
private |
Definition at line 115 of file swaptionhelper.hpp.
|
mutableprivate |
Definition at line 116 of file swaptionhelper.hpp.
|
mutableprivate |
Definition at line 117 of file swaptionhelper.hpp.
|
mutableprivate |
Definition at line 118 of file swaptionhelper.hpp.