[QuantLibAddin-cvs] QuantLibAddin/qlo swaptionvolstructure.cpp, 1.34, 1.35
Brought to you by:
ericehlers,
nando
|
From: Giorgio F. <gi...@us...> - 2006-10-23 13:57:42
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv14236/qlo Modified Files: swaptionvolstructure.cpp Log Message: Added end criteria in sabr calibration report Index: swaptionvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.cpp,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** swaptionvolstructure.cpp 18 Oct 2006 13:48:53 -0000 1.34 --- swaptionvolstructure.cpp 23 Oct 2006 13:57:33 -0000 1.35 *************** *** 27,30 **** --- 27,31 ---- #include <ql/Volatilities/swaptionvolcube.hpp> #include <ql/Volatilities/smilesection.hpp> + #include <ql/Optimization/criteria.hpp> *************** *** 153,157 **** { std::vector<std::vector<boost::any> > sparseSabrParameters; ! QuantLib::Size numberOfColumn = 9; std::vector<boost::any> headings(numberOfColumn); --- 154,158 ---- { std::vector<std::vector<boost::any> > sparseSabrParameters; ! QuantLib::Size numberOfColumn = 10; std::vector<boost::any> headings(numberOfColumn); *************** *** 166,169 **** --- 167,171 ---- headings[7]=std::string("Error"); headings[8]=std::string("Max Error"); + headings[9]=std::string("End Criteria"); *************** *** 173,180 **** { std::vector<boost::any> par(numberOfColumn, std::string("N/A")); ! for(QuantLib::Size j=0; j<sabrParameters.columns(); j++) { ! par[j] = sabrParameters[i][j]; } sparseSabrParameters.push_back(par); } --- 175,199 ---- { std::vector<boost::any> par(numberOfColumn, std::string("N/A")); ! for(QuantLib::Size j=0; j<sabrParameters.columns()-1; j++) { ! par[j] = sabrParameters[i][j]; } + switch (int(sabrParameters[i][numberOfColumn-1])) { + case QuantLib::EndCriteria::none: + par[numberOfColumn-1] = std::string("None"); + break; + case QuantLib::EndCriteria::maxIter: + par[numberOfColumn-1] = std::string("MaxIterations"); + break; + case QuantLib::EndCriteria::statPt: + par[numberOfColumn-1] = std::string("StationaryPoint"); + break; + case QuantLib::EndCriteria::statGd: + par[numberOfColumn-1] = std::string("StationaryGradient"); + break; + default: + par[numberOfColumn-1] = std::string("unknown EndCriteria::Type "); + break; + } sparseSabrParameters.push_back(par); } |