#include <qle/models/parametrization.hpp>
Public Member Functions | |
| Parametrization (const Currency ¤cy, const std::string &name="") | |
| virtual const Currency & | currency () const |
| virtual const Array & | parameterTimes (const Size) const |
| virtual Size | numberOfParameters () const |
| virtual Array | parameterValues (const Size) const |
| virtual const QuantLib::ext::shared_ptr< Parameter > | parameter (const Size) const |
| virtual void | update () const |
| const std::string & | name () const |
| virtual Real | direct (const Size, const Real x) const |
| virtual Real | inverse (const Size, const Real y) const |
Protected Member Functions | |
| Time | tr (const Time t) const |
| Time | tl (const Time t) const |
| Time | tr2 (const Time t) const |
| Time | tm2 (const Time t) const |
| Time | tl2 (const Time t) const |
Protected Attributes | |
| const Real | h_ |
| const Real | h2_ |
Base class for classes representing model parameters. There is a disctinction between "actual" and "raw" parameters. The "actual" parameter value is the true value of the parameter, e.g. 0.20 to represent a black scholes volatility of 20%. The "raw" parameter is derived from the actual parameter by applying a transformation
actual value = direct( raw value ) raw value = inverse( actual value )
The idea behind that is that the optimization during a model calibration can be performed as an unconstrained optimization which usually works more stable and is faster than a constrained optimization. For example, to ensure a positive black volatility one can use the transformation
direct ( x ) = x * x
To ensure a valid correlation one can use the transformation
direct ( x ) = (atan( x ) + pi / 2) / pi
and so forth. To implement you own transformation you can overwrite the direct() and inverse() methods. The default implementation of these methods represents the trivial transformation (identity, i.e. direct( x ) = x ).
|
virtual |
the currency associated to this parametrization
|
virtual |
the times associated to parameter i
Reimplemented in CommoditySchwartzPiecewiseConstantParametrization, EqBsPiecewiseConstantParametrization, FxBsPiecewiseConstantParametrization, HwPiecewiseParametrization< TS >, HwPiecewiseParametrization< YieldTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< YieldTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantParametrization< YieldTermStructure >, Lgm1fPiecewiseConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseLinearParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseLinearParametrization< YieldTermStructure >, and Lgm1fPiecewiseLinearParametrization< ZeroInflationTermStructure >.
|
virtual |
the number of parameters in this parametrization
Reimplemented in CirppParametrization< TS >, CirppParametrization< DefaultProbabilityTermStructure >, CirppParametrization< YieldTermStructure >, CommoditySchwartzParametrization, EqBsParametrization, FxBsParametrization, HwParametrization< TS >, HwParametrization< YieldTermStructure >, InfJyParameterization, Lgm1fParametrization< TS >, Lgm1fParametrization< DefaultProbabilityTermStructure >, Lgm1fParametrization< YieldTermStructure >, and Lgm1fParametrization< ZeroInflationTermStructure >.
|
virtual |
the actual parameter values
|
virtual |
the parameter storing the raw parameter values
Reimplemented in CirppConstantParametrization< TS >, CirppConstantParametrization< DefaultProbabilityTermStructure >, CirppConstantParametrization< YieldTermStructure >, CirppConstantWithFellerParametrization< TS >, CirppConstantWithFellerParametrization< DefaultProbabilityTermStructure >, CirppConstantWithFellerParametrization< YieldTermStructure >, CommoditySchwartzConstantParametrization, CommoditySchwartzPiecewiseConstantParametrization, EqBsConstantParametrization, EqBsPiecewiseConstantParametrization, FxBsConstantParametrization, FxBsPiecewiseConstantParametrization, HwConstantParametrization< TS >, HwConstantParametrization< YieldTermStructure >, HwPiecewiseParametrization< TS >, HwPiecewiseParametrization< YieldTermStructure >, Lgm1fConstantParametrization< TS >, Lgm1fConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fConstantParametrization< YieldTermStructure >, Lgm1fConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< YieldTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantParametrization< YieldTermStructure >, Lgm1fPiecewiseConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseLinearParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseLinearParametrization< YieldTermStructure >, and Lgm1fPiecewiseLinearParametrization< ZeroInflationTermStructure >.
|
virtual |
this method should be called when input parameters linked via references or pointers change in order to ensure consistent results
Reimplemented in CommoditySchwartzPiecewiseConstantParametrization, EqBsPiecewiseConstantParametrization, FxBsPiecewiseConstantParametrization, HwParametrization< TS >, HwParametrization< YieldTermStructure >, InfJyParameterization, Lgm1fParametrization< TS >, Lgm1fParametrization< DefaultProbabilityTermStructure >, Lgm1fParametrization< YieldTermStructure >, Lgm1fParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< YieldTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantParametrization< YieldTermStructure >, Lgm1fPiecewiseConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseLinearParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseLinearParametrization< YieldTermStructure >, and Lgm1fPiecewiseLinearParametrization< ZeroInflationTermStructure >.
| const std::string & name | ( | ) | const |
return a name (inflation index, equity name, credit name, etc.)
|
virtual |
transformations between raw and actual parameters
Reimplemented in CirppConstantParametrization< TS >, CirppConstantParametrization< DefaultProbabilityTermStructure >, CirppConstantParametrization< YieldTermStructure >, CirppConstantWithFellerParametrization< TS >, CirppConstantWithFellerParametrization< DefaultProbabilityTermStructure >, CirppConstantWithFellerParametrization< YieldTermStructure >, CommoditySchwartzConstantParametrization, CommoditySchwartzPiecewiseConstantParametrization, EqBsConstantParametrization, EqBsPiecewiseConstantParametrization, FxBsConstantParametrization, FxBsPiecewiseConstantParametrization, Lgm1fConstantParametrization< TS >, Lgm1fConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fConstantParametrization< YieldTermStructure >, Lgm1fConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< YieldTermStructure >, Lgm1fPiecewiseConstantHullWhiteAdaptor< ZeroInflationTermStructure >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseConstantParametrization< YieldTermStructure >, Lgm1fPiecewiseConstantParametrization< ZeroInflationTermStructure >, Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseLinearParametrization< DefaultProbabilityTermStructure >, Lgm1fPiecewiseLinearParametrization< YieldTermStructure >, and Lgm1fPiecewiseLinearParametrization< ZeroInflationTermStructure >.
|
protected |
adjusted central difference scheme
|
protected |
step size for numerical differentiation