Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

GaussianProcess.h

Go to the documentation of this file.
00001 #pragma once
00002 #ifndef GAUSSIANROCESS_H
00003 #define GAUSSIANPROCESS_H
00004 
00005 #include "../../common/Date.h"
00006 #include "../../common/types.h"
00007 #include "../../PartE/volsurface.h"
00008 
00009 #include<valarray>
00010 using namespace std;
00011 
00012 
00013 class GaussianProcess
00014 {
00015 public:
00024         GaussianProcess(const valarray<LongInteger> schedule,const LongNatural& nDates,const Real& initialRate,const valarray<Real> drift,const Real &meanReversionSpeed,Real &vol);
00025 
00026         GaussianProcess(const valarray<LongInteger> schedule,const LongNatural& nDates,const Real& initialRate,const valarray<Real> drift,const Real &meanReversionSpeed,volsurface* vol,Real strike);
00027 
00028         GaussianProcess(void);
00029         ~GaussianProcess();
00030 
00032         valarray<Real> BuildPath(valarray<Real> gaussianShocks);
00033 
00037         Real BuildTerminalPoint(Real gaussianShock);
00038 
00040         void GetStepIncrements(valarray<Real> stepIncrements);
00041 
00042 private:
00043         valarray<LongInteger>   m_vDates;//size is m_nDates
00044         valarray<Real>  m_vDrift;//size is m_nDates
00045 
00046         valarray<Real> m_vStepSize;//size is m_nDates
00047         Real    m_dbMeanReversionSpeed;
00048         Real m_dbVol;
00049         volsurface*     _vol;
00050         Real _strike;
00051         Real  m_dbInitialRate;
00052         LongNatural     m_nDates;//number of Dates excluding 0
00053 };
00054 
00055 #endif

Note: Generated nightly - reload for latest version
Generated on Thu Dec 22 23:12:36 2005 for terreneuve by doxygen 1.3.6