QuantLib_Gaussian1dModel man page

Gaussian1dModel —

Synopsis

#include <ql/models/shortrate/onefactormodels/gaussian1dmodel.hpp>

Inherits TermStructureConsistentModel, and LazyObject.

Inherited by Gsr, and MarkovFunctional.

Public Member Functions

const boost::shared_ptr< StochasticProcess1D > stateProcess () const

Real numeraire (const Time t, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const

Real zerobond (const Time T, const Time t=0.0, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const

Real numeraire (const Date &referenceDate, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const

Real zerobond (const Date &maturity, const Date &referenceDate=Null< Date >(), const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const

Real zerobondOption (const Option::Type &type, const Date &expiry, const Date &valueDate, const Date &maturity, const Rate strike, const Date &referenceDate=Null< Date >(), const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >(), const Real yStdDevs=7.0, const Size yGridPoints=64, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false) const

Real forwardRate (const Date &fixing, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< IborIndex > iborIdx=boost::shared_ptr< IborIndex >()) const

Real swapRate (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< SwapIndex > swapIdx=boost::shared_ptr< SwapIndex >()) const

Real swapAnnuity (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< SwapIndex > swapIdx=boost::shared_ptr< SwapIndex >()) const

const Disposable< Array > yGrid (const Real yStdDevs, const int gridPoints, const Real T=1.0, const Real t=0, const Real y=0) const

Static Public Member Functions

static Real gaussianPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real x0, const Real x1)

static Real gaussianShiftedPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real h, const Real x0, const Real x1)

Protected Member Functions

Gaussian1dModel (const Handle< YieldTermStructure > &yieldTermStructure)

virtual Real numeraireImpl (const Time t, const Real y, const Handle< YieldTermStructure > &yts) const =0

virtual Real zerobondImpl (const Time T, const Time t, const Real y, const Handle< YieldTermStructure > &yts) const =0

void performCalculations () const

void generateArguments ()

boost::shared_ptr< VanillaSwap > underlyingSwap (const boost::shared_ptr< SwapIndex > &index, const Date &expiry, const Period &tenor) const

Protected Attributes

boost::shared_ptr< StochasticProcess1D > stateProcess_

Date evaluationDate_

bool enforcesTodaysHistoricFixings_

Additional Inherited Members

Detailed Description

One factor interest rate model interface class The only methods that must be implemented by subclasses are the numeraire and zerobond methods for an input array of state variable values. The variable $y$ is understood to be the standardized (zero mean, unit variance) version of the model's original state variable $x$.

NTL support may be enabled by defining GAUSS1D_ENABLE_NTL in this file. For details on NTL see http://www.shoup.net/ntl/

Warning

the variance of the state process conditional on $x(t)=x$ must be independent of the value of $x$

Member Function Documentation

static Real gaussianPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real x0, const Real x1) [static]

Computes the integral [ {2pi}^{-0.5} int_{a}^{b} p(x) \xp{-0.5*x*x} mathrm{d}x ] with [ p(x) = ax^4+bx^3+cx^2+dx+e ].

static Real gaussianShiftedPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real h, const Real x0, const Real x1) [static]

Computes the integral [ {2pi}^{-0.5} int_{a}^{b} p(x) \xp{-0.5*x*x} mathrm{d}x ] with [ p(x) = a(x-h)^4+b(x-h)^3+c(x-h)^2+d(x-h)+e ].

const Disposable<Array> yGrid (const Real yStdDevs, const int gridPoints, const Real T = 1.0, const Real t = 0, const Real y = 0) const

Generates a grid of values for the standardized state variable $y$ at time $T$ conditional on $y(t)=y$, covering yStdDevs standard deviations consisting of 2*gridPoints+1 points

void performCalculations () const [protected], [virtual]

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.

Reimplemented in MarkovFunctional, and Gsr.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

enforcesTodaysHistoricFixings_(3), Gaussian1dModel(3), gaussianPolynomialIntegral(3), gaussianShiftedPolynomialIntegral(3), numeraire(3), numeraireImpl(3), stateProcess(3), stateProcess_(3), swapAnnuity(3), yGrid(3), zerobond(3), zerobondImpl(3) and zerobondOption(3) are aliases of QuantLib_Gaussian1dModel(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib