void SwaptionVolatilityMatrixTest::testSwaptionVolMatrixCoherence() { BOOST_TEST_MESSAGE("Testing swaption volatility matrix..."); CommonVars vars; boost::shared_ptr<SwaptionVolatilityMatrix> vol; std::string description; //floating reference date, floating market data description = "floating reference date, floating market data"; vol = boost::shared_ptr<SwaptionVolatilityMatrix>(new SwaptionVolatilityMatrix(vars.conventions.calendar, vars.conventions.optionBdc, vars.atm.tenors.options, vars.atm.tenors.swaps, vars.atm.volsHandle, vars.conventions.dayCounter)); vars.makeCoherenceTest(description, vol); //fixed reference date, floating market data description = "fixed reference date, floating market data"; vol = boost::shared_ptr<SwaptionVolatilityMatrix>(new SwaptionVolatilityMatrix(Settings::instance().evaluationDate(), vars.conventions.calendar, vars.conventions.optionBdc, vars.atm.tenors.options, vars.atm.tenors.swaps, vars.atm.volsHandle, vars.conventions.dayCounter)); vars.makeCoherenceTest(description, vol); // floating reference date, fixed market data description = "floating reference date, fixed market data"; vol = boost::shared_ptr<SwaptionVolatilityMatrix>(new SwaptionVolatilityMatrix(vars.conventions.calendar, vars.conventions.optionBdc, vars.atm.tenors.options, vars.atm.tenors.swaps, vars.atm.volsHandle, vars.conventions.dayCounter)); vars.makeCoherenceTest(description, vol); // fixed reference date, fixed market data description = "fixed reference date, fixed market data"; vol = boost::shared_ptr<SwaptionVolatilityMatrix>(new SwaptionVolatilityMatrix(Settings::instance().evaluationDate(), vars.conventions.calendar, vars.conventions.optionBdc, vars.atm.tenors.options, vars.atm.tenors.swaps, vars.atm.volsHandle, vars.conventions.dayCounter)); vars.makeCoherenceTest(description, vol); }