00001 #pragma once 00002 #ifndef importData_h 00003 #define importData_h 00004 00005 00006 #include <iostream> 00007 #include <string> 00008 #include "..\PartF\creditCurve.h" 00009 #include "..\common\filereader.h" 00010 #include "..\common\date.h" 00011 #include"..\PartB\yieldCurve.h" 00012 #include"..\PartE\volsurface.h" 00013 00018 static const string YCNAME ="yieldcurve.csv"; 00019 static const string VSNAME ="volsurface.csv"; 00020 static const string CSNAME ="creditspreads.csv"; 00021 00022 struct marketData { 00023 yieldCurve yieldcurve; 00024 creditCurve creditcurve; 00025 volsurface vols; 00026 }; 00027 00028 class importData{ 00029 private: 00030 string _datadir; 00031 yieldCurve _yc; 00032 creditCurve _cc; 00033 volsurface _vs; 00034 marketData _marketData; 00035 void setMarketData(); 00036 public: 00038 importData(void); 00040 importData(char *argv); 00042 bool runInterface(); 00044 Natural displayFileFormatsMenu(); 00046 bool runUserDefinedInterface(); 00047 00049 void importYieldCurve(string path="yctest.csv"); 00051 void importVolSurface(string path="voltest2.csv",Real spot=2994.0); 00053 void importCreditCurve(string path="ccspread.csv"); 00054 00055 marketData getData() {return _marketData;} 00056 yieldCurve getYieldCurve() {return _yc;} 00057 creditCurve getCreditCurve() {return _cc;} 00058 volsurface getVolatilitySurface() {return _vs;} 00059 }; 00060 00061 #endif