[QuantLibAddin-cvs] QuantLibAddin/qlo couponvectors.cpp,1.30,1.31
Brought to you by:
ericehlers,
nando
|
From: Cristina D. <cdu...@us...> - 2006-09-06 12:42:07
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv28366/qlo Modified Files: couponvectors.cpp Log Message: now the flowAnalysis return the vector of cap/floor rates if the cashflow is a CMSCoupon Index: couponvectors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** couponvectors.cpp 6 Sep 2006 09:14:37 -0000 1.30 --- couponvectors.cpp 6 Sep 2006 12:42:02 -0000 1.31 *************** *** 101,121 **** boost::dynamic_pointer_cast<QuantLib::CMSCoupon>( cashflows[i]); ! if (floatingCoupon!=0) { ! cf[ 9]=floatingCoupon->fixingDays(); ! cf[10]=floatingCoupon->fixingDate().serialNumber(); ! cf[11]=floatingCoupon->index()->name(); ! cf[12]=std::string("N/A"); ! cf[13]=floatingCoupon->gearing(); ! try { ! cf[14]=floatingCoupon->indexFixing(); ! } catch(...) { ! } ! try { ! cf[15]=floatingCoupon->convexityAdjustment(); ! } catch(...) { ! } ! cf[16]=floatingCoupon->spread(); ! cf[17]=std::string("N/A"); ! } else if (cmsCoupon!=0) { cf[ 9]=cmsCoupon->fixingDays(); cf[10]=cmsCoupon->fixingDate().serialNumber(); --- 101,105 ---- boost::dynamic_pointer_cast<QuantLib::CMSCoupon>( cashflows[i]); ! if (cmsCoupon!=0) { cf[ 9]=cmsCoupon->fixingDays(); cf[10]=cmsCoupon->fixingDate().serialNumber(); *************** *** 134,137 **** --- 118,137 ---- cf[16]=cmsCoupon->spread(); cf[17]=cmsCoupon->cap(); + } else if (floatingCoupon!=0) { + cf[ 9]=floatingCoupon->fixingDays(); + cf[10]=floatingCoupon->fixingDate().serialNumber(); + cf[11]=floatingCoupon->index()->name(); + cf[12]=std::string("N/A"); + cf[13]=floatingCoupon->gearing(); + try { + cf[14]=floatingCoupon->indexFixing(); + } catch(...) { + } + try { + cf[15]=floatingCoupon->convexityAdjustment(); + } catch(...) { + } + cf[16]=floatingCoupon->spread(); + cf[17]=std::string("N/A"); } flowAnalysis_.push_back(cf); |