quantlibaddin-cvs Mailing List for QuantLibAddin (Page 8)
Brought to you by:
ericehlers,
nando
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(51) |
Jun
(320) |
Jul
(210) |
Aug
(272) |
Sep
(169) |
Oct
(232) |
Nov
(138) |
Dec
(109) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(101) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Francois du V. <fd...@us...> - 2006-12-06 17:48:31
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv12935 Modified Files: termstructures.hpp Log Message: backward compatibility of quotes definition ensured Index: termstructures.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/termstructures.hpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** termstructures.hpp 5 Dec 2006 10:49:42 -0000 1.13 --- termstructures.hpp 6 Dec 2006 17:48:23 -0000 1.14 *************** *** 26,30 **** --- 26,34 ---- #include <ql/TermStructures/forwardspreadedtermstructure.hpp> #include <ql/TermStructures/ratehelpers.hpp> + #ifdef QL_DISABLE_DEPRECATED #include <ql/Quotes/simplequote.hpp> + #else + #include <ql/quote.hpp> + #endif #include <qlo/interpolation.hpp> |
|
From: Marco B. <mar...@us...> - 2006-12-06 15:48:16
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv24810/gensrc/metadata Modified Files: enumclasses.xml Log Message: Added author Giorgio Facchinetti Index: enumclasses.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumclasses.xml,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** enumclasses.xml 6 Dec 2006 15:30:55 -0000 1.32 --- enumclasses.xml 6 Dec 2006 15:48:13 -0000 1.33 *************** *** 1,9 **** <root> <enumClassCopyright> - Copyright (C) 2005 Plamen Neykov - Copyright (C) 2005, 2006 Eric Ehlers - Copyright (C) 2006 Katiuscia Manzoni Copyright (C) 2006 Ferdinando Ametrano Copyright (C) 2006 Chiara Fornarola </enumClassCopyright> <Enumerations> --- 1,10 ---- <root> <enumClassCopyright> Copyright (C) 2006 Ferdinando Ametrano + Copyright (C) 2005, 2006 Eric Ehlers + Copyright (C) 2006 Giorgio Facchinetti Copyright (C) 2006 Chiara Fornarola + Copyright (C) 2006 Katiuscia Manzoni + Copyright (C) 2005 Plamen Neykov </enumClassCopyright> <Enumerations> |
|
From: Marco B. <mar...@us...> - 2006-12-06 15:31:13
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv17471/qlo Modified Files: enumclassctors.cpp enumclassctors.hpp typefactory.hpp Log Message: Added enumerations for traits and interpolation (loglinear). Updated two workbooks Index: enumclassctors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** enumclassctors.cpp 5 Dec 2006 10:20:21 -0000 1.33 --- enumclassctors.cpp 6 Dec 2006 15:30:55 -0000 1.34 *************** *** 189,193 **** } ! /* *** Interpolation *** */ boost::shared_ptr<QuantLib::Interpolation> LINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { --- 189,193 ---- } ! /* *** Interpolation1D Linear *** */ boost::shared_ptr<QuantLib::Interpolation> LINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { *************** *** 208,211 **** --- 208,217 ---- xBegin, xEnd, yBegin)); } + boost::shared_ptr<QuantLib::Interpolation> LOGLINEAR_Interpolation( + dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin) { + return boost::shared_ptr<QuantLib::Interpolation>( + new QuantLib::LogLinearInterpolation( + xBegin, xEnd, yBegin)); + } /* *** Interpolation2D *** */ Index: enumclassctors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** enumclassctors.hpp 5 Dec 2006 10:20:21 -0000 1.30 --- enumclassctors.hpp 6 Dec 2006 15:30:55 -0000 1.31 *************** *** 31,34 **** --- 31,35 ---- #include <ql/Math/bilinearinterpolation.hpp> #include <ql/Math/bicubicsplineinterpolation.hpp> + #include <ql/Math/sabrinterpolation.hpp> #include <ql/CashFlows/cmscoupon.hpp> #include <ql/CashFlows/conundrumpricer.hpp> *************** *** 91,95 **** boost::shared_ptr<QuantLib::PricingEngine> TRI_Engine(const long& timeSteps); ! /* *** Linear 1D Interpolations *** */ boost::shared_ptr<QuantLib::Interpolation> LINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin); --- 92,96 ---- boost::shared_ptr<QuantLib::PricingEngine> TRI_Engine(const long& timeSteps); ! /* *** Linear 1D Interpolation *** */ boost::shared_ptr<QuantLib::Interpolation> LINEAR_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin); *************** *** 98,101 **** --- 99,104 ---- boost::shared_ptr<QuantLib::Interpolation> FORWARDFLAT_Interpolation( dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin); + boost::shared_ptr<QuantLib::Interpolation> LOGLINEAR_Interpolation( + dbl_itr& xBegin, dbl_itr& xEnd, dbl_itr& yBegin); /* *** Interpolation2D *** */ Index: typefactory.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** typefactory.hpp 5 Dec 2006 10:20:21 -0000 1.49 --- typefactory.hpp 6 Dec 2006 15:30:55 -0000 1.50 *************** *** 170,174 **** }; ! /* *** Interpolation *** */ typedef const std::vector<double>::const_iterator dbl_itr; typedef boost::shared_ptr<QuantLib::Interpolation>(*InterpolationConstructor)( --- 170,174 ---- }; ! /* *** Linear 1D Interpolation *** */ typedef const std::vector<double>::const_iterator dbl_itr; typedef boost::shared_ptr<QuantLib::Interpolation>(*InterpolationConstructor)( |
|
From: Marco B. <mar...@us...> - 2006-12-06 15:30:59
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv17471/gensrc/metadata Modified Files: enumclasses.xml Log Message: Added enumerations for traits and interpolation (loglinear). Updated two workbooks Index: enumclasses.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumclasses.xml,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** enumclasses.xml 22 Nov 2006 13:34:14 -0000 1.31 --- enumclasses.xml 6 Dec 2006 15:30:55 -0000 1.32 *************** *** 26,29 **** --- 26,34 ---- <libraryClass>QuantLib::ForwardFlatInterpolation</libraryClass> </EnumerationDefinition> + <EnumerationDefinition> + <string>Linear</string> + <value>LOGLINEAR_Interpolation</value> + <libraryClass>QuantLib::LogLinearInterpolation</libraryClass> + </EnumerationDefinition> </EnumerationDefinitions> </Enumeration> |
|
From: Eric E. <eri...@us...> - 2006-12-05 18:41:30
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15345/gensrc/metadata Modified Files: date.xml Log Message: enable looping for qlIMMcode Index: date.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/date.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** date.xml 28 Nov 2006 19:54:22 -0000 1.20 --- date.xml 5 Dec 2006 18:41:23 -0000 1.21 *************** *** 234,239 **** </Procedure> ! <!--<Procedure name='qlIMMcode' loopParameter='IMMdate'>--> ! <Procedure name='qlIMMcode'> <description>returns the future code corresponding to a given IMM date (e.g. H6 for March 15th, 2006). It fails if the input date is not an IMM date.</description> <alias>QuantLib::Date::IMMcode</alias> --- 234,238 ---- </Procedure> ! <Procedure name='qlIMMcode' loopParameter='IMMdate'> <description>returns the future code corresponding to a given IMM date (e.g. H6 for March 15th, 2006). It fails if the input date is not an IMM date.</description> <alias>QuantLib::Date::IMMcode</alias> *************** *** 245,249 **** <Parameter name='IMMdate' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>IMM date</description> </Parameter> --- 244,248 ---- <Parameter name='IMMdate' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>IMM date</description> </Parameter> *************** *** 252,256 **** <ReturnValue> <type>string</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </Procedure> --- 251,255 ---- <ReturnValue> <type>string</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </Procedure> |
|
From: Ferdinando A. <na...@us...> - 2006-12-05 17:34:57
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv19697/gensrc/metadata Modified Files: daycounter.xml Log Message: enforcing naming convention on DayCounter methods Index: daycounter.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/daycounter.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** daycounter.xml 28 Nov 2006 19:52:22 -0000 1.12 --- daycounter.xml 5 Dec 2006 17:34:53 -0000 1.13 *************** *** 24,28 **** </EnumerationMember> ! <EnumerationMember name='qlDayCount' enumeration='QuantLib::DayCounter' loopParameter='endDate'> <description>calculate the number of days in a period according to a given day count convention</description> <libraryFunction>dayCount</libraryFunction> --- 24,28 ---- </EnumerationMember> ! <EnumerationMember name='qlDayCounterDayCount' enumeration='QuantLib::DayCounter' loopParameter='endDate'> <description>calculate the number of days in a period according to a given day count convention</description> <libraryFunction>dayCount</libraryFunction> *************** *** 50,54 **** </EnumerationMember> ! <EnumerationMember name='qlYearFraction' enumeration='QuantLib::DayCounter' loopParameter='endDate'> <description>calculate a year fraction</description> <libraryFunction>yearFraction</libraryFunction> --- 50,54 ---- </EnumerationMember> ! <EnumerationMember name='qlDayCounterYearFraction' enumeration='QuantLib::DayCounter' loopParameter='endDate'> <description>calculate a year fraction</description> <libraryFunction>yearFraction</libraryFunction> |
|
From: Francois du V. <fd...@us...> - 2006-12-05 10:49:46
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4698 Modified Files: termstructures.hpp Log Message: missing inclusion added Index: termstructures.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/termstructures.hpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** termstructures.hpp 3 Oct 2006 17:24:58 -0000 1.12 --- termstructures.hpp 5 Dec 2006 10:49:42 -0000 1.13 *************** *** 26,29 **** --- 26,30 ---- #include <ql/TermStructures/forwardspreadedtermstructure.hpp> #include <ql/TermStructures/ratehelpers.hpp> + #include <ql/Quotes/simplequote.hpp> #include <qlo/interpolation.hpp> |
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23506/qlo Modified Files: calendarfactory.cpp capletvolstructure.cpp capletvolstructure.hpp cmsmarket.cpp cmsmarket.hpp couponvectors.hpp enumclassctors.cpp enumclassctors.hpp forwardrateagreement.cpp forwardrateagreement.hpp marketmodels.hpp smilesection.cpp smilesection.hpp swap.hpp swaption.cpp swaption.hpp swaptionvolstructure.cpp swaptionvolstructure.hpp typefactory.hpp Log Message: moving Quotes in their own folder Index: enumclassctors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** enumclassctors.cpp 21 Nov 2006 08:11:40 -0000 1.32 --- enumclassctors.cpp 5 Dec 2006 10:20:21 -0000 1.33 *************** *** 349,362 **** //VanillaCMSCouponPricer boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( new QuantLib::ConundrumPricerByBlack(swaptionVol, modelOfYieldCurve, meanReversion)); }; boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion ){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( new QuantLib::ConundrumPricerByNumericalIntegration(swaptionVol, modelOfYieldCurve, meanReversion)); --- 349,362 ---- //VanillaCMSCouponPricer boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( new QuantLib::ConundrumPricerByBlack(swaptionVol, modelOfYieldCurve, meanReversion)); }; boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion ){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( new QuantLib::ConundrumPricerByNumericalIntegration(swaptionVol, modelOfYieldCurve, meanReversion)); Index: couponvectors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.hpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** couponvectors.hpp 24 Nov 2006 09:17:24 -0000 1.31 --- couponvectors.hpp 5 Dec 2006 10:20:21 -0000 1.32 *************** *** 90,94 **** // const std::string & typeOfVanillaCMSCouponPricer, // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! // QuantLib::Real meanReversion); //}; --- 90,94 ---- // const std::string & typeOfVanillaCMSCouponPricer, // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! // QuantLib::Real meanReversion); //}; Index: cmsmarket.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/cmsmarket.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** cmsmarket.cpp 21 Nov 2006 08:11:40 -0000 1.14 --- cmsmarket.cpp 5 Dec 2006 10:20:20 -0000 1.15 *************** *** 57,63 **** headings[5]=std::string("Implied (bps)"); headings[6]=std::string("Error (bps)"); ! headings[7]=std::string("Overreach bid/ask"); ! headings[8]=std::string("Market bid Price Cms Leg"); headings[9]=std::string("Market ask Price Cms Leg"); headings[10]=std::string("Market mid Price Cms Leg"); --- 57,63 ---- headings[5]=std::string("Implied (bps)"); headings[6]=std::string("Error (bps)"); ! headings[7]=std::string("Overreach bid/ask"); ! headings[8]=std::string("Market bid Price Cms Leg"); headings[9]=std::string("Market ask Price Cms Leg"); headings[10]=std::string("Market mid Price Cms Leg"); *************** *** 65,75 **** headings[12]=std::string("Price Error"); ! headings[13]=std::string("Market bid Price Forward Cms Leg"); headings[14]=std::string("Market ask Price Forward Cms Leg"); headings[15]=std::string("Market mid Price Forward Cms Leg"); headings[16]=std::string("Model Price Forward Cms Leg"); headings[17]=std::string("Forward Price Error"); ! ! headings[18]=std::string("Mean reversion"); result.push_back(headings); --- 65,75 ---- headings[12]=std::string("Price Error"); ! headings[13]=std::string("Market bid Price Forward Cms Leg"); headings[14]=std::string("Market ask Price Forward Cms Leg"); headings[15]=std::string("Market mid Price Forward Cms Leg"); headings[16]=std::string("Model Price Forward Cms Leg"); headings[17]=std::string("Forward Price Error"); ! ! headings[18]=std::string("Mean reversion"); result.push_back(headings); Index: swaptionvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.cpp,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** swaptionvolstructure.cpp 1 Dec 2006 21:13:33 -0000 1.48 --- swaptionvolstructure.cpp 5 Dec 2006 10:20:21 -0000 1.49 *************** *** 31,35 **** namespace QuantLibAddin { ! SwaptionConstantVolatility::SwaptionConstantVolatility( const QuantLib::Date& referenceDate, const QuantLib::Handle<QuantLib::Quote>& vol, --- 31,35 ---- namespace QuantLibAddin { ! SwaptionConstantVolatility::SwaptionConstantVolatility( const QuantLib::Date& referenceDate, const QuantLib::Handle<QuantLib::Quote>& vol, *************** *** 40,44 **** vol, dayCounter)); ! } SwaptionVolatilityMatrix::SwaptionVolatilityMatrix( --- 40,44 ---- vol, dayCounter)); ! } SwaptionVolatilityMatrix::SwaptionVolatilityMatrix( *************** *** 76,80 **** const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit) { --- 76,80 ---- const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit) { *************** *** 96,100 **** const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit, const QuantLib::Matrix& parametersGuess, --- 96,100 ---- const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit, const QuantLib::Matrix& parametersGuess, *************** *** 179,198 **** } switch (int(sabrParameters[i][numberOfColumn-1])) { ! case QuantLib::EndCriteria::none: ! par[numberOfColumn-1] = std::string("None"); break; ! case QuantLib::EndCriteria::maxIter: ! par[numberOfColumn-1] = std::string("MaxIterations"); break; ! case QuantLib::EndCriteria::statPt: ! par[numberOfColumn-1] = std::string("StationaryPoint"); break; ! case QuantLib::EndCriteria::statGd: ! par[numberOfColumn-1] = std::string("StationaryGradient"); break; ! default: par[numberOfColumn-1] = std::string("unknown EndCriteria::Type "); break; ! } sparseSabrParameters.push_back(par); } --- 179,198 ---- } switch (int(sabrParameters[i][numberOfColumn-1])) { ! case QuantLib::EndCriteria::none: ! par[numberOfColumn-1] = std::string("None"); break; ! case QuantLib::EndCriteria::maxIter: ! par[numberOfColumn-1] = std::string("MaxIterations"); break; ! case QuantLib::EndCriteria::statPt: ! par[numberOfColumn-1] = std::string("StationaryPoint"); break; ! case QuantLib::EndCriteria::statGd: ! par[numberOfColumn-1] = std::string("StationaryGradient"); break; ! default: par[numberOfColumn-1] = std::string("unknown EndCriteria::Type "); break; ! } sparseSabrParameters.push_back(par); } *************** *** 240,244 **** } ! SmileSectionByCube::SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Date& optionDate, --- 240,244 ---- } ! SmileSectionByCube::SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Date& optionDate, Index: swaption.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaption.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** swaption.cpp 29 Jun 2006 07:16:23 -0000 1.4 --- swaption.cpp 5 Dec 2006 10:20:21 -0000 1.5 *************** *** 27,39 **** Swaption::Swaption( ! const boost::shared_ptr<QuantLib::VanillaSwap>& swap, ! const boost::shared_ptr<QuantLib::Exercise>& exercise, ! const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS, ! const boost::shared_ptr<QuantLib::BlackSwaptionEngine>& engine, ! QuantLib::Settlement::Type settlementType) { libraryObject_ = boost::shared_ptr<QuantLib::Instrument>( new QuantLib::Swaption(swap, exercise, hYTS, engine, ! settlementType)); } --- 27,39 ---- Swaption::Swaption( ! const boost::shared_ptr<QuantLib::VanillaSwap>& swap, ! const boost::shared_ptr<QuantLib::Exercise>& exercise, ! const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS, ! const boost::shared_ptr<QuantLib::BlackSwaptionEngine>& engine, ! QuantLib::Settlement::Type settlementType) { libraryObject_ = boost::shared_ptr<QuantLib::Instrument>( new QuantLib::Swaption(swap, exercise, hYTS, engine, ! settlementType)); } Index: cmsmarket.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/cmsmarket.hpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** cmsmarket.hpp 21 Nov 2006 08:11:40 -0000 1.10 --- cmsmarket.hpp 5 Dec 2006 10:20:20 -0000 1.11 *************** *** 32,36 **** class CmsMarket: public ObjHandler::LibraryObject<QuantLib::CmsMarket>{ ! public: CmsMarket( const std::vector<QuantLib::Period>& expiries, --- 32,36 ---- class CmsMarket: public ObjHandler::LibraryObject<QuantLib::CmsMarket>{ ! public: CmsMarket( const std::vector<QuantLib::Period>& expiries, *************** *** 50,54 **** class SmileAndCmsCalibrationBySabr: public ObjHandler::LibraryObject<QuantLib::SmileAndCmsCalibrationBySabr>{ ! public: SmileAndCmsCalibrationBySabr( QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& volCube, --- 50,54 ---- class SmileAndCmsCalibrationBySabr: public ObjHandler::LibraryObject<QuantLib::SmileAndCmsCalibrationBySabr>{ ! public: SmileAndCmsCalibrationBySabr( QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& volCube, Index: capletvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** capletvolstructure.cpp 1 Dec 2006 21:13:33 -0000 1.8 --- capletvolstructure.cpp 5 Dec 2006 10:20:20 -0000 1.9 *************** *** 26,30 **** namespace QuantLibAddin { ! CapletConstantVolatility::CapletConstantVolatility( const QuantLib::Handle<QuantLib::Quote>& volatility, const QuantLib::DayCounter& dayCounter) --- 26,30 ---- namespace QuantLibAddin { ! CapletConstantVolatility::CapletConstantVolatility( const QuantLib::Handle<QuantLib::Quote>& volatility, const QuantLib::DayCounter& dayCounter) *************** *** 32,36 **** libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new QuantLib::CapletConstantVolatility(volatility, dayCounter)); ! } CapsStripper::CapsStripper( --- 32,36 ---- libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new QuantLib::CapletConstantVolatility(volatility, dayCounter)); ! } CapsStripper::CapsStripper( Index: smilesection.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** smilesection.hpp 1 Dec 2006 21:53:00 -0000 1.4 --- smilesection.hpp 5 Dec 2006 10:20:21 -0000 1.5 *************** *** 32,36 **** class FlatSmileSection : public SmileSection { ! public: FlatSmileSection(const QuantLib::Date& optionDate, QuantLib::Volatility v, --- 32,36 ---- class FlatSmileSection : public SmileSection { ! public: FlatSmileSection(const QuantLib::Date& optionDate, QuantLib::Volatility v, *************** *** 48,69 **** class SabrSmileSection: public SmileSection{ ! public: ! SabrSmileSection(const QuantLib::Time expiry, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<QuantLib::Handle<QuantLib::Quote> >& volatilitiesHandles, ! QuantLib::Real forward, ! QuantLib::Real alpha, ! QuantLib::Real beta, ! QuantLib::Real nu, ! QuantLib::Real rho, ! bool isAlphaFixed, ! bool isBetaFixed, ! bool isNuFixed, ! bool isRhoFixed, ! bool vegaWeighted = false, ! const boost::shared_ptr<QuantLib::OptimizationMethod> ! method ! = boost::shared_ptr<QuantLib::OptimizationMethod>()); ! }; } --- 48,69 ---- class SabrSmileSection: public SmileSection{ ! public: ! SabrSmileSection(const QuantLib::Time expiry, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<QuantLib::Handle<QuantLib::Quote> >& volatilitiesHandles, ! QuantLib::Real forward, ! QuantLib::Real alpha, ! QuantLib::Real beta, ! QuantLib::Real nu, ! QuantLib::Real rho, ! bool isAlphaFixed, ! bool isBetaFixed, ! bool isNuFixed, ! bool isRhoFixed, ! bool vegaWeighted = false, ! const boost::shared_ptr<QuantLib::OptimizationMethod> ! method ! = boost::shared_ptr<QuantLib::OptimizationMethod>()); ! }; } Index: enumclassctors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** enumclassctors.hpp 1 Dec 2006 16:49:11 -0000 1.29 --- enumclassctors.hpp 5 Dec 2006 10:20:21 -0000 1.30 *************** *** 160,171 **** boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion); boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion ); /* *** Index *** */ --- 160,171 ---- boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion); boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion ); /* *** Index *** */ Index: typefactory.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/typefactory.hpp,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** typefactory.hpp 21 Nov 2006 08:11:40 -0000 1.48 --- typefactory.hpp 5 Dec 2006 10:20:21 -0000 1.49 *************** *** 233,239 **** /* *** VanillaCMSCouponPricer *** */ typedef boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>(*VanillaCMSCouponPricerConstructor)( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion); template<> --- 233,239 ---- /* *** VanillaCMSCouponPricer *** */ typedef boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>(*VanillaCMSCouponPricerConstructor)( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion); template<> *************** *** 243,249 **** boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> operator() ( const std::string& vanillaCMSCouponPricerID, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion) { VanillaCMSCouponPricerConstructor vanillaCMSCouponPricerConstructor = (VanillaCMSCouponPricerConstructor)(getType(vanillaCMSCouponPricerID)); --- 243,249 ---- boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> operator() ( const std::string& vanillaCMSCouponPricerID, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& swaptionVol, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion) { VanillaCMSCouponPricerConstructor vanillaCMSCouponPricerConstructor = (VanillaCMSCouponPricerConstructor)(getType(vanillaCMSCouponPricerID)); *************** *** 283,287 **** }; ! // some utilities required by class RegistryManager inline std::string uppercase(const std::string &s) { --- 283,287 ---- }; ! // some utilities required by class RegistryManager inline std::string uppercase(const std::string &s) { Index: smilesection.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** smilesection.cpp 1 Dec 2006 21:53:00 -0000 1.4 --- smilesection.cpp 5 Dec 2006 10:20:21 -0000 1.5 *************** *** 46,50 **** } ! SabrSmileSection::SabrSmileSection( const QuantLib::Time expiry, const std::vector<QuantLib::Rate>& strikes, --- 46,50 ---- } ! SabrSmileSection::SabrSmileSection( const QuantLib::Time expiry, const std::vector<QuantLib::Rate>& strikes, *************** *** 62,79 **** bool vegaWeighted, const boost::shared_ptr<QuantLib::OptimizationMethod> ! method){ ! QuantLib::SABR sabrInterpolationFactory(expiry, forward, alpha, beta, ! nu, rho, isAlphaFixed, isBetaFixed, isNuFixed, ! isRhoFixed, vegaWeighted, method); ! ! QuantLib::InterpolatedSmileSection<QuantLib::SABR>* ! genericInterpolatedSmileSection = ! new QuantLib::InterpolatedSmileSection<QuantLib::SABR>( ! expiry, strikes, volatilitiesHandles, sabrInterpolationFactory); ! libraryObject_ = boost::shared_ptr< ! QuantLib::InterpolatedSmileSection<QuantLib::SABR> > ! (genericInterpolatedSmileSection); } } --- 62,80 ---- bool vegaWeighted, const boost::shared_ptr<QuantLib::OptimizationMethod> ! method) { ! QuantLib::SABR sabrInterpolationFactory(expiry, forward, alpha, beta, ! nu, rho, isAlphaFixed, isBetaFixed, isNuFixed, ! isRhoFixed, vegaWeighted, method); ! QuantLib::InterpolatedSmileSection<QuantLib::SABR>* ! genericInterpolatedSmileSection = new ! QuantLib::InterpolatedSmileSection<QuantLib::SABR>(expiry, ! strikes, volatilitiesHandles, sabrInterpolationFactory); ! ! libraryObject_ = boost::shared_ptr< ! QuantLib::InterpolatedSmileSection<QuantLib::SABR> > ! (genericInterpolatedSmileSection); } + } Index: swaption.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaption.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** swaption.hpp 29 Jun 2006 07:16:23 -0000 1.7 --- swaption.hpp 5 Dec 2006 10:20:21 -0000 1.8 *************** *** 32,36 **** const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS, const boost::shared_ptr<QuantLib::BlackSwaptionEngine>& engine, ! QuantLib::Settlement::Type settlementType); std::string underlyingSwap() { --- 32,36 ---- const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS, const boost::shared_ptr<QuantLib::BlackSwaptionEngine>& engine, ! QuantLib::Settlement::Type settlementType); std::string underlyingSwap() { Index: swaptionvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.hpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** swaptionvolstructure.hpp 1 Dec 2006 21:13:33 -0000 1.45 --- swaptionvolstructure.hpp 5 Dec 2006 10:20:21 -0000 1.46 *************** *** 34,48 **** class SwaptionVolatilityStructure : public TermStructure {}; ! class SwaptionConstantVolatility : public SwaptionVolatilityStructure { ! public: ! SwaptionConstantVolatility(const QuantLib::Date& referenceDate, ! const QuantLib::Handle<QuantLib::Quote>&, ! const QuantLib::DayCounter& dayCounter); }; class SwaptionVolatilityDiscrete : public SwaptionVolatilityStructure {}; ! class SwaptionVolatilityMatrix : public SwaptionVolatilityDiscrete { ! public: SwaptionVolatilityMatrix(const QuantLib::Calendar& calendar, const std::vector<QuantLib::Period>& optionTenors, --- 34,48 ---- class SwaptionVolatilityStructure : public TermStructure {}; ! class SwaptionConstantVolatility : public SwaptionVolatilityStructure { ! public: ! SwaptionConstantVolatility(const QuantLib::Date& referenceDate, ! const QuantLib::Handle<QuantLib::Quote>&, ! const QuantLib::DayCounter& dayCounter); }; class SwaptionVolatilityDiscrete : public SwaptionVolatilityStructure {}; ! class SwaptionVolatilityMatrix : public SwaptionVolatilityDiscrete { ! public: SwaptionVolatilityMatrix(const QuantLib::Calendar& calendar, const std::vector<QuantLib::Period>& optionTenors, *************** *** 54,65 **** const QuantLib::Period& p); }; ! class SwaptionVolatilityCube : public SwaptionVolatilityDiscrete { }; ! class SwaptionVolCube2 : public SwaptionVolatilityCube { ! public: ! SwaptionVolCube2( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 54,65 ---- const QuantLib::Period& p); }; ! class SwaptionVolatilityCube : public SwaptionVolatilityDiscrete { }; ! class SwaptionVolCube2 : public SwaptionVolatilityCube { ! public: ! SwaptionVolCube2( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 76,80 **** class SwaptionVolCube1 : public SwaptionVolatilityCube { public: ! SwaptionVolCube1( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 76,80 ---- class SwaptionVolCube1 : public SwaptionVolatilityCube { public: ! SwaptionVolCube1( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 82,86 **** const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit, const QuantLib::Matrix& parametersGuess, --- 82,86 ---- const std::vector<QuantLib::Spread>& strikeSpreads, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volSpreads, ! const boost::shared_ptr<QuantLib::SwapIndex>& swapIndexBase, bool vegaWeightedSmileFit, const QuantLib::Matrix& parametersGuess, *************** *** 94,103 **** class SmileSectionByCube : public SmileSection { ! public: SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Period& optionTenors, const QuantLib::Period& swapTenors); ! SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Date& optionDate, --- 94,103 ---- class SmileSectionByCube : public SmileSection { ! public: SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Period& optionTenors, const QuantLib::Period& swapTenors); ! SmileSectionByCube( const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, const QuantLib::Date& optionDate, Index: capletvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** capletvolstructure.hpp 1 Dec 2006 21:13:33 -0000 1.8 --- capletvolstructure.hpp 5 Dec 2006 10:20:20 -0000 1.9 *************** *** 37,42 **** class CapletVolatilityStructure : public TermStructure {}; ! class CapletConstantVolatility : public CapletVolatilityStructure { ! public: CapletConstantVolatility(const QuantLib::Handle<QuantLib::Quote>& volatility, const QuantLib::DayCounter& dayCounter); --- 37,42 ---- class CapletVolatilityStructure : public TermStructure {}; ! class CapletConstantVolatility : public CapletVolatilityStructure { ! public: CapletConstantVolatility(const QuantLib::Handle<QuantLib::Quote>& volatility, const QuantLib::DayCounter& dayCounter); *************** *** 44,48 **** class CapsStripper : public CapletVolatilityStructure { ! public: CapsStripper(const std::vector<QuantLib::Period>& tenors, const std::vector<QuantLib::Rate>& strikes, --- 44,48 ---- class CapsStripper : public CapletVolatilityStructure { ! public: CapsStripper(const std::vector<QuantLib::Period>& tenors, const std::vector<QuantLib::Rate>& strikes, Index: calendarfactory.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/calendarfactory.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** calendarfactory.cpp 4 Oct 2006 20:13:45 -0000 1.8 --- calendarfactory.cpp 5 Dec 2006 10:20:20 -0000 1.9 *************** *** 65,69 **** Parse the joint calendar ID. A JointCalendar ID is in a format such as ! JoinHolidays(UnitedStates::Settlement, UnitedKingdom::Exchange) - the initial string is either "JoinHolidays" or "JoinBusinessDays" - the parentheses contain a comma-delimited list of 2, 3 or 4 calendar IDs --- 65,69 ---- Parse the joint calendar ID. A JointCalendar ID is in a format such as ! JoinHolidays(UnitedStates::Settlement, UnitedKingdom::Exchange) - the initial string is either "JoinHolidays" or "JoinBusinessDays" - the parentheses contain a comma-delimited list of 2, 3 or 4 calendar IDs *************** *** 111,122 **** "' is not a valid joint calendar identifier"); ! /* 1) transfer the IDs from the set to a vector ! 2) in the same loop, format a unique key "idFull" for the object, ! this will be the same as the ID provided by the user e.g. JoinHolidays(UnitedStates::Settlement, UnitedKingdom::Exchange) ! -> uppercase, no whitespace, IDs sorted alphabetically e.g. JOINHOLIDAYS(UNITEDKINGDOM::EXCHANGE,UNITEDSTATES::SETTLEMENT) ! */ std::set<std::string>::const_iterator i = calendarIdSet.begin(); std::ostringstream s; --- 111,122 ---- "' is not a valid joint calendar identifier"); ! /* 1) transfer the IDs from the set to a vector ! 2) in the same loop, format a unique key "idFull" for the object, ! this will be the same as the ID provided by the user e.g. JoinHolidays(UnitedStates::Settlement, UnitedKingdom::Exchange) ! -> uppercase, no whitespace, IDs sorted alphabetically e.g. JOINHOLIDAYS(UNITEDKINGDOM::EXCHANGE,UNITEDSTATES::SETTLEMENT) ! */ std::set<std::string>::const_iterator i = calendarIdSet.begin(); std::ostringstream s; Index: marketmodels.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/marketmodels.hpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** marketmodels.hpp 13 Nov 2006 09:30:19 -0000 1.26 --- marketmodels.hpp 5 Dec 2006 10:20:21 -0000 1.27 *************** *** 103,107 **** QuantLib::Size numeraire, QuantLib::Size alive); ! std::vector<QuantLib::Real> computePlain( const std::vector<QuantLib::Rate>& forwards) const; std::vector<QuantLib::Real> computeReduced( --- 103,107 ---- QuantLib::Size numeraire, QuantLib::Size alive); ! std::vector<QuantLib::Real> computePlain( const std::vector<QuantLib::Rate>& forwards) const; std::vector<QuantLib::Real> computeReduced( *************** *** 119,123 **** QuantLib::Spread displacement, const QuantLib::Matrix& forwardCovarianceMatrix); ! QuantLib::Disposable<QuantLib::Matrix> swapCovarianceMatrix(); }; --- 119,123 ---- QuantLib::Spread displacement, const QuantLib::Matrix& forwardCovarianceMatrix); ! QuantLib::Disposable<QuantLib::Matrix> swapCovarianceMatrix(); }; Index: forwardrateagreement.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/forwardrateagreement.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** forwardrateagreement.hpp 10 Jul 2006 18:10:30 -0000 1.8 --- forwardrateagreement.hpp 5 Dec 2006 10:20:21 -0000 1.9 *************** *** 32,36 **** const QuantLib::Date& valueDate, const QuantLib::Date& maturityDate, ! QuantLib::Position::Type type, QuantLib::Rate strike, double notional, --- 32,36 ---- const QuantLib::Date& valueDate, const QuantLib::Date& maturityDate, ! QuantLib::Position::Type type, QuantLib::Rate strike, double notional, Index: forwardrateagreement.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/forwardrateagreement.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** forwardrateagreement.cpp 10 Jul 2006 18:10:30 -0000 1.7 --- forwardrateagreement.cpp 5 Dec 2006 10:20:21 -0000 1.8 *************** *** 30,34 **** const QuantLib::Date& valueDate, const QuantLib::Date& maturityDate, ! QuantLib::Position::Type type, QuantLib::Rate strike, double notional, --- 30,34 ---- const QuantLib::Date& valueDate, const QuantLib::Date& maturityDate, ! QuantLib::Position::Type type, QuantLib::Rate strike, double notional, Index: swap.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swap.hpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** swap.hpp 21 Nov 2006 13:53:09 -0000 1.16 --- swap.hpp 5 Dec 2006 10:20:21 -0000 1.17 *************** *** 49,51 **** #endif - --- 49,50 ---- |
|
From: Ferdinando A. <na...@us...> - 2006-12-05 10:20:25
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23506 Modified Files: todonando.txt Log Message: moving Quotes in their own folder Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** todonando.txt 3 Dec 2006 21:08:57 -0000 1.61 --- todonando.txt 5 Dec 2006 10:20:22 -0000 1.62 *************** *** 15,19 **** - DONE complete SABR, Optimizer - DONE TermStrucure bug ! - bloomberg, Menabeni, Rinaldo - demo Munari (mergeLeg, addLeg) - 0.3.14 wbk --- 15,19 ---- - DONE complete SABR, Optimizer - DONE TermStrucure bug ! - DONE bloomberg, Menabeni, Rinaldo - demo Munari (mergeLeg, addLeg) - 0.3.14 wbk |
|
From: Ferdinando A. <na...@us...> - 2006-12-05 10:20:24
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23506/gensrc/metadata Modified Files: smilesection.xml termstructures.xml Log Message: moving Quotes in their own folder Index: smilesection.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/smilesection.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** smilesection.xml 4 Dec 2006 10:30:32 -0000 1.5 --- smilesection.xml 5 Dec 2006 10:20:20 -0000 1.6 *************** *** 16,19 **** --- 16,20 ---- <Functions> + <!-- SmileSection interface --> <Member name='qlSmileSectionVolatility' libraryClass='SmileSection'> <description>Returns the volatility at a given strike from the SmileSection object</description> *************** *** 88,91 **** --- 89,93 ---- </Member> + <!-- SmileSection constructors --> <Constructor name='qlFlatSmileSection'> <libraryFunction>FlatSmileSection</libraryFunction> Index: termstructures.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/termstructures.xml,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** termstructures.xml 28 Nov 2006 17:45:37 -0000 1.51 --- termstructures.xml 5 Dec 2006 10:20:20 -0000 1.52 *************** *** 3,6 **** --- 3,10 ---- <displayName>Term Structures</displayName> <xlFunctionWizardCategory>QuantLib - Financial</xlFunctionWizardCategory> + <includes> + <include>ql/Quotes/simplequote.hpp</include> + <include>qlo/termstructures.hpp</include> + </includes> <copyright> Copyright (C) 2005, 2006 Eric Ehlers |
|
From: Ferdinando A. <na...@us...> - 2006-12-04 10:30:40
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv30498/gensrc/metadata Modified Files: smilesection.xml Log Message: restoring fixed code Index: smilesection.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/smilesection.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** smilesection.xml 3 Dec 2006 11:50:23 -0000 1.4 --- smilesection.xml 4 Dec 2006 10:30:32 -0000 1.5 *************** *** 58,64 **** </Member> ! <!--Member name='qlSmileSectionExerciseDate' libraryClass='SmileSection'> <description>Returns the exercise date of the SmileSection object</description> ! <libraryFunction>variance</libraryFunction> <SupportedPlatforms> <Excel/> --- 58,64 ---- </Member> ! <Member name='qlSmileSectionExerciseDate' libraryClass='SmileSection'> <description>Returns the exercise date of the SmileSection object</description> ! <libraryFunction>exerciseDate</libraryFunction> <SupportedPlatforms> <Excel/> *************** *** 71,75 **** <tensorRank>scalar</tensorRank> </ReturnValue> ! </Member--> <Member name='qlSmileSectionDayCounter' libraryClass='SmileSection'> --- 71,75 ---- <tensorRank>scalar</tensorRank> </ReturnValue> ! </Member> <Member name='qlSmileSectionDayCounter' libraryClass='SmileSection'> *************** *** 88,92 **** </Member> ! <!--Constructor name='qlFlatSmileSection'> <libraryFunction>FlatSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 88,92 ---- </Member> ! <Constructor name='qlFlatSmileSection'> <libraryFunction>FlatSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 103,107 **** <Parameter name='volatilities' libraryType='QuantLib::Volatility'> <type>double</type> ! <tensorRank>vector</tensorRank> <description>volatilities</description> </Parameter> --- 103,107 ---- <Parameter name='volatilities' libraryType='QuantLib::Volatility'> <type>double</type> ! <tensorRank>scalar</tensorRank> <description>volatilities</description> </Parameter> *************** *** 118,122 **** </Parameters> </ParameterList> ! </Constructor--> <!--Constructor name='qlSabrSmileSection'> --- 118,122 ---- </Parameters> </ParameterList> ! </Constructor> <!--Constructor name='qlSabrSmileSection'> *************** *** 229,234 **** </Constructor> ! </Functions> ! <Constructor name='qlInterpolatedSmileSection'> <libraryFunction>InterpolatedSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 229,233 ---- </Constructor> ! <Constructor name='qlInterpolatedSmileSection'> <libraryFunction>InterpolatedSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 262,265 **** --- 261,265 ---- </Constructor> + </Functions> </Category> |
|
From: Giorgio F. <gi...@us...> - 2006-12-04 10:04:49
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv19506/gensrc/metadata Modified Files: cmsmarket.xml enumtypes.xml Log Message: Index: enumtypes.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/enumtypes.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** enumtypes.xml 21 Nov 2006 09:31:34 -0000 1.29 --- enumtypes.xml 4 Dec 2006 10:04:43 -0000 1.30 *************** *** 1184,1201 **** </Enumeration> - <Enumeration type='QuantLib::SmileAndCmsCalibrationBySabr::OptimMethod'> - <constructor>true</constructor> - <EnumerationDefinitions> - <EnumerationDefinition> - <string>DownHillSimplex</string> - <value>QuantLib::SmileAndCmsCalibrationBySabr::DownHillSimplex</value> - </EnumerationDefinition> - <EnumerationDefinition> - <string>ConjugateGradient</string> - <value>QuantLib::SmileAndCmsCalibrationBySabr::ConjugateGrad </value> - </EnumerationDefinition> - </EnumerationDefinitions> - </Enumeration> - </Enumerations> --- 1184,1187 ---- Index: cmsmarket.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/cmsmarket.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** cmsmarket.xml 28 Nov 2006 09:54:58 -0000 1.18 --- cmsmarket.xml 4 Dec 2006 10:04:43 -0000 1.19 *************** *** 8,11 **** --- 8,12 ---- <include>qlo/couponvectors.hpp</include> <include>qlo/swaptionvolstructure.hpp</include> + <include>qlo/optimization.hpp</include> </includes> <copyright> *************** *** 110,122 **** <ParameterList> <Parameters> ! <Parameter name='guess' libraryType='QuantLib::Array'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>initial guess</description> ! </Parameter> ! <Parameter name='OptimMethod' enumeration='QuantLib::SmileAndCmsCalibrationBySabr::OptimMethod'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>optimization method (e.g. DownHillSimplex, ConjugateGradient)</description> </Parameter> </Parameters> --- 111,118 ---- <ParameterList> <Parameters> ! <Parameter name='optimizationMethod' libraryClass='OptimizationMethod' default='""'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>optimization method object ID</description> </Parameter> </Parameters> |
|
From: Eric E. <eri...@us...> - 2006-12-03 21:09:04
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv9982 Modified Files: todo.eric.csv todonando.txt Log Message: rename ohParseFields() to ohSplit() and modify behavior: - no need to specify "DOUBLE/STRING" datatype - if index omitted, all fields returned as array Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** todonando.txt 1 Dec 2006 21:13:33 -0000 1.60 --- todonando.txt 3 Dec 2006 21:08:57 -0000 1.61 *************** *** 77,81 **** - InterestRateQuoteFeed.xls: Auto_Open problem - reutersFeed performances ! - ohParse as VBA Split, plus additional index parameter - ohDependsOn() increase the counter whenever something change - sensitivity --- 77,81 ---- - InterestRateQuoteFeed.xls: Auto_Open problem - reutersFeed performances ! - DONE ohParse as VBA Split, plus additional index parameter - ohDependsOn() increase the counter whenever something change - sensitivity Index: todo.eric.csv =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todo.eric.csv,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** todo.eric.csv 16 Nov 2006 14:06:21 -0000 1.8 --- todo.eric.csv 3 Dec 2006 21:08:57 -0000 1.9 *************** *** 1,63 **** ! "project","subproject","task","status","priority","days","comp date","comment" ! "QLA","Design","add support to take a QL object, wrap it in a QLA object, and store it in the OH repository","done?",4,,, ! "QLA","General Support","NSIS scripts for network installations","done?",2,,, ! "OH","Design","refactor OH / OHXL implementation (including implementation of coercion)","in progress",1,,, ! "QLXL","Framework","separate QuantLibXL.xla into multiple modules with loader facility","in progress",2,,, ! "QLA","Design","enumeration aliases - map multiple strings to single enum value","in progress",2,1,, ! "OH","Design","volatile functions - allow user to specify in function metadata",,2,,, ! "gensrc","Design","remove platform-specific configuration/code from core gensrc app",,2,2,, ! "QLA","Design","right-click enumerations: implement proper design using hidden sheet",,2,1,, ! "QLA","Design","loop functions - add support for 1) matrix as loop param 2) two vectors as loop params",,,,, ! "QLA","Design","#include fewer headers to speed compilation",,2,2,,"re-enable optimization, investigate precompiled headers, /Zm flag" ! "QLA","General Support","performance profile of workbook YieldCurveMonitor.xls and Actions/Open Live Feed",,2,2,, ! "gensrc","Design","return std::pair (see locate in swaptionvolmatrix)",,3,1,, ! "all","General Support","migrate QLA/QLXL SourceForge projects back into QL",,3,"- -",,"request deletion of old QLA/QLXL repositories" ! "OH","Design","update design doc",,3,2,, ! "QLA","gensrc","Provide schema for XML",,3,2,, ! "OH","Design","ohDemoObject(parameter1, parameter2) to create an empty object for demo purposes",,4,,, ! "OH","Design","Object to hold reference to CallingRange so we can support Object->isOrphaned() etc.",,4,,, ! "QLA","Design","use Excel SmartTags to allow interrogation of objects",,4,,, ! "QLA","Docs","include more info in autogenerated docs: enumeration, default value, platform, loop",,4,,, ! "QLA","Documentation","segregate documentation for QLA / QLXL / OH",,4,,, ! "QLA","Enumerations","wizard: when enums are inputs add optional description suffixed with generic description taken from enum metadata",,4,,, ! "QLA","Enumerations","wizard: suffix description with loop, default parameter, optional parameter, etc information",,4,,, ! "QLA","General Support","C++ examples - add VOs, NPV calculations",,4,,, ! "QLA","gensrc","replace Serializer class with Reader class since we will never DeSerialize anything",,4,,, ! "QLA","VBA framework","interrogate object repository (GUI browser)",,4,,,"Plamen?" ! "OH","Design","""reflection"" - support member functions dynamically",,5,,, ! "OH","Design","allow objects to be grouped",,5,,, ! ,,,,,,, ! "QLA","Design","Sessions: instead of using workbook as session, allow user to specify session number",,5,,, ! "QLA","Enumerations","add support for description e.g. Nullcalendar, DayCounter::NoFrequency, DayCounter::Simple","?",5,,, ! "QLA","General Support","calculate memory usage of repository",,5,,, ! "QLA","ValueObjects","dynamic properties e.g. ohMember(""instanceName"", ""NPV"", ...) replaces qlNPV(""instanceName"")",,5,,, ! "QLA","VBA framework","access logfile (GUI browser)",,5,,, ! ,,,,,,, ! ,,,,,,, ! "QLA","Enumerations","port ET/EC registry from QuantLibXL to ObjectHandler","on hold",5,,,"requires redesign to allow multiple XLLs to share global Registry" ! "QLA","VBA framework","design for real-time live feed","on hold",3,,, ! "QLA","Enumerations","enumeration as return value (string) should be same as the input value Period, DayCounter","on hold",3,,,"already done by Ferdinando?" ! "?","?","move stub.enum.types out of GenSrc into QLA",,4,,,"this is part of larger task 'remove QL code from core gensrc app'" ! "QLA","VBA framework","menu options to load/unload XLL/XLA implement as toggle","cancelled",4,,, ! "QLA","Functions","port old QLXL functionality into new QLXL","cancelled",4,,, ! "QLA","Design","loop functions: 1) template 2) Procedures 3) error per iteration","done",2,,, ! "gensrc","Design","Increase max # params for Excel functions","done",5,,, ! "QLA","Design","right-click error messages - allow user to click anywhere in the range","done",2,,, ! "QLA","gensrc","extend rule.py to support conversion of Guile datatypes","done",5,,, ! "gensrc","Design","consolidate Rule/RuleGroup classes","done",2,,, ! "gensrc","Design","consolidate functions serializeObjectDict/serializeObjectDict2","done",2,,, ! "QLA","General Support","count the number of functions available in the addin","done",5,,, ! "OH","Design","ohLastErrorMessage() - analyze a better approach for error handling and diagnostics","done",1,,, ! "QLA","Design","export and use Quote (or Handle<Quote>) instead of double to solve the problem of reconstructing objects with default value","done",0,,, ! "QLA","Enumerations","EuriborSwapFixA / Eur Libor - fix design problems","done",0,,, ! "gensrc","Design","automatic conversion of QuantLib::Rate, Volatility, Discount, Spread, Time, etc","done",5,,, ! "QLA","General Support","allow for default optimization Method (see as example qlAbcdCapletCalibration in marketmodels.xml)","done",1,1,, ! "QLA","Design","Joint Calendar as other Calendar (with special string)","done",2,"0,5",, ! "QLA","General Support","bring the C Addin and QuantLibXLDynamic up to date","done",5,,, ! "gensrc","Design","subdivide file qlxl\qladdin.cpp (1MB!) by category","done",2,1,, ! "OH","Design","convert objectIDs to uppercase","done",,,, ! "OH","Design","implement case-preserving behavior for objectIDs","done",4,,, ! "QLA","VBA framework","network launcher/updater for VBA framework - to point to different environments / configuration files","done",1,3,, ! "all","General Support","NSIS installers - uninstall old app before installing new","cancelled",1,"- -",,"not required after network launcher?" ! "QLA","Launcher","cleaner IPC between launcher & framework","done",2,,, ! "QLA","Design","additional dynamic cast in handleToLib for qlTermStructureReferenceDate() etc.","done",2,,, --- 1,62 ---- ! project,subproject,task,status,priority,days,comp date,comment ! OH,Design,refactor OH / OHXL implementation (including implementation of coercion),in progress,1,,, ! QLXL,Framework,separate QuantLibXL.xla into multiple modules with loader facility,in progress,2,,, ! QLA,Design,enumeration aliases - map multiple strings to single enum value,in progress,2,1,, ! OH,Design,volatile functions - allow user to specify in function metadata,,2,,, ! gensrc,Design,remove platform-specific configuration/code from core gensrc app,,2,2,, ! QLA,Design,right-click enumerations: implement proper design using hidden sheet,,2,1,, ! QLA,Design,loop functions - add support for 1) matrix as loop param 2) two vectors as loop params,,,,, ! QLA,Design,#include fewer headers to speed compilation,,2,2,,"re-enable optimization, investigate precompiled headers, /Zm flag" ! QLA,General Support,performance profile of workbook YieldCurveMonitor.xls and Actions/Open Live Feed,,2,2,, ! gensrc,Design,return std::pair (see locate in swaptionvolmatrix),,3,1,, ! all,General Support,migrate QLA/QLXL SourceForge projects back into QL,,3,- -,,request deletion of old QLA/QLXL repositories ! OH,Design,update design doc,,3,2,, ! QLA,gensrc,Provide schema for XML,,3,2,, ! OH,Design,Object to hold reference to CallingRange so we can support Object->isOrphaned() etc.,,4,,, ! QLA,Design,use Excel SmartTags to allow interrogation of objects,,4,,, ! QLA,Docs,"include more info in autogenerated docs: enumeration, default value, platform, loop",,4,,, ! QLA,Documentation,segregate documentation for QLA / QLXL / OH,,4,,, ! QLA,Enumerations,wizard: when enums are inputs add optional description suffixed with generic description taken from enum metadata,,4,,, ! QLA,Enumerations,"wizard: suffix description with loop, default parameter, optional parameter, etc information",,4,,, ! QLA,General Support,"C++ examples - add VOs, NPV calculations",,4,,, ! QLA,gensrc,replace Serializer class with Reader class since we will never DeSerialize anything,,4,,, ! QLA,VBA framework,interrogate object repository (GUI browser),,4,,,Plamen? ! OH,Design,"""reflection"" - support member functions dynamically",,5,,, ! OH,Design,allow objects to be grouped,,5,,, ! ! QLA,Design,"Sessions: instead of using workbook as session, allow user to specify session number",,5,,, ! QLA,Enumerations,"add support for description e.g. Nullcalendar, DayCounter::NoFrequency, DayCounter::Simple",?,5,,, ! QLA,General Support,calculate memory usage of repository,,5,,, ! QLA,ValueObjects,"dynamic properties e.g. ohMember(""instanceName"", ""NPV"", ...) replaces qlNPV(""instanceName"")",,5,,, ! QLA,VBA framework,access logfile (GUI browser),,5,,, ! ! QLA,Enumerations,port ET/EC registry from QuantLibXL to ObjectHandler,on hold,5,,,requires redesign to allow multiple XLLs to share global Registry ! QLA,VBA framework,design for real-time live feed,on hold,3,,, ! QLA,Enumerations,"enumeration as return value (string) should be same as the input value Period, DayCounter",on hold,3,,,already done by Ferdinando? ! ?,?,move stub.enum.types out of GenSrc into QLA,,4,,,this is part of larger task 'remove QL code from core gensrc app' ! QLA,VBA framework,menu options to load/unload XLL/XLA implement as toggle,cancelled,4,,, ! QLA,Functions,port old QLXL functionality into new QLXL,cancelled,4,,, ! QLA,Design,loop functions: 1) template 2) Procedures 3) error per iteration,done,2,,, ! gensrc,Design,Increase max # params for Excel functions,done,5,,, ! QLA,Design,right-click error messages - allow user to click anywhere in the range,done,2,,, ! QLA,gensrc,extend rule.py to support conversion of Guile datatypes,done,5,,, ! gensrc,Design,consolidate Rule/RuleGroup classes,done,2,,, ! gensrc,Design,consolidate functions serializeObjectDict/serializeObjectDict2,done,2,,, ! QLA,General Support,count the number of functions available in the addin,done,5,,, ! OH,Design,ohLastErrorMessage() - analyze a better approach for error handling and diagnostics,done,1,,, ! QLA,Design,export and use Quote (or Handle<Quote>) instead of double to solve the problem of reconstructing objects with default value,done,0,,, ! QLA,Enumerations,EuriborSwapFixA / Eur Libor - fix design problems,done,0,,, ! gensrc,Design,"automatic conversion of QuantLib::Rate, Volatility, Discount, Spread, Time, etc",done,5,,, ! QLA,General Support,allow for default optimization Method (see as example qlAbcdCapletCalibration in marketmodels.xml),done,1,1,, ! QLA,Design,Joint Calendar as other Calendar (with special string),done,2,"0,5",, ! QLA,General Support,bring the C Addin and QuantLibXLDynamic up to date,done,5,,, ! gensrc,Design,subdivide file qlxl\qladdin.cpp (1MB!) by category,done,2,1,, ! OH,Design,convert objectIDs to uppercase,done,,,, ! OH,Design,implement case-preserving behavior for objectIDs,done,4,,, ! QLA,VBA framework,network launcher/updater for VBA framework - to point to different environments / configuration files,done,1,3,, ! all,General Support,NSIS installers - uninstall old app before installing new,cancelled,1,- -,,not required after network launcher? ! QLA,Launcher,cleaner IPC between launcher & framework,done,2,,, ! QLA,Design,additional dynamic cast in handleToLib for qlTermStructureReferenceDate() etc.,done,2,,, ! QLA,Design,"add support to take a QL object, wrap it in a QLA object, and store it in the OH repository",done,4,,, ! QLA,General Support,NSIS scripts for network installations,done,2,,, ! OH,Design,"ohDemoObject(parameter1, parameter2) to create an empty object for demo purposes",done,4,,, |
|
From: Eric E. <eri...@us...> - 2006-12-03 11:50:31
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6225/gensrc/metadata Modified Files: smilesection.xml Log Message: generalize CoerceDateVector to CoerceVector - 1) comment qlSmileSectionExerciseDate/qlFlatSmileSection out of smilesection.xml (incompatible w/corresponding QLO code) 2) add file qlxl/Functions/smilesection.cpp to build 3) implement CoerceVector for parameter volatilities of function qlSabrSmileSection Index: smilesection.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/smilesection.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** smilesection.xml 1 Dec 2006 21:56:12 -0000 1.3 --- smilesection.xml 3 Dec 2006 11:50:23 -0000 1.4 *************** *** 58,62 **** </Member> ! <Member name='qlSmileSectionExerciseDate' libraryClass='SmileSection'> <description>Returns the exercise date of the SmileSection object</description> <libraryFunction>variance</libraryFunction> --- 58,62 ---- </Member> ! <!--Member name='qlSmileSectionExerciseDate' libraryClass='SmileSection'> <description>Returns the exercise date of the SmileSection object</description> <libraryFunction>variance</libraryFunction> *************** *** 71,75 **** <tensorRank>scalar</tensorRank> </ReturnValue> ! </Member> <Member name='qlSmileSectionDayCounter' libraryClass='SmileSection'> --- 71,75 ---- <tensorRank>scalar</tensorRank> </ReturnValue> ! </Member--> <Member name='qlSmileSectionDayCounter' libraryClass='SmileSection'> *************** *** 88,92 **** </Member> ! <Constructor name='qlFlatSmileSection'> <libraryFunction>FlatSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 88,92 ---- </Member> ! <!--Constructor name='qlFlatSmileSection'> <libraryFunction>FlatSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 118,124 **** </Parameters> </ParameterList> ! </Constructor> ! <Constructor name='qlSabrSmileSection'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 118,124 ---- </Parameters> </ParameterList> ! </Constructor--> ! <!--Constructor name='qlSabrSmileSection'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 145,151 **** </Parameters> </ParameterList> ! </Constructor> ! <!--<Constructor name='qlSabrSmileSection'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 145,151 ---- </Parameters> </ParameterList> ! </Constructor--> ! <Constructor name='qlSabrSmileSection'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 227,231 **** </Parameters> </ParameterList> ! </Constructor>--> </Functions> --- 227,231 ---- </Parameters> </ParameterList> ! </Constructor> </Functions> |
|
From: Eric E. <eri...@us...> - 2006-12-03 11:50:31
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6225 Modified Files: QuantLibObjects.vcproj QuantLibObjects_vc8.vcproj Log Message: generalize CoerceDateVector to CoerceVector - 1) comment qlSmileSectionExerciseDate/qlFlatSmileSection out of smilesection.xml (incompatible w/corresponding QLO code) 2) add file qlxl/Functions/smilesection.cpp to build 3) implement CoerceVector for parameter volatilities of function qlSabrSmileSection Index: QuantLibObjects_vc8.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/QuantLibObjects_vc8.vcproj,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** QuantLibObjects_vc8.vcproj 1 Dec 2006 18:48:26 -0000 1.56 --- QuantLibObjects_vc8.vcproj 3 Dec 2006 11:50:23 -0000 1.57 *************** *** 974,977 **** --- 974,981 ---- </File> <File + RelativePath=".\qlo\Loop\loop_daycounter.hpp" + > + </File> + <File RelativePath="qlo\Loop\loop_index.hpp" > Index: QuantLibObjects.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/QuantLibObjects.vcproj,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** QuantLibObjects.vcproj 1 Dec 2006 18:48:15 -0000 1.47 --- QuantLibObjects.vcproj 3 Dec 2006 11:50:23 -0000 1.48 *************** *** 498,501 **** --- 498,507 ---- </File> <File + RelativePath=".\qlo\ValueObjects\vo_smilesection.cpp"> + </File> + <File + RelativePath=".\qlo\ValueObjects\vo_smilesection.hpp"> + </File> + <File RelativePath=".\qlo\ValueObjects\vo_statistics.cpp"> </File> *************** *** 823,826 **** --- 829,835 ---- </File> <File + RelativePath=".\qlo\Loop\loop_daycounter.hpp"> + </File> + <File RelativePath="qlo\Loop\loop_index.hpp"> </File> |
|
From: Eric E. <eri...@us...> - 2006-12-03 11:50:31
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/config In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6225/gensrc/config Modified Files: config.xml Log Message: generalize CoerceDateVector to CoerceVector - 1) comment qlSmileSectionExerciseDate/qlFlatSmileSection out of smilesection.xml (incompatible w/corresponding QLO code) 2) add file qlxl/Functions/smilesection.cpp to build 3) implement CoerceVector for parameter volatilities of function qlSabrSmileSection Index: config.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/config/config.xml,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** config.xml 1 Dec 2006 18:48:49 -0000 1.37 --- config.xml 3 Dec 2006 11:50:23 -0000 1.38 *************** *** 42,45 **** --- 42,46 ---- <categoryName>shortratemodels</categoryName> <categoryName>simplecashflow</categoryName> + <categoryName>smilesection</categoryName> <categoryName>statistics</categoryName> <categoryName>swap</categoryName> *************** *** 50,54 **** <categoryName>vanillaswap</categoryName> <categoryName>volatilities</categoryName> - <categoryName>smilesection</categoryName> </categoryNames> --- 51,54 ---- |
|
From: Eric E. <eri...@us...> - 2006-12-03 11:50:31
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6225/gensrc Modified Files: qlgensrc.vcproj Log Message: generalize CoerceDateVector to CoerceVector - 1) comment qlSmileSectionExerciseDate/qlFlatSmileSection out of smilesection.xml (incompatible w/corresponding QLO code) 2) add file qlxl/Functions/smilesection.cpp to build 3) implement CoerceVector for parameter volatilities of function qlSabrSmileSection Index: qlgensrc.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/qlgensrc.vcproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** qlgensrc.vcproj 1 Dec 2006 21:56:12 -0000 1.2 --- qlgensrc.vcproj 3 Dec 2006 11:50:23 -0000 1.3 *************** *** 133,136 **** --- 133,139 ---- </File> <File + RelativePath=".\metadata\simplecashflow.xml"> + </File> + <File RelativePath=".\metadata\smilesection.xml"> </File> |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 21:56:16
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26846/gensrc/metadata Modified Files: smilesection.xml Log Message: Index: smilesection.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/smilesection.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** smilesection.xml 1 Dec 2006 21:13:33 -0000 1.2 --- smilesection.xml 1 Dec 2006 21:56:12 -0000 1.3 *************** *** 111,114 **** --- 111,119 ---- <description>day counter (e.g. Actual/360)</description> </Parameter> + <Parameter name='refDate' libraryType='QuantLib::Date'> + <type>long</type> + <tensorRank>scalar</tensorRank> + <description>ref date</description> + </Parameter> </Parameters> </ParameterList> |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 21:56:16
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26846/gensrc Modified Files: qlgensrc.vcproj Log Message: Index: qlgensrc.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/qlgensrc.vcproj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** qlgensrc.vcproj 17 Oct 2006 17:07:42 -0000 1.1 --- qlgensrc.vcproj 1 Dec 2006 21:56:12 -0000 1.2 *************** *** 133,136 **** --- 133,139 ---- </File> <File + RelativePath=".\metadata\smilesection.xml"> + </File> + <File RelativePath="metadata\statistics.xml"> </File> |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 21:53:06
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25306/qlo Modified Files: smilesection.cpp smilesection.hpp Log Message: 1) SmileSectionInterface renamed SmileSection 2) full SmileSection interface exposed to Excel 3) SabrSmileSection signature changed Index: smilesection.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** smilesection.cpp 1 Dec 2006 21:13:33 -0000 1.3 --- smilesection.cpp 1 Dec 2006 21:53:00 -0000 1.4 *************** *** 36,39 **** --- 36,49 ---- } + FlatSmileSection::FlatSmileSection( + const QuantLib::Date& optionDate, + QuantLib::Volatility v, + const QuantLib::DayCounter& dc, + const QuantLib::Date& refDate) { + + libraryObject_ = boost::shared_ptr<QuantLib::SmileSection>( + new QuantLib::FlatSmileSection(optionDate, v, dc, refDate)); + } + SabrSmileSection::SabrSmileSection( const QuantLib::Time expiry, Index: smilesection.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** smilesection.hpp 1 Dec 2006 21:13:33 -0000 1.3 --- smilesection.hpp 1 Dec 2006 21:53:00 -0000 1.4 *************** *** 31,49 **** }; ! // class FlatSmileSection : public SmileSection { ! // public: ! // FlatSmileSection(const QuantLib::Date& optionDate, ! // const QuantLib::DayCounter& dc, ! // const QuantLib::Volatility>& v ! // const QuantLib::Date& refDate); ! // }; ! ! // class InterpolatedSmileSection : public SmileSection { ! //public: ! // InterpolatedSmileSection(const QuantLib::Date& optionDate, ! // const QuantLib::DayCounter& dc, ! // const std::vector<QuantLib::Rate>& strikes, ! // const std::vector<QuantLib::Volatility>& v); ! // }; class InterpolatedSmileSection : public SmileSection { --- 31,41 ---- }; ! class FlatSmileSection : public SmileSection { ! public: ! FlatSmileSection(const QuantLib::Date& optionDate, ! QuantLib::Volatility v, ! const QuantLib::DayCounter& dc, ! const QuantLib::Date& refDate); ! }; class InterpolatedSmileSection : public SmileSection { |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 21:13:40
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv9020/gensrc/metadata Modified Files: capletvolstructure.xml smilesection.xml swaptionvolstructure.xml Log Message: 1) SmileSectionInterface renamed SmileSection 2) full SmileSection interface exposed to Excel 3) SabrSmileSection signature changed Index: smilesection.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/smilesection.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** smilesection.xml 1 Dec 2006 18:48:50 -0000 1.1 --- smilesection.xml 1 Dec 2006 21:13:33 -0000 1.2 *************** *** 1,155 **** <Category name='smilesection'> ! <description>functions to construct and use SmileSection objects</description> ! <displayName>Smile Section Structures</displayName> ! <xlFunctionWizardCategory>QuantLib - Financial</xlFunctionWizardCategory> ! <includes> ! <include>ql/Volatilities/interpolatedsmilesection.hpp</include> ! <include>qlo/smilesection.hpp</include> ! <include>qlo/optimization.hpp</include> ! <include>ql/quote.hpp</include> ! </includes> ! <copyright> ! Copyright (C) 2006 Francois du Vignaud ! </copyright> ! <Functions> ! <Constructor name='qlSmileSection'> ! <libraryFunction>InterpolatedSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionDate' libraryType='QuantLib::Date'> ! <type>long</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as date</description> ! </Parameter> ! <Parameter name='dayCounter' enumeration='QuantLib::DayCounter'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>day counter (e.g. Actual/360)</description> ! </Parameter> ! <Parameter name='strikes' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>strikes</description> ! </Parameter> ! <Parameter name='volatilities' libraryType='QuantLib::Volatility'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>volatilities</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor> ! <!--<Constructor name='qlSabrSmileSection'> ! <libraryFunction>SabrSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionTime' libraryType='QuantLib::Time'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as time</description> ! </Parameter> ! <Parameter name='strikes' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>strikes</description> ! </Parameter> ! <Parameter name='volatilities' libToHandle='Quote'> ! <type>string</type> ! <tensorRank>vector</tensorRank> ! <description>cap volatilities.</description> ! </Parameter> ! <Parameter name='forward' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>atm rate</description> ! </Parameter> ! <Parameter name='alpha' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>alpha (fixed value or guess)</description> ! </Parameter> ! <Parameter name='beta' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>beta (fixed value or guess)</description> ! </Parameter> ! <Parameter name='nu' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>nu (fixed value or guess)</description> ! </Parameter> ! <Parameter name='rho' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>rho (fixed value or guess)</description> ! </Parameter> ! <Parameter name='alphaIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the alpha value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='betaIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the beta value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='nuIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the nu value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='rhoIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the rho value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='vegaWeighted' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the interpolation is weighted using options Vega. FALSE by default.</description> ! </Parameter> ! <Parameter name='method' libraryClass='OptimizationMethod'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Optimization Method</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor>--> - <Member name='qlVolatilityFromSmile' libraryClass='SmileSectionInterface'> - <description>Return the volatility from SmileSection</description> - <libraryFunction>volatility</libraryFunction> - <SupportedPlatforms> - <Excel/> - </SupportedPlatforms> - <ParameterList> - <Parameters> - <Parameter name='strike' libraryType='QuantLib::Rate'> - <type>double</type> - <tensorRank>scalar</tensorRank> - <description>strike</description> - </Parameter> - </Parameters> - </ParameterList> - <ReturnValue libraryType='QuantLib::Volatility'> - <type>double</type> - <tensorRank>scalar</tensorRank> - </ReturnValue> - </Member> - </Functions> </Category> --- 1,260 ---- <Category name='smilesection'> ! <description>functions to construct and use SmileSection objects</description> ! <displayName>Smile Section Structures</displayName> ! <xlFunctionWizardCategory>QuantLib - Financial</xlFunctionWizardCategory> ! <includes> ! <include>ql/Volatilities/interpolatedsmilesection.hpp</include> ! <include>qlo/smilesection.hpp</include> ! <include>qlo/optimization.hpp</include> ! <include>ql/quote.hpp</include> ! </includes> ! <copyright> ! Copyright (C) 2006 Ferdinando Ametrano ! Copyright (C) 2006 Francois du Vignaud ! </copyright> + <Functions> + <Member name='qlSmileSectionVolatility' libraryClass='SmileSection'> + <description>Returns the volatility at a given strike from the SmileSection object</description> + <libraryFunction>volatility</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> + <Parameter name='strike' libraryType='QuantLib::Rate'> + <type>double</type> + <tensorRank>scalar</tensorRank> + <description>strike</description> + </Parameter> + </Parameters> + </ParameterList> + <ReturnValue libraryType='QuantLib::Volatility'> + <type>double</type> + <tensorRank>scalar</tensorRank> + </ReturnValue> + </Member> + <Member name='qlSmileSectionVariance' libraryClass='SmileSection'> + <description>Returns the variance at a given strike from the SmileSection object</description> + <libraryFunction>variance</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> + <Parameter name='strike' libraryType='QuantLib::Rate'> + <type>double</type> + <tensorRank>scalar</tensorRank> + <description>strike</description> + </Parameter> + </Parameters> + </ParameterList> + <ReturnValue> + <type>double</type> + <tensorRank>scalar</tensorRank> + </ReturnValue> + </Member> + <Member name='qlSmileSectionExerciseDate' libraryClass='SmileSection'> + <description>Returns the exercise date of the SmileSection object</description> + <libraryFunction>variance</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters/> + </ParameterList> + <ReturnValue libraryType='QuantLib::Date'> + <type>long</type> + <tensorRank>scalar</tensorRank> + </ReturnValue> + </Member> ! <Member name='qlSmileSectionDayCounter' libraryClass='SmileSection'> ! <description>Returns the DayCounter of the SmileSection object</description> ! <libraryFunction>dayCounter</libraryFunction> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters/> ! </ParameterList> ! <ReturnValue enumeration='QuantLib::DayCounter'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! </ReturnValue> ! </Member> ! ! <Constructor name='qlFlatSmileSection'> ! <libraryFunction>FlatSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionDate' libraryType='QuantLib::Date'> ! <type>long</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as date</description> ! </Parameter> ! <Parameter name='volatilities' libraryType='QuantLib::Volatility'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>volatilities</description> ! </Parameter> ! <Parameter name='dayCounter' enumeration='QuantLib::DayCounter'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>day counter (e.g. Actual/360)</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor> ! ! <Constructor name='qlSabrSmileSection'> ! <libraryFunction>SabrSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionDate' libraryType='QuantLib::Date'> ! <type>long</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as date</description> ! </Parameter> ! <Parameter name='volatilities' libraryType='QuantLib::Volatility'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>volatilities</description> ! </Parameter> ! <Parameter name='dayCounter' enumeration='QuantLib::DayCounter'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>day counter (e.g. Actual/360)</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor> ! ! <!--<Constructor name='qlSabrSmileSection'> ! <libraryFunction>SabrSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionTime' libraryType='QuantLib::Time'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as time</description> ! </Parameter> ! <Parameter name='strikes' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>strikes</description> ! </Parameter> ! <Parameter name='volatilities' libToHandle='Quote'> ! <type>string</type> ! <tensorRank>vector</tensorRank> ! <description>cap volatilities.</description> ! </Parameter> ! <Parameter name='forward' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>atm rate</description> ! </Parameter> ! <Parameter name='alpha' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>alpha (fixed value or guess)</description> ! </Parameter> ! <Parameter name='beta' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>beta (fixed value or guess)</description> ! </Parameter> ! <Parameter name='nu' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>nu (fixed value or guess)</description> ! </Parameter> ! <Parameter name='rho' default='QuantLib::Null<QuantLib::Real>()'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>rho (fixed value or guess)</description> ! </Parameter> ! <Parameter name='alphaIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the alpha value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='betaIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the beta value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='nuIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the nu value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='rhoIsFixed' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the rho value provided is to be kept fixed, FALSE if it is just a guess</description> ! </Parameter> ! <Parameter name='vegaWeighted' default='false'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>TRUE if the interpolation is weighted using options Vega. FALSE by default.</description> ! </Parameter> ! <Parameter name='method' libraryClass='OptimizationMethod'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Optimization Method</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor>--> ! ! </Functions> ! <Constructor name='qlInterpolatedSmileSection'> ! <libraryFunction>InterpolatedSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionDate' libraryType='QuantLib::Date'> ! <type>long</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as date</description> ! </Parameter> ! <Parameter name='strikes' libraryType='QuantLib::Rate'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>strikes</description> ! </Parameter> ! <Parameter name='volatilities' libraryType='QuantLib::Volatility'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>volatilities</description> ! </Parameter> ! <Parameter name='dayCounter' enumeration='QuantLib::DayCounter'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>day counter (e.g. Actual/360)</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor> </Category> Index: capletvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/capletvolstructure.xml,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** capletvolstructure.xml 22 Nov 2006 13:34:14 -0000 1.31 --- capletvolstructure.xml 1 Dec 2006 21:13:33 -0000 1.32 *************** *** 260,264 **** <description>implied Volatility max Evaluations.</description> </Parameter> ! <Parameter name='smileSections' libraryClass='SmileSectionInterface'> <type>string</type> <tensorRank>vector</tensorRank> --- 260,264 ---- <description>implied Volatility max Evaluations.</description> </Parameter> ! <Parameter name='smileSections' libraryClass='SmileSection'> <type>string</type> <tensorRank>vector</tensorRank> *************** *** 288,292 **** <description>day counter (e.g. Actual/360)</description> </Parameter> ! <Parameter name='smileSections' libraryClass='SmileSectionInterface'> <type>string</type> <tensorRank>vector</tensorRank> --- 288,292 ---- <description>day counter (e.g. Actual/360)</description> </Parameter> ! <Parameter name='smileSections' libraryClass='SmileSection'> <type>string</type> <tensorRank>vector</tensorRank> Index: swaptionvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swaptionvolstructure.xml,v retrieving revision 1.87 retrieving revision 1.88 diff -C2 -d -r1.87 -r1.88 *** swaptionvolstructure.xml 1 Dec 2006 19:34:23 -0000 1.87 --- swaptionvolstructure.xml 1 Dec 2006 21:13:33 -0000 1.88 *************** *** 4,8 **** <xlFunctionWizardCategory>QuantLib - Financial</xlFunctionWizardCategory> <includes> ! <include>ql/Volatilities/swaptionvolcubebylinear.hpp</include> <include>qlo/swaptionvolstructure.hpp</include> <include>qlo/index.hpp</include> --- 4,8 ---- <xlFunctionWizardCategory>QuantLib - Financial</xlFunctionWizardCategory> <includes> ! <include>ql/Volatilities/swaptionvolcube2.hpp</include> <include>qlo/swaptionvolstructure.hpp</include> <include>qlo/index.hpp</include> *************** *** 526,532 **** </Member> ! <!-- SwaptionVolatilityCubeBySabr constructors --> ! <Constructor name='qlSwaptionVolatilityCubeBySabr'> ! <libraryFunction>SwaptionVolatilityCubeBySabr</libraryFunction> <functionCategory>QuantLib</functionCategory> <SupportedPlatforms> --- 526,532 ---- </Member> ! <!-- SwaptionVolCube1 constructors --> ! <Constructor name='qlSwaptionVolCube1'> ! <libraryFunction>SwaptionVolCube1</libraryFunction> <functionCategory>QuantLib</functionCategory> <SupportedPlatforms> *************** *** 589,594 **** </Constructor> ! <!-- SwaptionVolatilityCubeBySabr interface --> ! <Member name='qlSparseSabrParameters' objectClass='SwaptionVolatilityCubeBySabr'> <description>return results of Sabr calibration</description> <libraryFunction>getSparseSabrParameters</libraryFunction> --- 589,594 ---- </Constructor> ! <!-- SwaptionVolCube1 interface --> ! <Member name='qlSparseSabrParameters' objectClass='SwaptionVolCube1'> <description>return results of Sabr calibration</description> <libraryFunction>getSparseSabrParameters</libraryFunction> *************** *** 605,609 **** </Member> ! <Member name='qlDenseSabrParameters' objectClass='SwaptionVolatilityCubeBySabr'> <description>return results of Sabr calibration</description> <libraryFunction>getDenseSabrParameters</libraryFunction> --- 605,609 ---- </Member> ! <Member name='qlDenseSabrParameters' objectClass='SwaptionVolCube1'> <description>return results of Sabr calibration</description> <libraryFunction>getDenseSabrParameters</libraryFunction> *************** *** 620,624 **** </Member> ! <Member name='qlMarketVolCube' objectClass='SwaptionVolatilityCubeBySabr'> <description>return the market volatility cube</description> <libraryFunction>getMarketVolCube</libraryFunction> --- 620,624 ---- </Member> ! <Member name='qlMarketVolCube' objectClass='SwaptionVolCube1'> <description>return the market volatility cube</description> <libraryFunction>getMarketVolCube</libraryFunction> *************** *** 635,639 **** </Member> ! <Member name='qlVolCubeAtmCalibrated' objectClass='SwaptionVolatilityCubeBySabr'> <description>return the volatility cube calibrated to ATM matrix</description> <libraryFunction>getVolCubeAtmCalibrated</libraryFunction> --- 635,639 ---- </Member> ! <Member name='qlVolCubeAtmCalibrated' objectClass='SwaptionVolCube1'> <description>return the volatility cube calibrated to ATM matrix</description> <libraryFunction>getVolCubeAtmCalibrated</libraryFunction> |
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv9020/qlo Modified Files: capletvolstructure.cpp capletvolstructure.hpp smilesection.cpp smilesection.hpp swaptionvolstructure.cpp swaptionvolstructure.hpp Log Message: 1) SmileSectionInterface renamed SmileSection 2) full SmileSection interface exposed to Excel 3) SabrSmileSection signature changed Index: swaptionvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.cpp,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** swaptionvolstructure.cpp 1 Dec 2006 19:34:23 -0000 1.47 --- swaptionvolstructure.cpp 1 Dec 2006 21:13:33 -0000 1.48 *************** *** 25,37 **** #include <qlo/swaptionvolstructure.hpp> #include <ql/Volatilities/swaptionconstantvol.hpp> ! #include <ql/Volatilities/swaptionvolcubebylinear.hpp> ! #include <ql/Volatilities/swaptionvolcubebysabr.hpp> ! //#include <ql/Volatilities/smilesection.hpp> ! //#include <ql/Optimization/criteria.hpp> ! //#include <ql/Volatilities/smilesection.hpp> ! //#include <ql/Volatilities/swaptionvolcubebysabr.hpp> #include <ql/Volatilities/swaptionvolmatrix.hpp> - namespace QuantLibAddin { --- 25,32 ---- #include <qlo/swaptionvolstructure.hpp> #include <ql/Volatilities/swaptionconstantvol.hpp> ! #include <ql/Volatilities/swaptionvolcube2.hpp> ! #include <ql/Volatilities/swaptionvolcube1.hpp> #include <ql/Volatilities/swaptionvolmatrix.hpp> namespace QuantLibAddin { *************** *** 95,99 **** } ! SwaptionVolatilityCubeBySabr::SwaptionVolatilityCubeBySabr( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 90,94 ---- } ! SwaptionVolCube1::SwaptionVolCube1( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 109,113 **** QL_REQUIRE(!atmVol.empty(), "atm vol handle not linked to anything"); libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::SwaptionVolatilityCubeBySabr(atmVol, optionTenors, swapTenors, --- 104,108 ---- QL_REQUIRE(!atmVol.empty(), "atm vol handle not linked to anything"); libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::SwaptionVolCube1(atmVol, optionTenors, swapTenors, *************** *** 122,129 **** std::vector<std::vector<boost::any> > ! SwaptionVolatilityCubeBySabr::getSparseSabrParameters() { ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolatilityCubeBySabr>(libraryObject_); return getSabrParameters(volCube->sparseSabrParameters()); --- 117,124 ---- std::vector<std::vector<boost::any> > ! SwaptionVolCube1::getSparseSabrParameters() { ! const boost::shared_ptr<QuantLib::SwaptionVolCube1>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolCube1>(libraryObject_); return getSabrParameters(volCube->sparseSabrParameters()); *************** *** 131,154 **** std::vector<std::vector<boost::any> > ! SwaptionVolatilityCubeBySabr::getDenseSabrParameters() { ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolatilityCubeBySabr>(libraryObject_); return getSabrParameters(volCube->denseSabrParameters()); } std::vector<std::vector<boost::any> > ! SwaptionVolatilityCubeBySabr::getMarketVolCube() { ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolatilityCubeBySabr>(libraryObject_); return getVolCube(volCube->marketVolCube()); } std::vector<std::vector<boost::any> > ! SwaptionVolatilityCubeBySabr::getVolCubeAtmCalibrated() { ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolatilityCubeBySabr>(libraryObject_); return getVolCube(volCube->volCubeAtmCalibrated()); } --- 126,149 ---- std::vector<std::vector<boost::any> > ! SwaptionVolCube1::getDenseSabrParameters() { ! const boost::shared_ptr<QuantLib::SwaptionVolCube1>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolCube1>(libraryObject_); return getSabrParameters(volCube->denseSabrParameters()); } std::vector<std::vector<boost::any> > ! SwaptionVolCube1::getMarketVolCube() { ! const boost::shared_ptr<QuantLib::SwaptionVolCube1>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolCube1>(libraryObject_); return getVolCube(volCube->marketVolCube()); } std::vector<std::vector<boost::any> > ! SwaptionVolCube1::getVolCubeAtmCalibrated() { ! const boost::shared_ptr<QuantLib::SwaptionVolCube1>& volCube = boost::dynamic_pointer_cast< ! QuantLib::SwaptionVolCube1>(libraryObject_); return getVolCube(volCube->volCubeAtmCalibrated()); } Index: capletvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** capletvolstructure.cpp 17 Nov 2006 14:26:23 -0000 1.7 --- capletvolstructure.cpp 1 Dec 2006 21:13:33 -0000 1.8 *************** *** 61,65 **** QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSectionInterface> >& smileSectionInterfaces) { --- 61,65 ---- QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSection> >& smileSectionInterfaces) { Index: swaptionvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.hpp,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** swaptionvolstructure.hpp 1 Dec 2006 19:34:23 -0000 1.44 --- swaptionvolstructure.hpp 1 Dec 2006 21:13:33 -0000 1.45 *************** *** 26,30 **** #include <qlo/smilesection.hpp> - #include <ql/swaptionvolstructure.hpp> #include <ql/Indexes/swapindex.hpp> #include <ql/Volatilities/swaptionvolcube.hpp> --- 26,29 ---- *************** *** 75,81 **** std::vector<std::vector<boost::any> > getVolCube(QuantLib::Matrix & volCube); ! class SwaptionVolatilityCubeBySabr : public SwaptionVolatilityCube { public: ! SwaptionVolatilityCubeBySabr( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 74,80 ---- std::vector<std::vector<boost::any> > getVolCube(QuantLib::Matrix & volCube); ! class SwaptionVolCube1 : public SwaptionVolatilityCube { public: ! SwaptionVolCube1( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 94,98 **** }; ! class SmileSectionByCube : public SmileSectionInterface { public: SmileSectionByCube( --- 93,97 ---- }; ! class SmileSectionByCube : public SmileSection { public: SmileSectionByCube( Index: smilesection.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** smilesection.cpp 1 Dec 2006 19:34:23 -0000 1.2 --- smilesection.cpp 1 Dec 2006 21:13:33 -0000 1.3 *************** *** 32,36 **** const QuantLib::DayCounter& dc) { ! libraryObject_ = boost::shared_ptr<QuantLib::SmileSectionInterface>( new QuantLib::InterpolatedSmileSection<>(optionDate, s, v, dc)); } --- 32,36 ---- const QuantLib::DayCounter& dc) { ! libraryObject_ = boost::shared_ptr<QuantLib::SmileSection>( new QuantLib::InterpolatedSmileSection<>(optionDate, s, v, dc)); } Index: smilesection.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** smilesection.hpp 1 Dec 2006 19:34:23 -0000 1.2 --- smilesection.hpp 1 Dec 2006 21:13:33 -0000 1.3 *************** *** 27,35 **** namespace QuantLibAddin { ! class SmileSectionInterface : ! public ObjHandler::LibraryObject<QuantLib::SmileSectionInterface> { }; ! // class FlatSmileSection : public SmileSectionInterface { // public: // FlatSmileSection(const QuantLib::Date& optionDate, --- 27,35 ---- namespace QuantLibAddin { ! class SmileSection : ! public ObjHandler::LibraryObject<QuantLib::SmileSection> { }; ! // class FlatSmileSection : public SmileSection { // public: // FlatSmileSection(const QuantLib::Date& optionDate, *************** *** 39,43 **** // }; ! // class InterpolatedSmileSection : public SmileSectionInterface { //public: // InterpolatedSmileSection(const QuantLib::Date& optionDate, --- 39,43 ---- // }; ! // class InterpolatedSmileSection : public SmileSection { //public: // InterpolatedSmileSection(const QuantLib::Date& optionDate, *************** *** 47,51 **** // }; ! class InterpolatedSmileSection : public SmileSectionInterface { public: InterpolatedSmileSection(const QuantLib::Date& optionDate, --- 47,51 ---- // }; ! class InterpolatedSmileSection : public SmileSection { public: InterpolatedSmileSection(const QuantLib::Date& optionDate, *************** *** 55,59 **** }; ! class SabrSmileSection: public SmileSectionInterface{ public: SabrSmileSection(const QuantLib::Time expiry, --- 55,59 ---- }; ! class SabrSmileSection: public SmileSection{ public: SabrSmileSection(const QuantLib::Time expiry, Index: capletvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.hpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** capletvolstructure.hpp 17 Nov 2006 14:26:23 -0000 1.7 --- capletvolstructure.hpp 1 Dec 2006 21:13:33 -0000 1.8 *************** *** 27,35 **** 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); }; --- 27,35 ---- namespace QuantLibAddin { ! inline double qltest (boost::shared_ptr<QuantLib::SmileSection> t){ return QuantLib::test(t); }; ! inline double qltest2(std::vector<boost::shared_ptr<QuantLib::SmileSection> > t){ return QuantLib::test2(t); }; *************** *** 62,66 **** QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSectionInterface> >& smileSectionInterfaces); }; --- 62,66 ---- QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSection> >& smileSectionInterfaces); }; |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 21:13:38
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv9020 Modified Files: todonando.txt Log Message: 1) SmileSectionInterface renamed SmileSection 2) full SmileSection interface exposed to Excel 3) SabrSmileSection signature changed Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** todonando.txt 1 Dec 2006 14:33:49 -0000 1.59 --- todonando.txt 1 Dec 2006 21:13:33 -0000 1.60 *************** *** 13,18 **** - rename old functions - Reuters new session ! - complete SABR, Optimizer ! - TermStrucure bug - bloomberg, Menabeni, Rinaldo - demo Munari (mergeLeg, addLeg) --- 13,18 ---- - rename old functions - Reuters new session ! - DONE complete SABR, Optimizer ! - DONE TermStrucure bug - bloomberg, Menabeni, Rinaldo - demo Munari (mergeLeg, addLeg) |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 19:34:26
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv367/qlo Modified Files: smilesection.cpp smilesection.hpp swaptionvolstructure.cpp swaptionvolstructure.hpp Log Message: SmileSection refactoring Index: smilesection.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** smilesection.cpp 1 Dec 2006 18:48:38 -0000 1.1 --- smilesection.cpp 1 Dec 2006 19:34:23 -0000 1.2 *************** *** 28,53 **** InterpolatedSmileSection::InterpolatedSmileSection( const QuantLib::Date& optionDate, - const QuantLib::DayCounter& dc, const std::vector<QuantLib::Rate>& s, ! const std::vector<QuantLib::Volatility>& v) { ! if (s.size()==1 && v.size()==1) { ! std::vector<QuantLib::Rate> strikes(2, 0.0); ! strikes[1]=1.0; ! std::vector<QuantLib::Volatility> vols(2, v[0]); ! libraryObject_ = boost::shared_ptr< ! QuantLib::SmileSectionInterface>(new ! QuantLib::InterpolatedSmileSection(optionDate, ! dc, ! strikes, ! vols)); ! } else { ! libraryObject_ = boost::shared_ptr< ! QuantLib::SmileSectionInterface>(new ! QuantLib::InterpolatedSmileSection(optionDate, ! dc, ! s, ! v)); ! } } --- 28,37 ---- InterpolatedSmileSection::InterpolatedSmileSection( const QuantLib::Date& optionDate, const std::vector<QuantLib::Rate>& s, ! const std::vector<QuantLib::Volatility>& v, ! const QuantLib::DayCounter& dc) { ! libraryObject_ = boost::shared_ptr<QuantLib::SmileSectionInterface>( ! new QuantLib::InterpolatedSmileSection<>(optionDate, s, v, dc)); } *************** *** 74,84 **** isRhoFixed, vegaWeighted, method); ! QuantLib::GenericInterpolatedSmileSection<QuantLib::SABR>* genericInterpolatedSmileSection = ! new QuantLib::GenericInterpolatedSmileSection<QuantLib::SABR>( expiry, strikes, volatilitiesHandles, sabrInterpolationFactory); libraryObject_ = boost::shared_ptr< ! QuantLib::GenericInterpolatedSmileSection<QuantLib::SABR> > (genericInterpolatedSmileSection); } --- 58,68 ---- isRhoFixed, vegaWeighted, method); ! QuantLib::InterpolatedSmileSection<QuantLib::SABR>* genericInterpolatedSmileSection = ! new QuantLib::InterpolatedSmileSection<QuantLib::SABR>( expiry, strikes, volatilitiesHandles, sabrInterpolationFactory); libraryObject_ = boost::shared_ptr< ! QuantLib::InterpolatedSmileSection<QuantLib::SABR> > (genericInterpolatedSmileSection); } Index: smilesection.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/smilesection.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** smilesection.hpp 1 Dec 2006 18:48:38 -0000 1.1 --- smilesection.hpp 1 Dec 2006 19:34:23 -0000 1.2 *************** *** 31,40 **** }; class InterpolatedSmileSection : public SmileSectionInterface { ! public: InterpolatedSmileSection(const QuantLib::Date& optionDate, - const QuantLib::DayCounter& dc, const std::vector<QuantLib::Rate>& strikes, ! const std::vector<QuantLib::Volatility>& v); }; --- 31,56 ---- }; + // class FlatSmileSection : public SmileSectionInterface { + // public: + // FlatSmileSection(const QuantLib::Date& optionDate, + // const QuantLib::DayCounter& dc, + // const QuantLib::Volatility>& v + // const QuantLib::Date& refDate); + // }; + + // class InterpolatedSmileSection : public SmileSectionInterface { + //public: + // InterpolatedSmileSection(const QuantLib::Date& optionDate, + // const QuantLib::DayCounter& dc, + // const std::vector<QuantLib::Rate>& strikes, + // const std::vector<QuantLib::Volatility>& v); + // }; + class InterpolatedSmileSection : public SmileSectionInterface { ! public: InterpolatedSmileSection(const QuantLib::Date& optionDate, const std::vector<QuantLib::Rate>& strikes, ! const std::vector<QuantLib::Volatility>& v, ! const QuantLib::DayCounter& dc); }; Index: swaptionvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.cpp,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** swaptionvolstructure.cpp 1 Dec 2006 18:48:38 -0000 1.46 --- swaptionvolstructure.cpp 1 Dec 2006 19:34:23 -0000 1.47 *************** *** 27,32 **** #include <ql/Volatilities/swaptionvolcubebylinear.hpp> #include <ql/Volatilities/swaptionvolcubebysabr.hpp> ! #include <ql/Volatilities/smilesection.hpp> ! #include <ql/Optimization/criteria.hpp> --- 27,35 ---- #include <ql/Volatilities/swaptionvolcubebylinear.hpp> #include <ql/Volatilities/swaptionvolcubebysabr.hpp> ! //#include <ql/Volatilities/smilesection.hpp> ! //#include <ql/Optimization/criteria.hpp> ! //#include <ql/Volatilities/smilesection.hpp> ! //#include <ql/Volatilities/swaptionvolcubebysabr.hpp> ! #include <ql/Volatilities/swaptionvolmatrix.hpp> *************** *** 72,76 **** } ! SwaptionVolatilityCubeByLinear::SwaptionVolatilityCubeByLinear( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 75,79 ---- } ! SwaptionVolCube2::SwaptionVolCube2( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 83,87 **** QL_REQUIRE(!atmVol.empty(), "atm vol handle not linked to anything"); libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::SwaptionVolatilityCubeByLinear(atmVol, optionTenors, swapTenors, --- 86,90 ---- QL_REQUIRE(!atmVol.empty(), "atm vol handle not linked to anything"); libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::SwaptionVolCube2(atmVol, optionTenors, swapTenors, Index: swaptionvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.hpp,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** swaptionvolstructure.hpp 1 Dec 2006 18:48:38 -0000 1.43 --- swaptionvolstructure.hpp 1 Dec 2006 19:34:23 -0000 1.44 *************** *** 23,36 **** #include <oh/objhandler.hpp> - #include <ql/swaptionvolstructure.hpp> #include <qlo/termstructures.hpp> - #include <ql/Volatilities/swaptionvolcubebysabr.hpp> - #include <ql/Volatilities/swaptionvolmatrix.hpp> - #include <ql/Volatilities/smilesection.hpp> #include <qlo/smilesection.hpp> ! #include <qlo/index.hpp> namespace QuantLibAddin { ! class SwaptionVolatilityStructure : public TermStructure {}; --- 23,36 ---- #include <oh/objhandler.hpp> #include <qlo/termstructures.hpp> #include <qlo/smilesection.hpp> ! ! #include <ql/swaptionvolstructure.hpp> ! #include <ql/Indexes/swapindex.hpp> ! #include <ql/Volatilities/swaptionvolcube.hpp> namespace QuantLibAddin { ! ! class SwaptionVolatilityStructure : public TermStructure {}; *************** *** 60,66 **** }; ! class SwaptionVolatilityCubeByLinear : public SwaptionVolatilityCube { public: ! SwaptionVolatilityCubeByLinear( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, --- 60,66 ---- }; ! class SwaptionVolCube2 : public SwaptionVolatilityCube { public: ! SwaptionVolCube2( const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& atmVol, const std::vector<QuantLib::Period>& optionTenors, *************** *** 94,99 **** }; - - class SmileSectionByCube : public SmileSectionInterface { public: --- 94,97 ---- |
|
From: Ferdinando A. <na...@us...> - 2006-12-01 19:34:26
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv367/gensrc/metadata Modified Files: swaptionvolstructure.xml Log Message: SmileSection refactoring Index: swaptionvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swaptionvolstructure.xml,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** swaptionvolstructure.xml 1 Dec 2006 18:48:50 -0000 1.86 --- swaptionvolstructure.xml 1 Dec 2006 19:34:23 -0000 1.87 *************** *** 6,9 **** --- 6,10 ---- <include>ql/Volatilities/swaptionvolcubebylinear.hpp</include> <include>qlo/swaptionvolstructure.hpp</include> + <include>qlo/index.hpp</include> </includes> <copyright> *************** *** 424,430 **** </Member> ! <!-- SwaptionVolatilityCubeByLinear constructors --> ! <Constructor name='qlSwaptionVolatilityCubeByLinear'> ! <libraryFunction>SwaptionVolatilityCubeByLinear</libraryFunction> <functionCategory>QuantLib</functionCategory> <SupportedPlatforms> --- 425,431 ---- </Member> ! <!-- SwaptionVolCube2 constructors --> ! <Constructor name='qlSwaptionVolCube2'> ! <libraryFunction>SwaptionVolCube2</libraryFunction> <functionCategory>QuantLib</functionCategory> <SupportedPlatforms> |