Logo
Reference manual - version ored_version
YieldCurve Class Reference

Wrapper class for building yield term structures. More...

#include <ored/marketdata/yieldcurve.hpp>

Public Types

enum class  InterpolationVariable { Zero , Discount , Forward }
 Supported interpolation variables.
enum class  InterpolationMethod {
  Linear , LogLinear , NaturalCubic , FinancialCubic ,
  ConvexMonotone , Quadratic , LogQuadratic , LogNaturalCubic ,
  LogFinancialCubic , LogCubicSpline , MonotonicLogCubicSpline , Hermite ,
  CubicSpline , DefaultLogMixedLinearCubic , MonotonicLogMixedLinearCubic , KrugerLogMixedLinearCubic ,
  LogMixedLinearCubicNaturalSpline , BackwardFlat , ExponentialSplines , NelsonSiegel ,
  Svensson
}
 Supported interpolation methods.

Public Member Functions

 YieldCurve (Date asof, const std::vector< QuantLib::ext::shared_ptr< YieldCurveSpec > > &curveSpec, const CurveConfigurations &curveConfigs, const Loader &loader, const map< string, QuantLib::ext::shared_ptr< YieldCurve > > &requiredYieldCurves=map< string, QuantLib::ext::shared_ptr< YieldCurve > >(), const map< string, QuantLib::ext::shared_ptr< DefaultCurve > > &requiredDefaultCurves=map< string, QuantLib::ext::shared_ptr< DefaultCurve > >(), const FXTriangulation &fxTriangulation=FXTriangulation(), const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), const bool preserveQuoteLinkage=false, const bool buildCalibrationInfo=true, const Market *market=nullptr)
 Constructor.

Inspectors

const Date & asofDate () const
const std::vector< Currency > & currencies () const
const std::vector< QuantLib::ext::shared_ptr< YieldCurveSpec > > & curveSpecs () const
const Handle< YieldTermStructure > & handle (const std::string &specName=std::string()) const
QuantLib::ext::shared_ptr< YieldCurveCalibrationInfocalibrationInfo (const std::string &specName=std::string()) const

Detailed Description

Wrapper class for building yield term structures.

Given yield curve specification and its configuration this class will actually build a QuantLib yield termstructure.

Constructor & Destructor Documentation

◆ YieldCurve()

YieldCurve ( Date asof,
const std::vector< QuantLib::ext::shared_ptr< YieldCurveSpec > > & curveSpec,
const CurveConfigurations & curveConfigs,
const Loader & loader,
const map< string, QuantLib::ext::shared_ptr< YieldCurve > > & requiredYieldCurves = mapstring, QuantLib::ext::shared_ptr< YieldCurve > >(),
const map< string, QuantLib::ext::shared_ptr< DefaultCurve > > & requiredDefaultCurves = mapstring, QuantLib::ext::shared_ptr< DefaultCurve > >(),
const FXTriangulation & fxTriangulation = FXTriangulation(),
const QuantLib::ext::shared_ptr< ReferenceDataManager > & referenceData = nullptr,
const QuantLib::ext::shared_ptr< IborFallbackConfig > & iborFallbackConfig = QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()),
const bool preserveQuoteLinkage = false,
const bool buildCalibrationInfo = true,
const Market * market = nullptr )

Constructor.

Parameters
asofValuation date
curveSpecYield curve specifications
curveConfigsRepository of yield curve configurations
loaderMarket data loader
requiredYieldCurvesMap of underlying yield curves if required
requiredDefaultCurvesMap of underlying default curves if required
fxTriangulationFxTriangultion to get FX rate from cross if needed
referenceDataoptional pointer to reference data, needed to build fitted bond curves
iborFallbackConfigibor fallback config
preserveQuoteLinkageif true keep qloader quotes linked to yield ts, otherwise detach them
buildCalibrationInfobuild calibration info
marketmarket object to look up external discount curves