26#include <ql/math/interpolation.hpp>
27#include <ql/patterns/lazyobject.hpp>
36 const std::vector<Period>& tenors,
const std::vector<double>&
detachmentPoints,
37 const std::vector<std::vector<Handle<Quote>>>& corrSpreads,
39 boost::optional<DateGeneration::Rule>
rule = boost::none);
abstract base correlation structure and an 2d-interpolated base correlation structure
std::vector< double > detachmentPoints() const
boost::optional< DateGeneration::Rule > rule() const
Spreaded Base Correlation Curve.
Real correlationImpl(Time t, Real strike) const override
Correlation calculation.
void performCalculations() const override
Interpolation2D interpolation_
virtual Time maxTime() const override
virtual double minDetachmentPoint() const override
virtual Time minTime() const override
The minimum time for which the curve can return values.
virtual Date maxDate() const override
std::vector< std::vector< Handle< Quote > > > corrSpreads_
Handle< BaseCorrelationTermStructure > baseCurve_
virtual double maxDetachmentPoint() const override