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

Exotics.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 #ifndef EXOTICS_H
00004 #define EXOTICS_H
00005 
00006 #include "./../PartB/yieldCurve.h"
00007 #include "./../PartE/volsurface.h"
00008 
00009 #include<valarray>
00010 using namespace std;
00011 
00016 static const Real defaultShiftVolSurface=0.01;
00017 static const Real defaultAdvDays=1.;
00018 
00019 Real mainmc(Real Expiry, Real Strike, Real Spot, volsurface* pvolsurface, yieldCurve* pyieldCurve,
00020            LongNatural nPaths, LongNatural nDates, Integer PrdName);
00021 
00022 enum exoticsType {
00023         AsianCall,
00024         AsianPut,
00025         RevLookbackCall,
00026         RevLookbackPut,
00027         FlooredCliquet,
00028         CappedCliquet,
00029         CollaredCliquet,
00030         BarrierCall,
00031         BarrierPut
00032 };
00033 
00034 class Exotics
00035 {
00036 public:
00048         Exotics(exoticsType type,yieldCurve* curve,volsurface* surface,Real spot,Real strike,
00049                 Real Expiry,LongNatural nDates=10,Real strike2=-1.,LongNatural nPaths=100000);
00050         ~Exotics(void);
00052         Real getPrice();
00054         Real getRho();
00056         Real getTheta();
00058         Real getVega();
00060         Real getDelta();
00061 
00062 private:
00063         exoticsType _type;
00064         Real _expiry;
00065         Real _spot;
00066         Real _strike;
00067         Real _strike2;
00068         volsurface* _volSurface;
00069         yieldCurve* _yieldCurve;
00070         LongNatural _nPaths;
00071         LongNatural _nDates;
00072 };
00073 
00074 #endif;

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