25#ifndef quantlib_cms_market_calibration_h
26#define quantlib_cms_market_calibration_h
28#include <ql/math/optimization/endcriteria.hpp>
29#include <ql/math/matrix.hpp>
30#include <ql/math/array.hpp>
31#include <ql/handle.hpp>
35 class SwaptionVolatilityStructure;
37 class OptimizationMethod;
45 ext::shared_ptr<CmsMarket>& cmsMarket,
56 const ext::shared_ptr<OptimizationMethod>& method,
58 bool isMeanReversionFixed);
61 const ext::shared_ptr<OptimizationMethod>& method,
63 bool isMeanReversionFixed,
67 const ext::shared_ptr<OptimizationMethod>& method,
69 bool isMeanReversionFixed,
76 return std::sqrt(-std::log(beta));
80 std::min(std::fabs(y) < 10.0 ?
Real(std::exp(-(y * y))) : 0.0,
85 return reversion * reversion;
1-D array used in linear algebra.
static Real reversionTransformDirect(Real y)
Matrix sparseSabrParameters_
static Real betaTransformInverse(Real beta)
Matrix denseSabrParameters_
Matrix computeParametric(const ext::shared_ptr< EndCriteria > &endCriteria, const ext::shared_ptr< OptimizationMethod > &method, const Matrix &guess, bool isMeanReversionFixed, Real meanReversionGuess=Null< Real >())
CalibrationType calibrationType_
EndCriteria::Type endCriteria()
Array compute(const ext::shared_ptr< EndCriteria > &endCriteria, const ext::shared_ptr< OptimizationMethod > &method, const Array &guess, bool isMeanReversionFixed)
static Real reversionTransformInverse(Real reversion)
EndCriteria::Type endCriteria_
ext::shared_ptr< CmsMarket > cmsMarket_
static Real betaTransformDirect(Real y)
Handle< SwaptionVolatilityStructure > volCube_
Shared handle to an observable.
Matrix used in linear algebra.
template class providing a null value for a given type.