QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
MultiCurveSensitivities Class Reference

Multi curve sensitivities. More...

#include <ql/experimental/termstructures/multicurvesensitivities.hpp>

+ Inheritance diagram for MultiCurveSensitivities:

Public Member Functions

 MultiCurveSensitivities (const curvespec &curves)
 Multi curve sensitivties. More...
 
Matrix sensitivities () const
 
Matrix inverseSensitivities () const
 
std::vector< std::string > headers () const
 
- Public Member Functions inherited from LazyObject
void update ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
void alwaysForwardNotifications ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const 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 deepUpdate ()
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 
bool alwaysForward_
 

Detailed Description

Multi curve sensitivities.

This class provides a simple (yet most likely not the fastest) way to create sensitivities to the par quotes, provided in the piecewiseyieldcurve for stripping. If constructed with more than one curve, the class iterates over all quotes of the provided curves and shifts each quote of all provided curves taking interdependence into account.

The class computes the sensitvities as a QuantLib Matrix class in the form:

\[ \frac{\partial z_i}{\partial q_j} \]

where the \((z_i)_{i\in \{1,...,n\}}\)'s are the implied values (being the traits used during curve constructions, e.g. ZeroYield, Discountfactors or ForwardRates) and the the \((q_i)_{i\in \{1,...,n\}}\)'s are the quoted par rates.

Note
It's the users job to provide all curves that influence the implied rates.
\ingroup yieldtermstructures

Constructor & Destructor Documentation

◆ MultiCurveSensitivities()

MultiCurveSensitivities ( const curvespec &  curves)
explicit

Multi curve sensitivties.

Parameters
curvesstd::map of string (curve name) and handle to piecewiseyieldcurve