[QuantLibAddin-cvs] QuantLibAddin/qlo analysis.cpp,1.1,1.2
Brought to you by:
ericehlers,
nando
|
From: Cristina D. <cdu...@us...> - 2007-01-08 15:37:17
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv21543/qlo Modified Files: analysis.cpp Log Message: The analysis of capflooredcouponvector returns strikes (todo: convexity adjustement) Index: analysis.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/analysis.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** analysis.cpp 18 Oct 2006 19:52:07 -0000 1.1 --- analysis.cpp 8 Jan 2007 15:37:13 -0000 1.2 *************** *** 23,26 **** --- 23,27 ---- #include <qlo/analysis.hpp> #include <ql/CashFlows/cmscoupon.hpp> + #include <ql/CashFlows/capflooredcoupon.hpp> namespace QuantLibAddin { *************** *** 30,33 **** --- 31,35 ---- public QuantLib::Visitor<QuantLib::Coupon>, public QuantLib::Visitor<QuantLib::FloatingRateCoupon>, + public QuantLib::Visitor<QuantLib::CappedFlooredCoupon>, public QuantLib::Visitor<QuantLib::CMSCoupon> { private: *************** *** 40,43 **** --- 42,46 ---- void visit(QuantLib::Coupon& c); void visit(QuantLib::FloatingRateCoupon& c); + void visit(QuantLib::CappedFlooredCoupon& c); void visit(QuantLib::CMSCoupon& c); const std::vector<std::vector<boost::any> >& analysis() const; *************** *** 136,139 **** --- 139,159 ---- } + void AnalysisGenerator::visit(QuantLib::CappedFlooredCoupon& c) { + visit(static_cast<QuantLib::Coupon&>(c)); + flowAnalysis_.back()[FIXING_DAYS]=c.fixingDays(); + flowAnalysis_.back()[FIXING_DATES]=c.fixingDate().serialNumber(); + flowAnalysis_.back()[INDEX]=c.index()->name(); + flowAnalysis_.back()[FLOOR]=c.floor(); + flowAnalysis_.back()[GEARING]=c.gearing(); + try { + flowAnalysis_.back()[INDEX_FIXING]=c.indexFixing(); + } catch(...) {} + try { + flowAnalysis_.back()[CONV_ADJ]=c.convexityAdjustment(); + } catch(...) {} + flowAnalysis_.back()[SPREAD]=c.spread(); + flowAnalysis_.back()[CAP]=c.cap(); + } + void AnalysisGenerator::visit(QuantLib::CMSCoupon& c) { visit(static_cast<QuantLib::Coupon&>(c)); |