Spreaded Base Correlation Curve. More...
#include <qle/termstructures/credit/spreadedbasecorrelationcurve.hpp>
Public Member Functions | |
SpreadedBaseCorrelationCurve (const Handle< BaseCorrelationTermStructure > &baseCurve, const std::vector< Period > &tenors, const std::vector< double > &detachmentPoints, const std::vector< std::vector< Handle< Quote > > > &corrSpreads, const Date &startDate=Date(), boost::optional< DateGeneration::Rule > rule=boost::none) | |
void | update () override |
virtual Date | maxDate () const override |
virtual Time | maxTime () const override |
virtual Time | minTime () const override |
The minimum time for which the curve can return values. More... | |
virtual double | minDetachmentPoint () const override |
virtual double | maxDetachmentPoint () const override |
Public Member Functions inherited from BaseCorrelationTermStructure | |
BaseCorrelationTermStructure () | |
BaseCorrelationTermStructure (const Date &referenceDate, const Calendar &cal, BusinessDayConvention bdc, const std::vector< Period > &tenors, const std::vector< double > &detachmentPoints, const DayCounter &dc=DayCounter(), const Date &startDate=Date(), boost::optional< DateGeneration::Rule > rule=boost::none) | |
BaseCorrelationTermStructure (Natural settlementDays, const Calendar &cal, BusinessDayConvention bdc, const std::vector< Period > &tenors, const std::vector< double > &detachmentPoints, const DayCounter &dc=DayCounter(), const Date &startDate=Date(), boost::optional< DateGeneration::Rule > rule=boost::none) | |
virtual | ~BaseCorrelationTermStructure ()=default |
virtual Date | maxDate () const override |
virtual Time | maxTime () const override |
virtual Time | minTime () const override |
The minimum time for which the curve can return values. More... | |
virtual double | minDetachmentPoint () const |
virtual double | maxDetachmentPoint () const |
std::vector< double > | times () const |
std::vector< double > | detachmentPoints () const |
std::vector< Date > | dates () const |
BusinessDayConvention | businessDayConvention () const |
Date | startDate () const |
boost::optional< DateGeneration::Rule > | rule () const |
Public Member Functions inherited from CorrelationTermStructure | |
CorrelationTermStructure (const DayCounter &dc=DayCounter()) | |
CorrelationTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter()) | |
CorrelationTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter()) | |
Real | correlation (Time t, Real strike=Null< Real >(), bool extrapolate=false) const |
Real | correlation (const Date &d, Real strike=Null< Real >(), bool extrapolate=false) const |
Private Member Functions | |
Real | correlationImpl (Time t, Real strike) const override |
Correlation calculation. More... | |
void | performCalculations () const override |
Private Attributes | |
Handle< BaseCorrelationTermStructure > | baseCurve_ |
std::vector< std::vector< Handle< Quote > > > | corrSpreads_ |
Matrix | data_ |
Interpolation2D | interpolation_ |
Additional Inherited Members | |
Protected Member Functions inherited from BaseCorrelationTermStructure | |
virtual void | checkRange (Time t, Real strike, bool extrapolate) const override |
Extra time range check for minimum time, then calls TermStructure::checkRange. More... | |
Calculations | |
This method must be implemented in derived classes to perform the actual calculations. | |
Protected Attributes inherited from BaseCorrelationTermStructure | |
std::vector< Period > | tenors_ |
std::vector< double > | detachmentPoints_ |
std::vector< Date > | dates_ |
std::vector< double > | times_ |
Spreaded Base Correlation Curve.
Definition at line 33 of file spreadedbasecorrelationcurve.hpp.
SpreadedBaseCorrelationCurve | ( | const Handle< BaseCorrelationTermStructure > & | baseCurve, |
const std::vector< Period > & | tenors, | ||
const std::vector< double > & | detachmentPoints, | ||
const std::vector< std::vector< Handle< Quote > > > & | corrSpreads, | ||
const Date & | startDate = Date() , |
||
boost::optional< DateGeneration::Rule > | rule = boost::none |
||
) |
Definition at line 26 of file spreadedbasecorrelationcurve.cpp.
|
override |
Definition at line 56 of file spreadedbasecorrelationcurve.cpp.
|
overridevirtual |
Reimplemented from BaseCorrelationTermStructure.
Definition at line 44 of file spreadedbasecorrelationcurve.hpp.
|
overridevirtual |
Reimplemented from BaseCorrelationTermStructure.
Definition at line 46 of file spreadedbasecorrelationcurve.hpp.
|
overridevirtual |
The minimum time for which the curve can return values.
Reimplemented from BaseCorrelationTermStructure.
Definition at line 47 of file spreadedbasecorrelationcurve.hpp.
|
overridevirtual |
Reimplemented from BaseCorrelationTermStructure.
Definition at line 49 of file spreadedbasecorrelationcurve.hpp.
|
overridevirtual |
Reimplemented from BaseCorrelationTermStructure.
Definition at line 50 of file spreadedbasecorrelationcurve.hpp.
|
overrideprivatevirtual |
Correlation calculation.
Implements CorrelationTermStructure.
Definition at line 61 of file spreadedbasecorrelationcurve.cpp.
|
overrideprivate |
Definition at line 68 of file spreadedbasecorrelationcurve.cpp.
|
private |
Definition at line 55 of file spreadedbasecorrelationcurve.hpp.
|
private |
Definition at line 56 of file spreadedbasecorrelationcurve.hpp.
|
mutableprivate |
Definition at line 57 of file spreadedbasecorrelationcurve.hpp.
|
mutableprivate |
Definition at line 58 of file spreadedbasecorrelationcurve.hpp.