Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv10488/qlo
Modified Files:
couponvectors.cpp couponvectors.hpp
Log Message:
exported CMSCouponVector
Index: couponvectors.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** couponvectors.hpp 22 Jun 2006 10:18:48 -0000 1.8
--- couponvectors.hpp 28 Jul 2006 16:08:35 -0000 1.9
***************
*** 24,27 ****
--- 24,28 ----
#include <qlo/index.hpp>
#include <ql/CashFlows/cashflowvectors.hpp>
+ #include <ql/CashFlows/cmscoupon.hpp>
#include <ql/CashFlows/analysis.hpp>
***************
*** 76,79 ****
--- 77,97 ----
};
+ class CMSCouponVector : public CouponVector {
+ public:
+ CMSCouponVector(
+ const boost::shared_ptr<QuantLib::Schedule>& schedule,
+ QuantLib::BusinessDayConvention paymentAdjustment,
+ const std::vector<QuantLib::Real>& nominals,
+ const boost::shared_ptr<QuantLib::SwapRate>& index,
+ QuantLib::Integer fixingDays,
+ const QuantLib::DayCounter& dayCounter,
+ const std::vector<QuantLib::Real>& baseRates,
+ const std::vector<QuantLib::Real>& fractions,
+ const std::vector<QuantLib::Real>& caps,
+ const std::vector<QuantLib::Real>& floors,
+ const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol,
+ QuantLib::ConvexityAdjustmentPricer::Type typeOfConvexityAdjustment);
+ virtual std::vector<std::vector<double> > getLeg();
+ };
}
Index: couponvectors.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** couponvectors.cpp 24 Jul 2006 09:28:50 -0000 1.9
--- couponvectors.cpp 28 Jul 2006 16:08:35 -0000 1.10
***************
*** 30,33 ****
--- 30,34 ----
#include <ql/CashFlows/parcoupon.hpp>
+
namespace QuantLibAddin {
***************
*** 153,155 ****
--- 154,205 ----
}
+ CMSCouponVector::CMSCouponVector(
+ const boost::shared_ptr<QuantLib::Schedule>& schedule,
+ QuantLib::BusinessDayConvention paymentAdjustment,
+ const std::vector<QuantLib::Real>& nominals,
+ const boost::shared_ptr<QuantLib::SwapRate>& index,
+ QuantLib::Integer fixingDays,
+ const QuantLib::DayCounter& dayCounter,
+ const std::vector<QuantLib::Rate>& baseRates,
+ const std::vector<QuantLib::Real>& fractions,
+ const std::vector<QuantLib::Rate>& caps,
+ const std::vector<QuantLib::Rate>& floors,
+ const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol,
+ QuantLib::ConvexityAdjustmentPricer::Type typeOfConvexityAdjustment) {
+
+ cashFlowVector_ = QuantLib::CMSCouponVector(*schedule,
+ paymentAdjustment,
+ nominals,
+ index,
+ fixingDays,
+ dayCounter,
+ baseRates,
+ fractions,
+ caps,
+ floors,
+ vol,
+ typeOfConvexityAdjustment);
+ }
+
+ std::vector<std::vector<double> > CMSCouponVector::getLeg() {
+ std::vector<std::vector<double> > leg;
+
+ for (std::size_t i=0 ; i < cashFlowVector_.size() ; i++) {
+ std::vector<double> cf;
+ QuantLib::ParCoupon& c =
+ (QuantLib::ParCoupon&) *(cashFlowVector_[i]);
+ cf.push_back(c.accrualStartDate().serialNumber());
+ cf.push_back(c.accrualEndDate().serialNumber());
+ cf.push_back(c.date().serialNumber());
+ cf.push_back(c.fixingDate().serialNumber());
+ cf.push_back(c.accrualPeriod());
+ cf.push_back(c.accrualDays());
+ cf.push_back(c.amount());
+ cf.push_back(c.indexFixing());
+ leg.push_back(cf);
+ }
+
+ return leg;
+ }
+
}
|