00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef martingale_liborfunctional_h
00025 #define martingale_liborfunctional_h
00026
00027 #include "TypedefsMacros.h"
00028 #include "Array.h"
00029
00030
00031 MTGL_BEGIN_NAMESPACE(Martingale)
00032
00033
00034 class BondCall;
00035
00036
00060 namespace LiborFunctional {
00061
00065 inline Real X(int j, const RealArray1D& H){ return (H[j]-H[j+1])/H[j+1]; }
00066
00071 Real H_pq(int p, int q, const RealArray1D& H, Real delta);
00072
00077 Real swapRate(int p, int q, const RealArray1D& H, Real delta);
00078
00079
00086 Real forwardSwaptionPayoff
00087 (int p, int q, Real kappa, const RealArray1D& H, Real delta);
00088
00089
00099 Real forwardCapletPayoff
00100 (int i, Real kappa,const RealArray1D& H, Real delta);
00101
00102
00108 Real forwardBondCallPayoff(BondCall* bc, const RealArray1D& H);
00109
00110 };
00111
00112
00113
00114 MTGL_END_NAMESPACE(Martingale)
00115
00116 #endif
00117
00118