Logo
Reference manual - version qle_version
EqBsPiecewiseConstantParametrization Class Reference

EQ Black Scholes constant parametrization. More...

#include <qle/models/eqbspiecewiseconstantparametrization.hpp>

Inheritance diagram for EqBsPiecewiseConstantParametrization:

Public Member Functions

 EqBsPiecewiseConstantParametrization (const Currency &currency, const std::string &eqName, const Handle< Quote > &eqSpotToday, const Handle< Quote > &fxSpotToday, const Array &times, const Array &sigma, const Handle< YieldTermStructure > &eqIrCurveToday, const Handle< YieldTermStructure > &eqDivYieldCurveToday)
 EqBsPiecewiseConstantParametrization (const Currency &currency, const std::string &eqName, const Handle< Quote > &eqSpotToday, const Handle< Quote > &fxSpotToday, const std::vector< Date > &dates, const Array &sigma, const Handle< YieldTermStructure > &domesticTermStructure, const Handle< YieldTermStructure > &eqIrCurveToday, const Handle< YieldTermStructure > &eqDivYieldCurveToday)
Real variance (const Time t) const override
Real sigma (const Time t) const override
const Array & parameterTimes (const Size) const override
const QuantLib::ext::shared_ptr< Parameterparameter (const Size) const override
void update () const override
Public Member Functions inherited from EqBsParametrization
 EqBsParametrization (const Currency &eqCcy, const std::string &eqName, const Handle< Quote > &equitySpotToday, const Handle< Quote > &fxSpotToday, const Handle< YieldTermStructure > &equityIrCurveToday, const Handle< YieldTermStructure > &equityDivYieldCurveToday)
virtual Real stdDeviation (const Time t) const
const Handle< QuoteeqSpotToday () const
const Handle< QuotefxSpotToday () const
const Handle< YieldTermStructure > equityIrCurveToday () const
const Handle< YieldTermStructure > equityDivYieldCurveToday () const
Size numberOfParameters () const override
Public Member Functions inherited from Parametrization
 Parametrization (const Currency &currency, const std::string &name="")
virtual const Currency & currency () const
virtual Array parameterValues (const Size) const
const std::string & name () const

Protected Member Functions

Real direct (const Size i, const Real x) const override
Real inverse (const Size i, const Real y) const override
Protected Member Functions inherited from Parametrization
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

Additional Inherited Members

Protected Attributes inherited from Parametrization
const Real h_
const Real h2_

Detailed Description

EQ Black Scholes constant parametrization.

EQ Black Scholes parametrization with piecewise constant volatility

Constructor & Destructor Documentation

◆ EqBsPiecewiseConstantParametrization() [1/2]

EqBsPiecewiseConstantParametrization ( const Currency & currency,
const std::string & eqName,
const Handle< Quote > & eqSpotToday,
const Handle< Quote > & fxSpotToday,
const Array & times,
const Array & sigma,
const Handle< YieldTermStructure > & eqIrCurveToday,
const Handle< YieldTermStructure > & eqDivYieldCurveToday )

The currency refers to the equity currency, the spots are as of today (i.e. the discounted spot)

◆ EqBsPiecewiseConstantParametrization() [2/2]

EqBsPiecewiseConstantParametrization ( const Currency & currency,
const std::string & eqName,
const Handle< Quote > & eqSpotToday,
const Handle< Quote > & fxSpotToday,
const std::vector< Date > & dates,
const Array & sigma,
const Handle< YieldTermStructure > & domesticTermStructure,
const Handle< YieldTermStructure > & eqIrCurveToday,
const Handle< YieldTermStructure > & eqDivYieldCurveToday )

The term structure is needed in addition because it it's day counter and reference date is needed to convert dates to times. It should be the term structure of the domestic IR component in the cross asset model, since this is defining the model's date-time conversion in more general terms.

Member Function Documentation

◆ variance()

Real variance ( const Time t) const
overridevirtual

must satisfy variance(0) = 0.0, variance'(t) >= 0

Implements EqBsParametrization.

◆ sigma()

Real sigma ( const Time t) const
overridevirtual

is supposed to be positive

Reimplemented from EqBsParametrization.

◆ parameterTimes()

const Array & parameterTimes ( const Size ) const
overridevirtual

the times associated to parameter i

Reimplemented from Parametrization.

◆ parameter()

const QuantLib::ext::shared_ptr< Parameter > parameter ( const Size ) const
overridevirtual

the parameter storing the raw parameter values

Reimplemented from Parametrization.

◆ update()

void update ( ) const
overridevirtual

this method should be called when input parameters linked via references or pointers change in order to ensure consistent results

Reimplemented from Parametrization.

◆ direct()

Real direct ( const Size ,
const Real x ) const
overrideprotectedvirtual

transformations between raw and actual parameters

Reimplemented from Parametrization.

◆ inverse()

Real inverse ( const Size i,
const Real y ) const
overrideprotectedvirtual

Reimplemented from Parametrization.