Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv2547/qlo
Modified Files:
couponvectors.cpp couponvectors.hpp optimization.cpp
optimization.hpp typefactory.hpp
Log Message:
restoring back functionalities
Index: couponvectors.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.hpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** couponvectors.hpp 28 Aug 2006 12:04:52 -0000 1.19
--- couponvectors.hpp 28 Aug 2006 15:56:17 -0000 1.20
***************
*** 24,28 ****
#include <qlo/index.hpp>
#include <ql/CashFlows/cashflowvectors.hpp>
! //#include <ql/CashFlows/cmscoupon.hpp>
#include <ql/CashFlows/analysis.hpp>
--- 24,29 ----
#include <qlo/index.hpp>
#include <ql/CashFlows/cashflowvectors.hpp>
! #include <ql/CashFlows/cmscoupon.hpp>
! #include <ql/CashFlows/conundrumpricer.hpp>
#include <ql/CashFlows/analysis.hpp>
***************
*** 66,101 ****
};
! //class VanillaCMSCouponPricer:public ObjHandler::LibraryObject<QuantLib::VanillaCMSCouponPricer> {
! // public:
! // VanillaCMSCouponPricer(const std::string &typeOfVanillaCMSCouponPricer,
! // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve);
! // boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> underlyingObject()
! // {
! // return libraryObject_;
! // }
! //};
! //class ConundrumPricer : public VanillaCMSCouponPricer {
! // public:
! // ConundrumPricer(const std::string &typeOfVanillaCMSCouponPricer);
! //};
! //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::SwapIndex>& 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();
! //};
}
--- 67,103 ----
};
! class VanillaCMSCouponPricer:public ObjHandler::LibraryObject<QuantLib::VanillaCMSCouponPricer> {
! public:
! VanillaCMSCouponPricer(const std::string &typeOfVanillaCMSCouponPricer,
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve);
! boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> underlyingObject()
! {
! return libraryObject_;
! }
! };
! class ConundrumPricer : public VanillaCMSCouponPricer {
! public:
! ConundrumPricer(const std::string &typeOfVanillaCMSCouponPricer);
! };
! 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::SwapIndex>& index,
! QuantLib::Integer fixingDays,
! const QuantLib::DayCounter& dayCounter,
! const std::vector<QuantLib::Real>& spreads,
! const std::vector<QuantLib::Real>& gearings,
! const std::vector<QuantLib::Real>& caps,
! const std::vector<QuantLib::Real>& floors,
! const std::vector<QuantLib::Real>& meanReversions,
! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol,
! const std::string & typeOfVanillaCMSCouponPricer,
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve);
! };
}
Index: optimization.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/optimization.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** optimization.hpp 28 Aug 2006 10:05:25 -0000 1.3
--- optimization.hpp 28 Aug 2006 15:56:17 -0000 1.4
***************
*** 36,46 ****
QuantLib::OptimizationMethod> {};
! //class ConjugateGradient : public OptimizationMethod
! //{
! // public:
! // ConjugateGradient(const QuantLib::EndCriteria& endCriteria,
! // const QuantLib::Array& initialValue,
! // const boost::shared_ptr<QuantLib::LineSearch>& lineSearch);
! //};
class LevenbergMarquardt : public OptimizationMethod
--- 36,46 ----
QuantLib::OptimizationMethod> {};
! class ConjugateGradient : public OptimizationMethod
! {
! public:
! ConjugateGradient(const QuantLib::EndCriteria& endCriteria,
! const QuantLib::Array& initialValue,
! const boost::shared_ptr<QuantLib::LineSearch>& lineSearch);
! };
class LevenbergMarquardt : public OptimizationMethod
Index: optimization.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/optimization.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** optimization.cpp 28 Aug 2006 10:05:25 -0000 1.5
--- optimization.cpp 28 Aug 2006 15:56:17 -0000 1.6
***************
*** 36,49 ****
! //ConjugateGradient::ConjugateGradient(
! // const QuantLib::EndCriteria& endCriteria,
! // const QuantLib::Array& initialValue,
! // const boost::shared_ptr<QuantLib::LineSearch>& lineSearch)
! //{
! // libraryObject_ = boost::shared_ptr<QuantLib::OptimizationMethod>(
! // new QuantLib::ConjugateGradient(endCriteria,
! // initialValue,
! // lineSearch));
! //}
LevenbergMarquardt::LevenbergMarquardt()
--- 36,49 ----
! ConjugateGradient::ConjugateGradient(
! const QuantLib::EndCriteria& endCriteria,
! const QuantLib::Array& initialValue,
! const boost::shared_ptr<QuantLib::LineSearch>& lineSearch)
! {
! libraryObject_ = boost::shared_ptr<QuantLib::OptimizationMethod>(
! new QuantLib::ConjugateGradient(endCriteria,
! initialValue,
! lineSearch));
! }
LevenbergMarquardt::LevenbergMarquardt()
Index: couponvectors.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** couponvectors.cpp 28 Aug 2006 12:04:52 -0000 1.26
--- couponvectors.cpp 28 Aug 2006 15:56:17 -0000 1.27
***************
*** 166,225 ****
}
! //VanillaCMSCouponPricer::VanillaCMSCouponPricer(
! // const std::string &typeOfVanillaCMSCouponPricer,
! // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve)
! //{
! // libraryObject_ = Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >()
! // (typeOfVanillaCMSCouponPricer,modelOfYieldCurve);
! //}
!
! //CMSCouponVector::CMSCouponVector(
! // const boost::shared_ptr<QuantLib::Schedule>& schedule,
! // QuantLib::BusinessDayConvention paymentAdjustment,
! // const std::vector<QuantLib::Real>& nominals,
! // const boost::shared_ptr<QuantLib::SwapIndex>& 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;
! //}
}
-
--- 166,209 ----
}
! VanillaCMSCouponPricer::VanillaCMSCouponPricer(
! const std::string &typeOfVanillaCMSCouponPricer,
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve)
! {
! libraryObject_ = Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >()
! (typeOfVanillaCMSCouponPricer,modelOfYieldCurve);
! }
! CMSCouponVector::CMSCouponVector(
! const boost::shared_ptr<QuantLib::Schedule>& schedule,
! QuantLib::BusinessDayConvention paymentAdjustment,
! const std::vector<QuantLib::Real>& nominals,
! const boost::shared_ptr<QuantLib::SwapIndex>& index,
! QuantLib::Integer fixingDays,
! const QuantLib::DayCounter& dayCounter,
! const std::vector<QuantLib::Real>& spreads,
! const std::vector<QuantLib::Real>& gearings,
! const std::vector<QuantLib::Rate>& caps,
! const std::vector<QuantLib::Rate>& floors,
! const std::vector<QuantLib::Real>& meanReversions,
! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol,
! const std::string & typeOfVanillaCMSCouponPricer,
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve)
! {
! VanillaCMSCouponPricer vanillaCMSCouponPricer(typeOfVanillaCMSCouponPricer,modelOfYieldCurve);
! boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = vanillaCMSCouponPricer.underlyingObject();
! cashFlowVector_ = QuantLib::CMSCouponVector(*schedule,
! paymentAdjustment,
! nominals,
! index,
! fixingDays,
! dayCounter,
! spreads,
! gearings,
! caps,
! floors,
! meanReversions,
! pricer,
! vol);
! }
}
Index: typefactory.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** typefactory.hpp 28 Aug 2006 15:20:45 -0000 1.30
--- typefactory.hpp 28 Aug 2006 15:56:17 -0000 1.31
***************
*** 260,279 ****
};
! ///* *** VanillaCMSCouponPricer *** */
! //typedef boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>(*VanillaCMSCouponPricerConstructor)(
! // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve);
! //template<>
! //class Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> > :
! // private RegistryManager<QuantLib::VanillaCMSCouponPricer, EnumClassRegistry> {
! //public:
! // boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> operator() (
! // const std::string& vanillaCMSCouponPricerID,
! // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) {
! // VanillaCMSCouponPricerConstructor vanillaCMSCouponPricerConstructor =
! // (VanillaCMSCouponPricerConstructor)(getType(vanillaCMSCouponPricerID));
! // return vanillaCMSCouponPricerConstructor(modelOfYieldCurve);
! // }
! //};
///* *** InterestRateIndex *** */
--- 260,279 ----
};
! /* *** VanillaCMSCouponPricer *** */
! typedef boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>(*VanillaCMSCouponPricerConstructor)(
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve);
! template<>
! class Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> > :
! private RegistryManager<QuantLib::VanillaCMSCouponPricer, EnumClassRegistry> {
! public:
! boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> operator() (
! const std::string& vanillaCMSCouponPricerID,
! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) {
! VanillaCMSCouponPricerConstructor vanillaCMSCouponPricerConstructor =
! (VanillaCMSCouponPricerConstructor)(getType(vanillaCMSCouponPricerID));
! return vanillaCMSCouponPricerConstructor(modelOfYieldCurve);
! }
! };
///* *** InterestRateIndex *** */
|