Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18214
Modified Files:
capletvolstructure.cpp capletvolstructure.hpp
Log Message:
new CapsStripper constructor provided
Smile Sections based CapletVolatilityStructure added
Index: capletvolstructure.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** capletvolstructure.hpp 19 Oct 2006 15:05:40 -0000 1.4
--- capletvolstructure.hpp 17 Nov 2006 09:21:36 -0000 1.5
***************
*** 20,23 ****
--- 20,24 ----
#include <oh/objhandler.hpp>
+ #include <ql/Volatilities/capletvolatilitiesstructures.hpp>
#include <ql/capvolstructures.hpp>
#include <qlo/termstructures.hpp>
***************
*** 25,28 ****
--- 26,37 ----
namespace QuantLibAddin {
+ inline double qltest (boost::shared_ptr<QuantLib::SmileSectionInterface> t){
+ return QuantLib::test(t);
+ };
+
+ inline double qltest2(std::vector<boost::shared_ptr<QuantLib::SmileSectionInterface> > t){
+ return QuantLib::test2(t);
+ };
+
class CapletVolatilityStructure : public TermStructure {};
***************
*** 43,48 ****
const QuantLib::DayCounter& dayCounter,
const boost::shared_ptr<QuantLib::Xibor>& index,
! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure);
};
}
--- 52,83 ----
const QuantLib::DayCounter& dayCounter,
const boost::shared_ptr<QuantLib::Xibor>& index,
! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure,
! QuantLib::Real impliedVolatilityAccuracy,
! QuantLib::Size maxEvaluations);
!
! CapsStripper(const QuantLib::Calendar & calendar,
! QuantLib::BusinessDayConvention convention,
! QuantLib::Integer fixingDays,
! const std::vector<QuantLib::Period>& tenors,
! const std::vector<QuantLib::Rate>& strikes,
! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities,
! const QuantLib::DayCounter& dayCounter,
! const boost::shared_ptr<QuantLib::Xibor>& index,
! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure,
! QuantLib::Real impliedVolatilityAccuracy,
! QuantLib::Size maxEvaluationsconst,
! boost::shared_ptr<QuantLib::SmileSectionsVolStructure>
! smileSectionsVolStructure);
};
+
+ class SmileSectionsVolStructure: public CapletVolatilityStructure {
+ public:
+ SmileSectionsVolStructure(
+ const QuantLib::Date& referenceDate,
+ const QuantLib::DayCounter& dayCounter,
+ const QuantLib::SmileSectionInterfaceVector& smileSections);
+
+ };
+
}
Index: capletvolstructure.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** capletvolstructure.cpp 19 Oct 2006 15:05:40 -0000 1.4
--- capletvolstructure.cpp 17 Nov 2006 09:21:36 -0000 1.5
***************
*** 43,54 ****
const QuantLib::DayCounter& dayCounter,
const boost::shared_ptr<QuantLib::Xibor>& index,
! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure)
{
libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new
QuantLib::CapsStripper(calendar, convention, fixingDays,
tenors, strikes, volatilities, dayCounter, index,
! yieldTermStructure));
}
}
--- 43,89 ----
const QuantLib::DayCounter& dayCounter,
const boost::shared_ptr<QuantLib::Xibor>& index,
! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure,
! QuantLib::Real impliedVolatilityAccuracy,
! QuantLib::Size maxEvaluations)
{
libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new
QuantLib::CapsStripper(calendar, convention, fixingDays,
tenors, strikes, volatilities, dayCounter, index,
! yieldTermStructure, impliedVolatilityAccuracy, maxEvaluations));
}
+ CapsStripper::CapsStripper(
+ const QuantLib::Calendar& calendar,
+ QuantLib::BusinessDayConvention convention,
+ QuantLib::Integer fixingDays,
+ const std::vector<QuantLib::Period>& tenors,
+ const std::vector<QuantLib::Rate>& strikes,
+ const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities,
+ const QuantLib::DayCounter& dayCounter,
+ const boost::shared_ptr<QuantLib::Xibor>& index,
+ const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure,
+ QuantLib::Real impliedVolatilityAccuracy,
+ QuantLib::Size maxEvaluations,
+ const boost::shared_ptr<QuantLib::SmileSectionsVolStructure>
+ smileSectionsVolStructure)
+ {
+ libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new
+ QuantLib::CapsStripper(calendar, convention, fixingDays,
+ tenors, strikes, volatilities, dayCounter, index,
+ yieldTermStructure, impliedVolatilityAccuracy, maxEvaluations,
+ smileSectionsVolStructure));
+ }
+
+
+ SmileSectionsVolStructure::SmileSectionsVolStructure(
+ const QuantLib::Date& referenceDate,
+ const QuantLib::DayCounter& dayCounter,
+ const QuantLib::SmileSectionInterfaceVector& smileSections){
+ libraryObject_ =
+ boost::shared_ptr<QuantLib::SmileSectionsVolStructure>(new
+ QuantLib::SmileSectionsVolStructure(referenceDate,
+ dayCounter, smileSections));
+ }
+
}
|