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

mainvolsurface.cpp

Go to the documentation of this file.
00001 #include"..\PartB\yieldCurve.h"
00002 #include"..\PartE\volsurface.h"
00003 #include "..\common\filereader.h"
00004 
00005 #include<iostream>
00006 #include <fstream>
00007 
00008 #include<valarray>
00009 //#include<time.h>
00010 using namespace std;
00011 
00012 bool mainvolsurface(void) {
00013 //      valarray<yieldPoint> *rates = 
00014 //              FileReader::buildYieldPointArray(FileReader::getdatadirasstring() + 
00015 //              "yctest.csv");
00016         yieldCurve testcurve=yieldCurve(0.05);
00017 
00018         volsurfaceparams *params =
00019                 FileReader::buildVolSurfaceParams(FileReader::getdatadirasstring() +
00020                 "voltest2.csv");
00021 
00022         Date t0(16,July,2005);
00023         Real stockprice = 2994.0;
00024 
00025         volsurface testvolsurf(stockprice, t0, testcurve, *params);
00026         testvolsurf.setvolsurface();
00027 
00028 
00029         Date datetest1(16,September,2005);
00030         Date datetest2(17,March,2006);
00031         Date datetest3(15,December,2006);
00032         Date datetest4(21,December,2007);
00033         Date datetest5(18,December,2009);
00034         Date datetest6(21,December,2012);
00035 
00036         Real striketest1=2395.95;
00037         Real striketest2=2545.69;
00038         Real striketest3=2695.44;
00039         Real striketest4=2770.31;
00040         Real striketest5=2845.19;
00041         Real striketest6=2920.06;
00042         Real striketest7=2994.93;
00043         Real striketest8=3069.81;
00044         Real striketest9=3144.68;
00045         Real striketest10=3294.43;
00046         
00047 
00048 
00049         Real voltest1=testvolsurf.volatility(striketest1, datetest1);
00050         Real voltest2=testvolsurf.volatility(striketest2, datetest1);
00051         Real voltest3=testvolsurf.volatility(striketest3, datetest1);
00052         Real voltest4=testvolsurf.volatility(striketest4, datetest1);
00053         Real voltest5=testvolsurf.volatility(striketest5, datetest1);
00054         Real voltest6=testvolsurf.volatility(striketest6, datetest2);
00055         Real voltest7=testvolsurf.volatility(striketest7, datetest2);
00056         Real voltest8=testvolsurf.volatility(striketest8, datetest2);
00057         Real voltest9=testvolsurf.volatility(striketest9, datetest2);
00058         Real voltest10=testvolsurf.volatility(striketest10, datetest2);
00059         Real voltest11=testvolsurf.volatility(striketest1, datetest4);
00060         Real voltest12=testvolsurf.volatility(striketest2, datetest4);
00061         Real voltest13=testvolsurf.volatility(striketest3, datetest4);
00062         Real voltest14=testvolsurf.volatility(striketest4, datetest4);
00063         Real voltest15=testvolsurf.volatility(striketest5, datetest4);
00064         Real voltest16=testvolsurf.volatility(striketest6, datetest6);
00065         Real voltest17=testvolsurf.volatility(striketest7, datetest6);
00066         Real voltest18=testvolsurf.volatility(striketest8, datetest6);
00067         Real voltest19=testvolsurf.volatility(striketest9, datetest6);
00068         Real voltest20=testvolsurf.volatility(striketest10, datetest6);
00069 
00070         cout << "volatility for K=" << striketest1 << "," << datetest1.toString() << " : " << voltest1 << endl;
00071         cout << "volatility for K=" << striketest2 << "," << datetest1.toString() << " : " << voltest2 << endl;
00072         cout << "volatility for K=" << striketest3 << "," << datetest1.toString() << " : " << voltest3 << endl;
00073         cout << "volatility for K=" << striketest4 << "," << datetest1.toString() << " : " << voltest4 << endl;
00074         cout << "volatility for K=" << striketest5 << "," << datetest1.toString() << " : " << voltest5 << endl;
00075         cout << "volatility for K=" << striketest6 << "," << datetest2.toString() << " : " << voltest6 << endl;
00076         cout << "volatility for K=" << striketest7 << "," << datetest2.toString() << " : " << voltest7 << endl;
00077         cout << "volatility for K=" << striketest8 << "," << datetest2.toString() << " : " << voltest8 << endl;
00078         cout << "volatility for K=" << striketest9 << "," << datetest2.toString() << " : " << voltest9 << endl;
00079         cout << "volatility for K=" << striketest10 << "," << datetest2.toString() << " : " << voltest10 << endl;
00080         cout << "volatility for K=" << striketest1 << "," << datetest4.toString() << " : " << voltest11 << endl;
00081         cout << "volatility for K=" << striketest2 << "," << datetest4.toString() << " : " << voltest12 << endl;
00082         cout << "volatility for K=" << striketest3 << "," << datetest4.toString() << " : " << voltest13 << endl;
00083         cout << "volatility for K=" << striketest4 << "," << datetest4.toString() << " : " << voltest14 << endl;
00084         cout << "volatility for K=" << striketest5 << "," << datetest4.toString() << " : " << voltest15 << endl;
00085         cout << "volatility for K=" << striketest6 << "," << datetest6.toString() << " : " << voltest16 << endl;
00086         cout << "volatility for K=" << striketest7 << "," << datetest6.toString() << " : " << voltest17 << endl;
00087         cout << "volatility for K=" << striketest8 << "," << datetest6.toString() << " : " << voltest18 << endl;
00088         cout << "volatility for K=" << striketest9 << "," << datetest6.toString() << " : " << voltest19 << endl;
00089         cout << "volatility for K=" << striketest10 << "," << datetest6.toString() << " : " << voltest20 << endl;
00090 
00091         return false;
00092 }

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