#include <ql/models/shortrate/onefactormodels/gaussian1dmodel.hpp>
Public Member Functions | |
ext::shared_ptr< StochasticProcess1D > | stateProcess () const |
Real | numeraire (Time t, Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const |
Real | zerobond (Time T, Time t=0.0, Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const |
Real | numeraire (const Date &referenceDate, Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const |
Real | zerobond (const Date &maturity, const Date &referenceDate=Null< Date >(), 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, Rate strike, const Date &referenceDate=Null< Date >(), Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >(), Real yStdDevs=7.0, Size yGridPoints=64, bool extrapolatePayoff=true, bool flatPayoffExtrapolation=false) const |
Real | forwardRate (const Date &fixing, const Date &referenceDate=Null< Date >(), Real y=0.0, const ext::shared_ptr< IborIndex > &iborIdx=ext::shared_ptr< IborIndex >()) const |
Real | swapRate (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), Real y=0.0, const ext::shared_ptr< SwapIndex > &swapIdx=ext::shared_ptr< SwapIndex >()) const |
Real | swapAnnuity (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), Real y=0.0, const ext::shared_ptr< SwapIndex > &swapIdx=ext::shared_ptr< SwapIndex >()) const |
Disposable< Array > | yGrid (Real yStdDevs, int gridPoints, Real T=1.0, Real t=0, Real y=0) const |
![]() | |
TermStructureConsistentModel (const Handle< YieldTermStructure > &termStructure) | |
const Handle< YieldTermStructure > & | termStructure () const |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
void | update () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
void | alwaysForwardNotifications () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
void | registerWithObservables (const ext::shared_ptr< Observer > &) |
Size | unregisterWith (const ext::shared_ptr< Observable > &) |
void | unregisterWithAll () |
virtual void | deepUpdate () |
Static Public Member Functions | |
static Real | gaussianPolynomialIntegral (Real a, Real b, Real c, Real d, Real e, Real x0, Real x1) |
static Real | gaussianShiftedPolynomialIntegral (Real a, Real b, Real c, Real d, Real e, Real h, Real x0, Real x1) |
Protected Member Functions | |
Gaussian1dModel (const Handle< YieldTermStructure > &yieldTermStructure) | |
virtual Real | numeraireImpl (Time t, Real y, const Handle< YieldTermStructure > &yts) const =0 |
virtual Real | zerobondImpl (Time T, Time t, Real y, const Handle< YieldTermStructure > &yts) const =0 |
void | performCalculations () const |
void | generateArguments () |
ext::shared_ptr< VanillaSwap > | underlyingSwap (const ext::shared_ptr< SwapIndex > &index, const Date &expiry, const Period &tenor) const |
![]() | |
virtual void | calculate () const |
Protected Attributes | |
ext::shared_ptr< StochasticProcess1D > | stateProcess_ |
Date | evaluationDate_ |
bool | enforcesTodaysHistoricFixings_ |
![]() | |
bool | calculated_ |
bool | frozen_ |
bool | alwaysForward_ |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
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/
|
static |
Computes the integral
\[ {2\pi}^{-0.5} \int_{a}^{b} p(x) \exp{-0.5*x*x} \mathrm{d}x \]
with
\[ p(x) = ax^4+bx^3+cx^2+dx+e \]
.
|
static |
Computes the integral
\[ {2\pi}^{-0.5} \int_{a}^{b} p(x) \exp{-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 \]
.
Disposable<Array> yGrid | ( | Real | yStdDevs, |
int | gridPoints, | ||
Real | T = 1.0 , |
||
Real | t = 0 , |
||
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
|
protectedvirtual |
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.