quantlibaddin-cvs Mailing List for QuantLibAddin (Page 11)
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: Giorgio F. <gi...@us...> - 2006-11-22 10:58:49
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv2906/gensrc/metadata Modified Files: swaptionvolstructure.xml Log Message: Index: swaptionvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swaptionvolstructure.xml,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** swaptionvolstructure.xml 16 Nov 2006 09:22:03 -0000 1.78 --- swaptionvolstructure.xml 22 Nov 2006 10:58:43 -0000 1.79 *************** *** 52,56 **** </ReturnValue> </Member> ! <!--Member name='qlSwaptionVTSBlackVariance' libraryClass='SwaptionVolatilityStructure' loopParameter='strike'--> <Member name='qlSwaptionVTSBlackVariance' handleToLib='SwaptionVolatilityStructure'> --- 52,91 ---- </ReturnValue> </Member> ! ! <Member name='qlSwaptionVTSVolatility2' handleToLib='SwaptionVolatilityStructure' loopParameter='optionTenor'> ! <description>Returns a vector of volatilities corresponding to a vector of strikes for a given option tenor and underlying swap length.</description> ! <libraryFunction>volatility</libraryFunction> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='optionTenor' libraryType='QuantLib::Period'> ! <type>string</type> ! <tensorRank>vector</tensorRank> ! <description>swaption option tenor</description> ! </Parameter> ! <Parameter name='swapLength' libraryType='QuantLib::Period'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Underlying swap length as period (e.g. 5Y)</description> ! </Parameter> ! <Parameter name='strike' libraryType='QuantLib::Rate' const='False'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>swaption strike vector</description> ! </Parameter> ! <Parameter name='allowExtrapolation' const='False'> ! <type>bool</type> ! <tensorRank>scalar</tensorRank> ! <description>Extrapolation Flag (TRUE allows extrapolation)</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! <ReturnValue libraryType='QuantLib::Volatility'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! </ReturnValue> ! </Member> <!--Member name='qlSwaptionVTSBlackVariance' libraryClass='SwaptionVolatilityStructure' loopParameter='strike'--> <Member name='qlSwaptionVTSBlackVariance' handleToLib='SwaptionVolatilityStructure'> *************** *** 90,93 **** --- 125,164 ---- </Member> + <Member name='qlSwaptionVTSBlackVariance2' handleToLib='SwaptionVolatilityStructure'> + <description>Returns a vector of black volatilities corresponding to a vector of strikes for a given option tenor.</description> + <libraryFunction>blackVariance</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> + <Parameter name='optionTenor' libraryType='QuantLib::Period'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>swaption option tenor</description> + </Parameter> + <Parameter name='length' libraryType='QuantLib::Period'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>underlying swap tenor</description> + </Parameter> + <Parameter name='strike' libraryType='QuantLib::Rate' const='False'> + <type>double</type> + <tensorRank>scalar</tensorRank> + <description>swaption strike vector</description> + </Parameter> + <Parameter name='allowExtrapolation'> + <type>bool</type> + <tensorRank>scalar</tensorRank> + <description>Extrapolation Flag (TRUE allows extrapolation)</description> + </Parameter> + </Parameters> + </ParameterList> + <ReturnValue> + <type>double</type> + <tensorRank>scalar</tensorRank> + </ReturnValue> + </Member> + <Member name='qlSwaptionVTSMaxExpiry' handleToLib='SwaptionVolatilityStructure'> <description>Returns the latest start date for which the term structure can return vols.</description> *************** *** 389,392 **** --- 460,489 ---- </ReturnValue> </Member> + + <Member name='qlSwaptionVTSatmStrike2' libraryClass='SwaptionVolatilityCube'> + <description>Returns the atm swaption strike for a given option tenor and underlying swap length.</description> + <libraryFunction>atmStrike</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> + <Parameter name='optionTenor' libraryType='QuantLib::Period'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>swaption option tenor</description> + </Parameter> + <Parameter name='swapLength' libraryType='QuantLib::Period'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>Underlying swap length as period (e.g. 5Y)</description> + </Parameter> + </Parameters> + </ParameterList> + <ReturnValue> + <type>double</type> + <tensorRank>scalar</tensorRank> + </ReturnValue> + </Member> <!-- SwaptionVolatilityCubeBySabr constructors --> *************** *** 515,519 **** <!-- SmileSectionInteface constructors --> ! <Constructor name='qlSmileSectionBySabr'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> --- 612,616 ---- <!-- SmileSectionInteface constructors --> ! <Constructor name='qlSmileSectionByCube'> <libraryFunction>SabrSmileSection</libraryFunction> <functionCategory>QuantLib</functionCategory> *************** *** 528,538 **** <description>Swaption volatility cube by Sabr</description> </Parameter> ! <Parameter name='expiry' libraryType='QuantLib::Time'> ! <type>double</type> <tensorRank>scalar</tensorRank> ! <description>expiry</description> </Parameter> ! <Parameter name='swapLength'> ! <type>double</type> <tensorRank>scalar</tensorRank> <description>smile's underlying swap length</description> --- 625,662 ---- <description>Swaption volatility cube by Sabr</description> </Parameter> ! <Parameter name='expiry' libraryType='QuantLib::Date'> ! <type>long</type> <tensorRank>scalar</tensorRank> ! <description>smile's expiry as date</description> </Parameter> ! <Parameter name='swapLength' libraryType='QuantLib::Period'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's underlying swap length</description> ! </Parameter> ! </Parameters> ! </ParameterList> ! </Constructor> ! ! <Constructor name='qlSmileSectionByCube2'> ! <libraryFunction>SabrSmileSection</libraryFunction> ! <functionCategory>QuantLib</functionCategory> ! <SupportedPlatforms> ! <Excel/> ! </SupportedPlatforms> ! <ParameterList> ! <Parameters> ! <Parameter name='volCubeBySabr' libraryClass='SwaptionVolatilityCube'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Swaption volatility cube by Sabr</description> ! </Parameter> ! <Parameter name='expiry' libraryType='QuantLib::Period'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>smile's expiry as period</description> ! </Parameter> ! <Parameter name='swapLength' libraryType='QuantLib::Period'> ! <type>string</type> <tensorRank>scalar</tensorRank> <description>smile's underlying swap length</description> |
|
From: Giorgio F. <gi...@us...> - 2006-11-22 10:58:46
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv2906/qlo Modified Files: swaptionvolstructure.cpp swaptionvolstructure.hpp Log Message: Index: swaptionvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** swaptionvolstructure.cpp 2 Nov 2006 13:45:20 -0000 1.41 --- swaptionvolstructure.cpp 22 Nov 2006 10:58:43 -0000 1.42 *************** *** 210,218 **** } ! SabrSmileSection::SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& cubeBySabr, ! const double expiry, ! const double length) { ! libraryObject_ = cubeBySabr->smileSection(expiry,length); } --- 210,225 ---- } ! SabrSmileSection::SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, ! const QuantLib::Period& expiry, ! const QuantLib::Period& length){ ! libraryObject_ = cube->smileSection(expiry,length); ! } ! ! SabrSmileSection::SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, ! const QuantLib::Date& expiry, ! const QuantLib::Period& length){ ! libraryObject_ = cube->smileSection(expiry,length); } Index: swaptionvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swaptionvolstructure.hpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** swaptionvolstructure.hpp 2 Nov 2006 13:45:20 -0000 1.36 --- swaptionvolstructure.hpp 22 Nov 2006 10:58:43 -0000 1.37 *************** *** 125,131 **** public: SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCubeBySabr>& cubeBySabr, ! const double expiry, ! const double length); }; --- 125,135 ---- public: SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, ! const QuantLib::Period& expiry, ! const QuantLib::Period& length); ! SabrSmileSection( ! const boost::shared_ptr<QuantLib::SwaptionVolatilityCube>& cube, ! const QuantLib::Date& expiry, ! const QuantLib::Period& length); }; |
|
From: Ferdinando A. <na...@us...> - 2006-11-22 10:58:06
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv2413/gensrc/metadata Modified Files: calendar.xml Log Message: loop and default parameters Index: calendar.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/calendar.xml,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** calendar.xml 22 Nov 2006 10:28:16 -0000 1.34 --- calendar.xml 22 Nov 2006 10:58:00 -0000 1.35 *************** *** 236,240 **** <description>period(s) to advance (e.g. 2D for two days , 3W for three weeks, 6M for six months, 1Y for one year)</description> </Parameter> ! <Parameter name='BusinessDayConvention' enumeration='QuantLib::BusinessDayConvention' const='False'> <type>string</type> <tensorRank>scalar</tensorRank> --- 236,240 ---- <description>period(s) to advance (e.g. 2D for two days , 3W for three weeks, 6M for six months, 1Y for one year)</description> </Parameter> ! <Parameter name='BusinessDayConvention' enumeration='QuantLib::BusinessDayConvention' const='False' default='"Following"'> <type>string</type> <tensorRank>scalar</tensorRank> |
|
From: Ferdinando A. <na...@us...> - 2006-11-22 10:48:57
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv31156/gensrc/metadata Modified Files: index.xml Log Message: Index: index.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/index.xml,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** index.xml 31 Oct 2006 11:54:17 -0000 1.46 --- index.xml 22 Nov 2006 10:48:50 -0000 1.47 *************** *** 54,58 **** <Member name='qlIndexFixing' libraryClass='Index' loopParameter='fixingDate'> ! <description>retrive the fixing for the given Index object</description> <libraryFunction>fixing</libraryFunction> <SupportedPlatforms> --- 54,58 ---- <Member name='qlIndexFixing' libraryClass='Index' loopParameter='fixingDate'> ! <description>Returns the fixing for the given Index object. The fixing is retrieved from the time series if available, otherways it is forecasted.</description> <libraryFunction>fixing</libraryFunction> <SupportedPlatforms> *************** *** 66,73 **** <description>fixing date(s)</description> </Parameter> ! <Parameter name='forecastTodaysFixing' default='0' const='False'> <type>bool</type> <tensorRank>scalar</tensorRank> ! <description>forecast today's fixing even if the actual fixing is already available</description> </Parameter> </Parameters> --- 66,73 ---- <description>fixing date(s)</description> </Parameter> ! <Parameter name='forecastToday' default='0' const='False'> <type>bool</type> <tensorRank>scalar</tensorRank> ! <description>forces the forecasting of today's fixing even if the actual fixing is already available in the time series.</description> </Parameter> </Parameters> *************** *** 198,203 **** <Member name='qlInterestRateIndexForecastFixing' libraryClass='InterestRateIndex' loopParameter='fixingDate'> ! <description>retrive the fixing for the given Index object</description> ! <libraryFunction>fixing</libraryFunction> <SupportedPlatforms> <Excel/> --- 198,203 ---- <Member name='qlInterestRateIndexForecastFixing' libraryClass='InterestRateIndex' loopParameter='fixingDate'> ! <description>Returns the forecasted fixing for the given Index object. The fixing is forecasted even if avaible in the actual one is available in the time series.</description> ! <libraryFunction>forecastFixing</libraryFunction> <SupportedPlatforms> <Excel/> |
|
From: Ferdinando A. <na...@us...> - 2006-11-22 10:28:19
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv22560/gensrc/metadata Modified Files: calendar.xml Log Message: loop and default parameters Index: calendar.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/calendar.xml,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** calendar.xml 31 Oct 2006 19:01:17 -0000 1.33 --- calendar.xml 22 Nov 2006 10:28:16 -0000 1.34 *************** *** 25,29 **** </EnumerationMember> ! <EnumerationMember name='qlCalendarIsBusinessDay' enumeration='QuantLib::Calendar'> <description>returns TRUE if the date is a business day for the given calendar</description> <libraryFunction>isBusinessDay</libraryFunction> --- 25,29 ---- </EnumerationMember> ! <EnumerationMember name='qlCalendarIsBusinessDay' enumeration='QuantLib::Calendar' loopParameter='date'> <description>returns TRUE if the date is a business day for the given calendar</description> <libraryFunction>isBusinessDay</libraryFunction> *************** *** 35,39 **** <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>date</description> </Parameter> --- 35,39 ---- <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>date</description> </Parameter> *************** *** 42,50 **** <ReturnValue> <type>bool</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarIsHoliday' enumeration='QuantLib::Calendar'> <description>returns TRUE if the date is a holiday for the given calendar</description> <libraryFunction>isHoliday</libraryFunction> --- 42,50 ---- <ReturnValue> <type>bool</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarIsHoliday' enumeration='QuantLib::Calendar' loopParameter='date'> <description>returns TRUE if the date is a holiday for the given calendar</description> <libraryFunction>isHoliday</libraryFunction> *************** *** 56,60 **** <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>date</description> </Parameter> --- 56,60 ---- <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>date</description> </Parameter> *************** *** 63,71 **** <ReturnValue> <type>bool</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarIsEndOfMonth' enumeration='QuantLib::Calendar'> <description>returns TRUE if the date is last business day for the month in the given calendar</description> <libraryFunction>isEndOfMonth</libraryFunction> --- 63,71 ---- <ReturnValue> <type>bool</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarIsEndOfMonth' enumeration='QuantLib::Calendar' loopParameter='date'> <description>returns TRUE if the date is last business day for the month in the given calendar</description> <libraryFunction>isEndOfMonth</libraryFunction> *************** *** 77,81 **** <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>date</description> </Parameter> --- 77,81 ---- <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>date</description> </Parameter> *************** *** 84,92 **** <ReturnValue> <type>bool</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarEndOfMonth' enumeration='QuantLib::Calendar'> <description>returns the last business day in the given calendar of the month to which the given date belongs</description> <libraryFunction>endOfMonth</libraryFunction> --- 84,92 ---- <ReturnValue> <type>bool</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> ! <EnumerationMember name='qlCalendarEndOfMonth' enumeration='QuantLib::Calendar' loopParameter='date'> <description>returns the last business day in the given calendar of the month to which the given date belongs</description> <libraryFunction>endOfMonth</libraryFunction> *************** *** 98,102 **** <Parameter name='date' libraryType='QuantLib::Date' const='False'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>date</description> </Parameter> --- 98,102 ---- <Parameter name='date' libraryType='QuantLib::Date' const='False'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>date</description> </Parameter> *************** *** 105,109 **** <ReturnValue libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> --- 105,109 ---- <ReturnValue libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> *************** *** 187,191 **** </Procedure> ! <EnumerationMember name='qlCalendarAdjust' enumeration='QuantLib::Calendar'> <description>Adjusts a non-business day to the appropriate near business day according to a given calendar with respect to the given convention.</description> <libraryFunction>adjust</libraryFunction> --- 187,191 ---- </Procedure> ! <EnumerationMember name='qlCalendarAdjust' enumeration='QuantLib::Calendar' loopParameter='date'> <description>Adjusts a non-business day to the appropriate near business day according to a given calendar with respect to the given convention.</description> <libraryFunction>adjust</libraryFunction> *************** *** 197,204 **** <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>date to be adjusted</description> </Parameter> ! <Parameter name='BusinessDayConvention' enumeration='QuantLib::BusinessDayConvention' const='False'> <type>string</type> <tensorRank>scalar</tensorRank> --- 197,204 ---- <Parameter name='date' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>date to be adjusted</description> </Parameter> ! <Parameter name='BusinessDayConvention' enumeration='QuantLib::BusinessDayConvention' const='False' default='"Following"'> <type>string</type> <tensorRank>scalar</tensorRank> *************** *** 214,218 **** <ReturnValue libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> --- 214,218 ---- <ReturnValue libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> *************** *** 254,258 **** </EnumerationMember> ! <EnumerationMember name='qlCalendarBusinessDaysBetween' enumeration='QuantLib::Calendar'> <description>Returns the number of business days between two dates</description> <libraryFunction>businessDaysBetween</libraryFunction> --- 254,258 ---- </EnumerationMember> ! <EnumerationMember name='qlCalendarBusinessDaysBetween' enumeration='QuantLib::Calendar' loopParameter='firstDate'> <description>Returns the number of business days between two dates</description> <libraryFunction>businessDaysBetween</libraryFunction> *************** *** 264,268 **** <Parameter name='firstDate' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>scalar</tensorRank> <description>first date of the period</description> </Parameter> --- 264,268 ---- <Parameter name='firstDate' libraryType='QuantLib::Date'> <type>long</type> ! <tensorRank>vector</tensorRank> <description>first date of the period</description> </Parameter> *************** *** 286,290 **** <ReturnValue> <type>long</type> ! <tensorRank>scalar</tensorRank> </ReturnValue> </EnumerationMember> --- 286,290 ---- <ReturnValue> <type>long</type> ! <tensorRank>vector</tensorRank> </ReturnValue> </EnumerationMember> |
|
From: Eric E. <eri...@us...> - 2006-11-21 16:45:15
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv25271 Modified Files: todonando.txt Log Message: updates to network installer: - single common root directory for QLXL network build - include help file in build updates to launcher: - save startup actions even for preconfigured environments - additional startup actions - help file path Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** todonando.txt 21 Nov 2006 13:48:51 -0000 1.48 --- todonando.txt 21 Nov 2006 16:45:11 -0000 1.49 *************** *** 65,85 **** Eric - - date NA - auto_open ! - network launcher: can't create the framework, Workbooks, Docs, and xll folders ! - network launcher: actions are disabled in pre-defined environments ! - network launcher: add AddinDocs() - coerce between double and Quote - coerce between Handle<T> and T - coerce between period->date - coerce between YieldTermStructure, SwaptionVolStructure, etc -> TermStructure - - reutersFeed performances - - - sensitivity - - - discount factors output is not col/row enabled - ohparse as François VBA split --- 65,81 ---- Eric - auto_open ! - reutersFeed performances ! - DONE date NA ! - DONE network launcher: can't create the framework, Workbooks, Docs, and xll folders ! - DONE network launcher: actions are disabled in pre-defined environments ! - DONE network launcher: add AddinDocs() - coerce between double and Quote - coerce between Handle<T> and T - coerce between period->date - coerce between YieldTermStructure, SwaptionVolStructure, etc -> TermStructure - sensitivity - discount factors output is not col/row enabled - ohparse as François VBA split *************** *** 87,91 **** - increment version number - - network launcher: how to edit Laucher Actions, in synch with the Action menu --- 83,86 ---- |
|
From: Cristina D. <cdu...@us...> - 2006-11-21 13:53:12
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv17111/qlo Modified Files: swap.cpp swap.hpp Log Message: Removed Swap constructor using only two legs. Index: swap.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swap.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** swap.cpp 21 Nov 2006 08:11:40 -0000 1.18 --- swap.cpp 21 Nov 2006 13:53:09 -0000 1.19 *************** *** 30,43 **** namespace QuantLibAddin { - Swap::Swap(const boost::shared_ptr<CashFlowStream>& paidLegWrapper, - const boost::shared_ptr<CashFlowStream>& recvLegWrapper, - const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS) - { - const Leg& paidLeg = paidLegWrapper->getVector(); - const Leg& recvLeg = recvLegWrapper->getVector(); - libraryObject_ = boost::shared_ptr<QuantLib::Instrument>( - new QuantLib::Swap(hYTS, paidLeg, recvLeg)); - } - Swap::Swap(const std::vector<boost::shared_ptr<CashFlowStream> >& legWrappers, const std::vector<bool>& payer, --- 30,33 ---- Index: swap.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swap.hpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** swap.hpp 21 Nov 2006 08:11:40 -0000 1.15 --- swap.hpp 21 Nov 2006 13:53:09 -0000 1.16 *************** *** 30,36 **** class Swap : public Instrument { public: - Swap(const boost::shared_ptr<CashFlowStream>& paidLegWrapper, - const boost::shared_ptr<CashFlowStream>& recvLegWrapper, - const QuantLib::Handle<QuantLib::YieldTermStructure>& hYTS); Swap(const std::vector<boost::shared_ptr<CashFlowStream> >& legWrappers, const std::vector<bool>& payer, --- 30,33 ---- |
|
From: Cristina D. <cdu...@us...> - 2006-11-21 13:51:29
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv16356/gensrc/metadata Modified Files: swap.xml Log Message: Removed old "qlSwap" constructor. "qlSwap2" constructor renamed as qlSwap. Index: swap.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swap.xml,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** swap.xml 21 Nov 2006 08:11:39 -0000 1.37 --- swap.xml 21 Nov 2006 13:51:26 -0000 1.38 *************** *** 24,53 **** <ParameterList> <Parameters> - <Parameter name='paidLegID' objectClass='CashFlowStream'> - <type>string</type> - <tensorRank>scalar</tensorRank> - <description>paid leg</description> - </Parameter> - <Parameter name='recvLegID' objectClass='CashFlowStream'> - <type>string</type> - <tensorRank>scalar</tensorRank> - <description>receveid leg</description> - </Parameter> - <Parameter name='termStructureID' libToHandle='YieldTermStructure'> - <type>string</type> - <tensorRank>scalar</tensorRank> - <description>discounting term structure</description> - </Parameter> - </Parameters> - </ParameterList> - </Constructor> - - <Constructor name='qlSwap2'> - <libraryFunction>Swap</libraryFunction> - <SupportedPlatforms> - <Excel/> - </SupportedPlatforms> - <ParameterList> - <Parameters> <Parameter name='legIDs' objectClass='CashFlowStream'> <type>string</type> --- 24,27 ---- *************** *** 60,67 **** <description>TRUE for payed leg</description> </Parameter> ! <Parameter name='termStructureID' libToHandle='YieldTermStructure'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>discounting term structure</description> </Parameter> </Parameters> --- 34,41 ---- <description>TRUE for payed leg</description> </Parameter> ! <Parameter name='termStructure' libToHandle='YieldTermStructure'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>The ID of the discounting term structure</description> </Parameter> </Parameters> |
|
From: Cristina D. <cdu...@us...> - 2006-11-21 13:49:17
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15413/gensrc/metadata Modified Files: schedule.xml Log Message: Shortened input parameter name Index: schedule.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/schedule.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** schedule.xml 6 Nov 2006 09:13:10 -0000 1.19 --- schedule.xml 21 Nov 2006 13:49:14 -0000 1.20 *************** *** 41,45 **** <description>accrual dates business day convention</description> </Parameter> ! <Parameter name='terminationDateConvention' enumeration='QuantLib::BusinessDayConvention'> <type>string</type> <tensorRank>scalar</tensorRank> --- 41,45 ---- <description>accrual dates business day convention</description> </Parameter> ! <Parameter name='termDateConv' enumeration='QuantLib::BusinessDayConvention'> <type>string</type> <tensorRank>scalar</tensorRank> |
|
From: Marco B. <mar...@us...> - 2006-11-21 13:48:59
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15039 Modified Files: todonando.txt Log Message: checked apparent task overlapping for Marco & Chiara Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** todonando.txt 21 Nov 2006 08:38:12 -0000 1.47 --- todonando.txt 21 Nov 2006 13:48:51 -0000 1.48 *************** *** 53,67 **** Chiara - bond (cms) ! - check yield curve repricing (swaps) ! - futures conv adj and swap repricing - perche' lo yield non ha la frequenza? - fare tutti i metodi dei bond restituiscano un InterestRate - i ThMethod perche' non accettano anche loro una Date settlementDate = Date()? ! Marco ! - check yield curve repricing (depo, futures) - add new flag: depo only to cover First Future stub period ! - drop-down menu su enumeration ! - controllare grafico forward rates - improve interpolations --- 53,65 ---- Chiara - bond (cms) ! - futures conv adj and pricing of swaps not included in bootstrapping - perche' lo yield non ha la frequenza? - fare tutti i metodi dei bond restituiscano un InterestRate - i ThMethod perche' non accettano anche loro una Date settlementDate = Date()? ! M. ! - wkb for check yield curve repricing (depo, futures, swaps) and graph forward rates - add new flag: depo only to cover First Future stub period ! - drop-down menu on enumeration - improve interpolations |
|
From: Giorgio F. <gi...@us...> - 2006-11-21 09:31:41
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv1324/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.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** enumtypes.xml 7 Nov 2006 15:39:19 -0000 1.28 --- enumtypes.xml 21 Nov 2006 09:31:34 -0000 1.29 *************** *** 1184,1187 **** --- 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> Index: cmsmarket.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/cmsmarket.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** cmsmarket.xml 21 Nov 2006 08:11:39 -0000 1.15 --- cmsmarket.xml 21 Nov 2006 09:31:34 -0000 1.16 *************** *** 103,107 **** <Member name='qlSimultaneousCalibration' libraryClass='SmileAndCmsCalibrationBySabr'> ! <description>Return the best beta</description> <libraryFunction>calibration</libraryFunction> <SupportedPlatforms> --- 103,107 ---- <Member name='qlSimultaneousCalibration' libraryClass='SmileAndCmsCalibrationBySabr'> ! <description>Return the best beta and mean reversion</description> <libraryFunction>calibration</libraryFunction> <SupportedPlatforms> *************** *** 110,113 **** --- 110,118 ---- <ParameterList> <Parameters> + <Parameter name='OptimMethod' enumeration='QuantLib::SmileAndCmsCalibrationBySabr::OptimMethod'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>optimization method (e.g. DownHillSimplex, ConjugateGradient)</description> + </Parameter> </Parameters> </ParameterList> |
|
From: Ferdinando A. <na...@us...> - 2006-11-21 08:38:15
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv10954 Modified Files: todonando.txt Log Message: Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** todonando.txt 20 Nov 2006 12:19:57 -0000 1.46 --- todonando.txt 21 Nov 2006 08:38:12 -0000 1.47 *************** *** 14,17 **** --- 14,20 ---- - spostare YieldCurveMonitor in Tests - new end of day live feed snapshot procedure + - CALENDAR functions: default parameter (Following doesn't work) + - DAYCOUNTER functions: default parameter? + - DAYCOUNTER functions: loop parameters K *************** *** 64,90 **** Eric ! - performance ! - launcher ! - sensitivity - auto_open ! - discount factors output is not col/row enabled ! - reutersFeed performances ! - esporre ad excel i metodi commentati in payoff.xml ! - increment version number - coerce between double and Quote - coerce between Handle<T> and T - coerce between period->date ! - ohparse. as Fronçois split ! - visitor pattern per 3rd parameter dei payoff ! - name lock-up ! - CALENDAR functions: default parameter (Following doesn't work) ! - DAYCOUNTER functions: default parameter? ! - DAYCOUNTER functions: loop parameters ! - bug in InterestRateQuoteFeed ! - network launcher: can't create the framework, Workbooks, and xll folders ! - network launcher: actions are disabled in pre-defined environments ! - network launcher: addinFolder() beside AddinPath() which includes the xll name ! - network launcher: how to edit Laucher Actions, in synch with the Action menu - QuantLibXL menu before windows --- 67,97 ---- Eric ! - date NA - auto_open ! - network launcher: can't create the framework, Workbooks, Docs, and xll folders ! - network launcher: actions are disabled in pre-defined environments ! - network launcher: add AddinDocs() - coerce between double and Quote - coerce between Handle<T> and T - coerce between period->date ! - coerce between YieldTermStructure, SwaptionVolStructure, etc -> TermStructure ! - reutersFeed performances ! ! ! ! - sensitivity ! ! ! ! - discount factors output is not col/row enabled ! - ohparse as François VBA split - QuantLibXL menu before windows + - increment version number + + + - network launcher: how to edit Laucher Actions, in synch with the Action menu + + - esporre ad excel i metodi commentati in payoff.xml + - visitor pattern per 3rd parameter dei payoff |
|
From: Giorgio F. <gi...@us...> - 2006-11-21 08:11:44
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv31049/qlo Modified Files: cmsmarket.cpp cmsmarket.hpp couponvectors.cpp couponvectors.hpp enumclassctors.cpp enumclassctors.hpp swap.cpp swap.hpp typefactory.hpp Log Message: cms pricer Index: couponvectors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.hpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** couponvectors.hpp 14 Nov 2006 12:09:43 -0000 1.29 --- couponvectors.hpp 21 Nov 2006 08:11:40 -0000 1.30 *************** *** 38,42 **** std::vector<std::vector<boost::any> > analysis() const; const Leg& getVector(); ! protected: Leg cashFlowVector_; }; --- 38,42 ---- std::vector<std::vector<boost::any> > analysis() const; const Leg& getVector(); ! protected: Leg cashFlowVector_; }; *************** *** 75,80 **** class VanillaCMSCouponPricer:public ObjHandler::LibraryObject<QuantLib::VanillaCMSCouponPricer> { public: ! VanillaCMSCouponPricer(const std::string &typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> underlyingObject() { --- 75,82 ---- class VanillaCMSCouponPricer:public ObjHandler::LibraryObject<QuantLib::VanillaCMSCouponPricer> { public: ! VanillaCMSCouponPricer(const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion); boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> underlyingObject() { *************** *** 83,90 **** }; ! class ConundrumPricer : public VanillaCMSCouponPricer { ! public: ! ConundrumPricer(const std::string &typeOfVanillaCMSCouponPricer); ! }; class CMSCouponVector : public CashFlowStream { --- 85,96 ---- }; ! //class ConundrumPricer : public VanillaCMSCouponPricer { ! // public: ! // ConundrumPricer( ! // const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! // const std::string & typeOfVanillaCMSCouponPricer, ! // const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! // QuantLib::Real meanReversion); ! //}; class CMSCouponVector : public CashFlowStream { *************** *** 101,108 **** const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); }; --- 107,111 ---- const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer); }; *************** *** 120,127 **** const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); }; --- 123,127 ---- const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer); }; *************** *** 139,146 **** const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); }; --- 139,143 ---- const std::vector<QuantLib::Real>& caps, const std::vector<QuantLib::Real>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer); }; Index: couponvectors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/couponvectors.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** couponvectors.cpp 14 Nov 2006 12:09:43 -0000 1.41 --- couponvectors.cpp 21 Nov 2006 08:11:40 -0000 1.42 *************** *** 100,108 **** VanillaCMSCouponPricer::VanillaCMSCouponPricer( ! const std::string &typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { libraryObject_ = Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >() ! (typeOfVanillaCMSCouponPricer,modelOfYieldCurve); } --- 100,110 ---- VanillaCMSCouponPricer::VanillaCMSCouponPricer( ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! QuantLib::Real meanReversion) { libraryObject_ = Create<boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >() ! (typeOfVanillaCMSCouponPricer,vol,modelOfYieldCurve, meanReversion); } *************** *** 118,128 **** const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { - VanillaCMSCouponPricer vanillaCMSCouponPricer(typeOfVanillaCMSCouponPricer,modelOfYieldCurve); - boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = vanillaCMSCouponPricer.underlyingObject(); cashFlowVector_ = QuantLib::CMSCouponVector(*schedule, paymentAdjustment, --- 120,125 ---- const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer) { cashFlowVector_ = QuantLib::CMSCouponVector(*schedule, paymentAdjustment, *************** *** 135,141 **** caps, floors, ! meanReversions, ! pricer, ! vol); } --- 132,136 ---- caps, floors, ! pricer); } *************** *** 151,161 **** const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { - VanillaCMSCouponPricer vanillaCMSCouponPricer(typeOfVanillaCMSCouponPricer,modelOfYieldCurve); - boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = vanillaCMSCouponPricer.underlyingObject(); cashFlowVector_ = QuantLib::CMSZeroCouponVector(*schedule, paymentAdjustment, --- 146,151 ---- const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer) { cashFlowVector_ = QuantLib::CMSZeroCouponVector(*schedule, paymentAdjustment, *************** *** 168,174 **** caps, floors, ! meanReversions, ! pricer, ! vol); } --- 158,162 ---- caps, floors, ! pricer); } *************** *** 185,195 **** const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const std::vector<QuantLib::Real>& meanReversions, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { - VanillaCMSCouponPricer vanillaCMSCouponPricer(typeOfVanillaCMSCouponPricer,modelOfYieldCurve); - boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = vanillaCMSCouponPricer.underlyingObject(); cashFlowVector_ = QuantLib::CMSInArrearsCouponVector(*schedule, paymentAdjustment, --- 173,178 ---- const std::vector<QuantLib::Rate>& caps, const std::vector<QuantLib::Rate>& floors, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer) { cashFlowVector_ = QuantLib::CMSInArrearsCouponVector(*schedule, paymentAdjustment, *************** *** 202,208 **** caps, floors, ! meanReversions, ! pricer, ! vol); } --- 185,189 ---- caps, floors, ! pricer); } Index: cmsmarket.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/cmsmarket.hpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** cmsmarket.hpp 14 Nov 2006 11:18:24 -0000 1.9 --- cmsmarket.hpp 21 Nov 2006 08:11:40 -0000 1.10 *************** *** 37,45 **** const std::vector< boost::shared_ptr<QuantLib::SwapIndex> >& swapIndices, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& bidAskSpreads, - const QuantLib::Matrix& meanReversions, const QuantLib::Handle<QuantLib::YieldTermStructure>& yieldTermStructure, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& volStructure, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); const std::vector<std::vector<boost::any> > getCmsMarket() --- 37,42 ---- const std::vector< boost::shared_ptr<QuantLib::SwapIndex> >& swapIndices, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& bidAskSpreads, const QuantLib::Handle<QuantLib::YieldTermStructure>& yieldTermStructure, ! const std::vector< boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >& pricers); const std::vector<std::vector<boost::any> > getCmsMarket() Index: cmsmarket.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/cmsmarket.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** cmsmarket.cpp 14 Nov 2006 11:18:24 -0000 1.13 --- cmsmarket.cpp 21 Nov 2006 08:11:40 -0000 1.14 *************** *** 31,42 **** const std::vector< boost::shared_ptr<QuantLib::SwapIndex> >& swapIndices, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& bidAskSpreads, - const QuantLib::Matrix& meanReversions, const QuantLib::Handle<QuantLib::YieldTermStructure>& yieldTermStructure, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& volStructure, ! const std::string & typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { ! ! VanillaCMSCouponPricer vanillaCMSCouponPricer(typeOfVanillaCMSCouponPricer,modelOfYieldCurve); ! boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = vanillaCMSCouponPricer.underlyingObject(); libraryObject_ = boost::shared_ptr<QuantLib::CmsMarket>( --- 31,36 ---- const std::vector< boost::shared_ptr<QuantLib::SwapIndex> >& swapIndices, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& bidAskSpreads, const QuantLib::Handle<QuantLib::YieldTermStructure>& yieldTermStructure, ! const std::vector< boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> >& pricers) { libraryObject_ = boost::shared_ptr<QuantLib::CmsMarket>( *************** *** 44,52 **** expiries, swapIndices, ! bidAskSpreads, ! meanReversions, ! pricer, ! yieldTermStructure, ! volStructure)); cmsMarket_ = libraryObject_->browse(); } --- 38,44 ---- expiries, swapIndices, ! bidAskSpreads, ! pricers, ! yieldTermStructure)); cmsMarket_ = libraryObject_->browse(); } *************** *** 54,58 **** std::vector<std::vector<boost::any> > browseCmsMarket(QuantLib::Matrix & cmsMarket){ std::vector<std::vector<boost::any> > result; ! QuantLib::Size numberOfColumn = 18; std::vector<boost::any> headings(numberOfColumn); --- 46,50 ---- std::vector<std::vector<boost::any> > browseCmsMarket(QuantLib::Matrix & cmsMarket){ std::vector<std::vector<boost::any> > result; ! QuantLib::Size numberOfColumn = 19; std::vector<boost::any> headings(numberOfColumn); *************** *** 65,79 **** 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"); headings[11]=std::string("Model Price Cms Leg"); 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"); result.push_back(headings); --- 57,75 ---- 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"); headings[11]=std::string("Model Price Cms Leg"); 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: enumclassctors.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.hpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** enumclassctors.hpp 13 Nov 2006 09:35:40 -0000 1.27 --- enumclassctors.hpp 21 Nov 2006 08:11:40 -0000 1.28 *************** *** 160,167 **** boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve ); boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve ); /* *** 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.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** typefactory.hpp 13 Nov 2006 09:35:40 -0000 1.47 --- typefactory.hpp 21 Nov 2006 08:11:40 -0000 1.48 *************** *** 233,237 **** /* *** VanillaCMSCouponPricer *** */ typedef boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>(*VanillaCMSCouponPricerConstructor)( ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve); 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<> *************** *** 241,248 **** boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> operator() ( const std::string& vanillaCMSCouponPricerID, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve) { VanillaCMSCouponPricerConstructor vanillaCMSCouponPricerConstructor = (VanillaCMSCouponPricerConstructor)(getType(vanillaCMSCouponPricerID)); ! return vanillaCMSCouponPricerConstructor(modelOfYieldCurve); } }; --- 243,252 ---- 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)); ! return vanillaCMSCouponPricerConstructor(swaptionVol,modelOfYieldCurve, meanReversion); } }; Index: swap.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swap.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** swap.cpp 6 Nov 2006 10:29:41 -0000 1.17 --- swap.cpp 21 Nov 2006 08:11:40 -0000 1.18 *************** *** 56,72 **** const boost::shared_ptr<QuantLib::SwapIndex>& swapIndex, const QuantLib::Spread iborSpread, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string& typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! const QuantLib::Real meanReversion, ! //const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer, const QuantLib::Period& forwardStart) { - VanillaCMSCouponPricer vanillaCMSCouponPricer( - typeOfVanillaCMSCouponPricer, modelOfYieldCurve); - boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> pricer = - vanillaCMSCouponPricer.underlyingObject(); libraryObject_ = QuantLib::MakeCMS(swapTenor, swapIndex, iborSpread, ! vol, meanReversion, pricer, forwardStart).operator boost::shared_ptr<QuantLib::Swap>(); } --- 56,64 ---- const boost::shared_ptr<QuantLib::SwapIndex>& swapIndex, const QuantLib::Spread iborSpread, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer, const QuantLib::Period& forwardStart) { libraryObject_ = QuantLib::MakeCMS(swapTenor, swapIndex, iborSpread, ! pricer, forwardStart).operator boost::shared_ptr<QuantLib::Swap>(); } Index: enumclassctors.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/enumclassctors.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** enumclassctors.cpp 16 Nov 2006 14:00:25 -0000 1.31 --- enumclassctors.cpp 21 Nov 2006 08:11:40 -0000 1.32 *************** *** 349,360 **** //VanillaCMSCouponPricer boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_BLACK_Pricer( ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( ! new QuantLib::ConundrumPricerByBlack(modelOfYieldCurve)); }; boost::shared_ptr<QuantLib::VanillaCMSCouponPricer> CONUNDRUM_BY_NUMERICAL_INTEGRATION_Pricer( ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve ){ return boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>( ! new QuantLib::ConundrumPricerByNumericalIntegration(modelOfYieldCurve)); }; --- 349,364 ---- //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: swap.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/swap.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** swap.hpp 6 Nov 2006 10:29:41 -0000 1.14 --- swap.hpp 21 Nov 2006 08:11:40 -0000 1.15 *************** *** 40,48 **** const boost::shared_ptr<QuantLib::SwapIndex>& swapIndex, const QuantLib::Spread iborSpread, ! const QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>& vol, ! const std::string& typeOfVanillaCMSCouponPricer, ! const QuantLib::GFunctionFactory::ModelOfYieldCurve modelOfYieldCurve, ! const QuantLib::Real meanReversion, ! //const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer, const QuantLib::Period& forwardStart); --- 40,44 ---- const boost::shared_ptr<QuantLib::SwapIndex>& swapIndex, const QuantLib::Spread iborSpread, ! const boost::shared_ptr<QuantLib::VanillaCMSCouponPricer>& pricer, const QuantLib::Period& forwardStart); |
|
From: Giorgio F. <gi...@us...> - 2006-11-21 08:11:43
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv31049/gensrc/metadata Modified Files: cmsmarket.xml couponvectors.xml swap.xml Log Message: cms pricer Index: couponvectors.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/couponvectors.xml,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** couponvectors.xml 14 Nov 2006 12:09:43 -0000 1.44 --- couponvectors.xml 21 Nov 2006 08:11:39 -0000 1.45 *************** *** 144,166 **** <description>floors</description> </Parameter> ! <Parameter name='meanReversions'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>mean reversions</description> ! </Parameter> ! <Parameter name='volatility' libToHandle='SwaptionVolatilityStructure'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Swaption Volatility Structure object ID</description> ! </Parameter> ! <Parameter name='VanillaCMSCouponPricerType'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Vanilla CMS Coupon Pricer Type (e.g ConundrumByBlack, ConundrumByNumericalIntegration)</description> ! </Parameter> ! <Parameter name='yieldCurveModel' enumeration='QuantLib::GFunctionFactory::ModelOfYieldCurve'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>yield curve model for convexity adjustment (e.g Standard, ExactYield, ParallelShifts, NonParallelShifts)</description> </Parameter> </Parameters> --- 144,151 ---- <description>floors</description> </Parameter> ! <Parameter name='CmsCouponPricer' libraryClass='VanillaCMSCouponPricer'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>Cms coupon pricer</description> </Parameter> </Parameters> *************** *** 225,247 **** <description>floors</description> </Parameter> ! <Parameter name='meanReversions'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>mean reversions</description> ! </Parameter> ! <Parameter name='volatility' libToHandle='SwaptionVolatilityStructure'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Swaption Volatility Structure</description> ! </Parameter> ! <Parameter name='VanillaCMSCouponPricerType'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Vanilla CMS Coupon Pricer Type (e.g ConundrumByBlack, ConundrumByNumericalIntegration)</description> ! </Parameter> ! <Parameter name='modelOfYieldCurve' enumeration='QuantLib::GFunctionFactory::ModelOfYieldCurve'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>model Of YieldCurve (e.g Standard, ExactYield, ParallelShifts, NonParallelShifts)</description> </Parameter> </Parameters> --- 210,217 ---- <description>floors</description> </Parameter> ! <Parameter name='CmsCouponPricer' libraryClass='VanillaCMSCouponPricer'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>Cms coupon pricer</description> </Parameter> </Parameters> *************** *** 306,314 **** <description>floors</description> </Parameter> ! <Parameter name='meanReversions'> ! <type>double</type> ! <tensorRank>vector</tensorRank> ! <description>mean reversions</description> </Parameter> <Parameter name='volatility' libToHandle='SwaptionVolatilityStructure'> <type>string</type> --- 276,295 ---- <description>floors</description> </Parameter> ! <Parameter name='CmsCouponPricer' libraryClass='VanillaCMSCouponPricer'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Cms coupon pricer</description> </Parameter> + </Parameters> + </ParameterList> + </Constructor> + + <Constructor name='qlCmsCouponPricer'> + <libraryFunction>VanillaCMSCouponPricer</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> <Parameter name='volatility' libToHandle='SwaptionVolatilityStructure'> <type>string</type> *************** *** 326,329 **** --- 307,315 ---- <description>model Of YieldCurve (e.g Standard, ExactYield, ParallelShifts, NonParallelShifts)</description> </Parameter> + <Parameter name='meanReversion'> + <type>double</type> + <tensorRank>scalar</tensorRank> + <description>mean reversion</description> + </Parameter> </Parameters> </ParameterList> Index: swap.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/swap.xml,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** swap.xml 16 Nov 2006 13:31:40 -0000 1.36 --- swap.xml 21 Nov 2006 08:11:39 -0000 1.37 *************** *** 91,113 **** <description>spread over the ibor leg</description> </Parameter> ! <Parameter name='volatility' libToHandle='SwaptionVolatilityStructure'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Swaption Volatility Structure object ID</description> ! </Parameter> ! <Parameter name='VanillaCMSCouponPricerType'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Vanilla CMS Coupon Pricer Type (e.g ConundrumByBlack, ConundrumByNumericalIntegration)</description> ! </Parameter> ! <Parameter name='yieldCurveModel' enumeration='QuantLib::GFunctionFactory::ModelOfYieldCurve'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>yield curve model for convexity adjustment (e.g Standard, ExactYield, ParallelShifts, NonParallelShifts)</description> ! </Parameter> ! <Parameter name='meanReversion'> ! <type>double</type> ! <tensorRank>scalar</tensorRank> ! <description>mean reversion</description> </Parameter> <!--<Parameter name='forwardStart' libraryType='QuantLib::Period' default='0*QuantLib::Days'>--> --- 91,98 ---- <description>spread over the ibor leg</description> </Parameter> ! <Parameter name='CmsCouponPricer' libraryClass='VanillaCMSCouponPricer'> <type>string</type> <tensorRank>scalar</tensorRank> ! <description>Cms coupon pricer</description> </Parameter> <!--<Parameter name='forwardStart' libraryType='QuantLib::Period' default='0*QuantLib::Days'>--> Index: cmsmarket.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/cmsmarket.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** cmsmarket.xml 14 Nov 2006 11:18:24 -0000 1.14 --- cmsmarket.xml 21 Nov 2006 08:11:39 -0000 1.15 *************** *** 6,9 **** --- 6,10 ---- <include>ql/Volatilities/cmsmarket.hpp</include> <include>qlo/cmsmarket.hpp</include> + <include>qlo/couponvectors.hpp</include> <include>qlo/swaptionvolstructure.hpp</include> </includes> *************** *** 38,46 **** <description>matrix of bid and ask cms spreads quotes.</description> </Parameter> - <Parameter name='meanReversions' libraryType='QuantLib::Matrix'> - <type>double</type> - <tensorRank>matrix</tensorRank> - <description>mean reversions.</description> - </Parameter> <Parameter name='YTStructure' libToHandle='YieldTermStructure'> <type>string</type> --- 39,42 ---- *************** *** 48,65 **** <description>Yield term structure</description> </Parameter> ! <Parameter name='volStructure' libToHandle='SwaptionVolatilityStructure'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Volatility structure</description> ! </Parameter> ! <Parameter name='VanillaCMSCouponPricerType'> ! <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>Vanilla CMS Coupon Pricer Type (e.g ConundrumByBlack, ConundrumByNumericalIntegration)</description> ! </Parameter> ! <Parameter name='modelOfYieldCurve' enumeration='QuantLib::GFunctionFactory::ModelOfYieldCurve'> <type>string</type> ! <tensorRank>scalar</tensorRank> ! <description>model Of YieldCurve (e.g Standard, ExactYield, ParallelShifts, NonParallelShifts)</description> </Parameter> </Parameters> --- 44,51 ---- <description>Yield term structure</description> </Parameter> ! <Parameter name='CmsCouponPricer' libraryClass='VanillaCMSCouponPricer'> <type>string</type> ! <tensorRank>vector</tensorRank> ! <description>Cms coupon pricer</description> </Parameter> </Parameters> |
|
From: Ferdinando A. <na...@us...> - 2006-11-20 12:20:03
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv10409 Modified Files: todonando.txt Log Message: Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** todonando.txt 17 Nov 2006 20:42:24 -0000 1.45 --- todonando.txt 20 Nov 2006 12:19:57 -0000 1.46 *************** *** 1,32 **** François - consolidare tutti i multistep in un'unico test - use MakeCapFloor in Excel test wkb Cristina ! - cap/floor coupon - test Mx sul 29/9 - foglio swaption per De Nuccio / Murex - K - - abcd per tenore, displacement - - trimestrale - - risposta DRM - Giorgio - SwaptionVolCube observability and lazyness - esporre metodi swaption con tenor - cmsspreadhelper ??? - esporre costruttore CMS pricer ad excel (con vol, model, conundrum, reversion) - automatizzare calibrazioni - - ripristinare controlli su fit sabr - - Marco - - check yield curve Chiara - futures conv adj and swap repricing ! - bond Eric - reutersFeed performances - esporre ad excel i metodi commentati in payoff.xml --- 1,72 ---- + - nome dei parametri nel wizard + * remove obsolete drafts + * move all test in the Test folder + + Nando + - bloomberg, Menabeni, Rinaldo + - demo Munari (mergeLeg, addLeg) + - 0.3.14 wbk + - alternative calibrations with null rho + - ripristinare generalità for SABR + - make BlackCalculator observer/observable, make it lazy + - riordinare costruttore swap + - rename in all pricer "Yield Curve" as "Discounting Yield Curve" + - spostare YieldCurveMonitor in Tests + - new end of day live feed snapshot procedure + + K + - contratti + - trimestrale + - risposta DRM + - eliminare today() dal CMS + - trigger nei pricers + - EURYC -> EURYCH, EURYC2->EURYC, EURYCMX2->EURYCMX + - revise index wbks + - abcd per tenore, displacement + - add abcd interpolation + François + - safe snapshot (check live feed == TRUE, else disable button) - consolidare tutti i multistep in un'unico test - use MakeCapFloor in Excel test wkb + - include future options in vol cap stripping Cristina ! - dismettere qlSwap in favore di qlSwap2 - test Mx sul 29/9 + - update schedule wbk + - cap/floor coupon - foglio swaption per De Nuccio / Murex Giorgio + - cms put-call parity in Excel - SwaptionVolCube observability and lazyness + - ripristinare controlli su fit sabr - esporre metodi swaption con tenor - cmsspreadhelper ??? - esporre costruttore CMS pricer ad excel (con vol, model, conundrum, reversion) - automatizzare calibrazioni Chiara + - bond (cms) + - check yield curve repricing (swaps) - futures conv adj and swap repricing ! - perche' lo yield non ha la frequenza? ! - fare tutti i metodi dei bond restituiscano un InterestRate ! - i ThMethod perche' non accettano anche loro una Date settlementDate = Date()? ! ! Marco ! - check yield curve repricing (depo, futures) ! - add new flag: depo only to cover First Future stub period ! - drop-down menu su enumeration ! - controllare grafico forward rates ! - improve interpolations Eric + - performance + - launcher + - sensitivity + - auto_open + - discount factors output is not col/row enabled - reutersFeed performances - esporre ad excel i metodi commentati in payoff.xml *************** *** 38,51 **** - visitor pattern per 3rd parameter dei payoff - name lock-up QuantLib - use atmrate where possible - - riordinare costruttore swap - swaptionvolcube as observer/observable, lazy - cash rebate è multistep? - - ripristinare generalità fir SABR - aggiungere Forward all'enumeration Call/Put - fissare Gap, SuperShare, etc - - make BlackCalculator observer/observable, make it lazy - fix convertible faceamount bug - deprecate swaptionvol time interface --- 78,102 ---- - visitor pattern per 3rd parameter dei payoff - name lock-up + - CALENDAR functions: default parameter (Following doesn't work) + - DAYCOUNTER functions: default parameter? + - DAYCOUNTER functions: loop parameters + - bug in InterestRateQuoteFeed + - network launcher: can't create the framework, Workbooks, and xll folders + - network launcher: actions are disabled in pre-defined environments + - network launcher: addinFolder() beside AddinPath() which includes the xll name + - network launcher: how to edit Laucher Actions, in synch with the Action menu + - QuantLibXL menu before windows + QuantLib + * ratchet instrument + - use atmRate for fixed rate equivalent of a given NPV, and create similar + iborFloatingSpread function + - clean up index fixing calendar - use atmrate where possible - swaptionvolcube as observer/observable, lazy - cash rebate è multistep? - aggiungere Forward all'enumeration Call/Put - fissare Gap, SuperShare, etc - fix convertible faceamount bug - deprecate swaptionvol time interface *************** *** 54,60 **** - SWAP implement fair rate for floating/fixed rate vector - add SABR factory - - add abcd interpolation - use boost random number generators ! - COUPON refactoring - Volatility assume a daycounter in the same way as rate (see InterestRate) - ForwardSpreadedCurve con spread term structure --- 105,110 ---- - SWAP implement fair rate for floating/fixed rate vector - add SABR factory - use boost random number generators ! - COUPON refactoring: floating coupon as cms, use new engines - Volatility assume a daycounter in the same way as rate (see InterestRate) - ForwardSpreadedCurve con spread term structure *************** *** 70,76 **** QuantLib BOND - - perche' lo yield non ha la frequenza? - - fare tutti i metodi che restituiscono un InterestRate - - i ThMethod perche' non accettano anche loro una Date settlementDate = Date()? QuantLib RATEHELPERS --- 120,123 ---- *************** *** 78,83 **** QuantLib YIELDCURVEBOOTSTRAP - - add new flag: depo only to cover stub period - - bootstrap: First Future stub period flag QuantLib PIECEWISEYIELDCURVE --- 125,128 ---- *************** *** 86,90 **** - extended grid with all relevant dates - revise bondhelpers - - ratehelper usato da piu' curve: funziona? - bootstrap ForwardSpreadedYieldCurve --- 131,134 ---- *************** *** 105,108 **** --- 149,153 ---- QUANTLIBADDIN + - capped/fllored floating leg bond - RSG factory - export ImpliedCurve *************** *** 118,136 **** QUANTLIBXL WORKBOOKS ! - YieldCurveMonitor in Tests ! - bug in InterestRateQuoteFeed ! - nel ControlPanel dare evidenza del feed CMS ! - move all test in the Test folder ! - remove old drafts - Property example? - SWAPTION spreadsheet with multiple prices - all spreadsheets with grid prices - - why RateHelpersReutersFeed keeps changing? - merge old QuantLibXL functions - more calendar drop down cell menu ! - CALENDAR: default parameter (Following doesn't work) ! - DAYCOUNTER: default parameter? ! - DAYCOUNTER: loop parameters ! - YYYYDDMM_HHMM timestamp in log file name doesn't work second time - file name cannot be changed without time - INSTALLER: Excel must be closed --- 163,174 ---- QUANTLIBXL WORKBOOKS ! * manual import of BGM book ! - nel ControlPanel dare evidenza dei feed: CMS - Property example? - SWAPTION spreadsheet with multiple prices - all spreadsheets with grid prices - merge old QuantLibXL functions - more calendar drop down cell menu ! - YYYYDDMM_HHMM timestamp in log file name doesn't work the second time - file name cannot be changed without time - INSTALLER: Excel must be closed *************** *** 143,148 **** QUANTLIB network launcher - - it can't create the framework, Workbooks, and xll folders - - the actions are disabled if you choose a pre-defined environment. - - addinFolder() beside AddinPath() which includes the xll name - - edit the Laucher Actions, in synch with the actual Action menu --- 181,182 ---- |
|
From: Eric E. <eri...@us...> - 2006-11-19 13:09:22
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23547 Modified Files: QuantLibObjects.vcproj QuantLibObjects_vc8.vcproj Log Message: support for coercion Index: QuantLibObjects_vc8.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/QuantLibObjects_vc8.vcproj,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** QuantLibObjects_vc8.vcproj 16 Nov 2006 12:39:21 -0000 1.52 --- QuantLibObjects_vc8.vcproj 19 Nov 2006 13:08:42 -0000 1.53 *************** *** 982,985 **** --- 982,989 ---- > <File + RelativePath=".\qlo\Conversions\all.hpp" + > + </File> + <File RelativePath=".\qlo\Conversions\conversions.cpp" > *************** *** 989,992 **** --- 993,1008 ---- > </File> + <File + RelativePath=".\qlo\Conversions\enumorobject.hpp" + > + </File> + <File + RelativePath=".\qlo\Conversions\handletoobject.hpp" + > + </File> + <File + RelativePath=".\qlo\Conversions\objecttohandle.hpp" + > + </File> </Filter> <File Index: QuantLibObjects.vcproj =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/QuantLibObjects.vcproj,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** QuantLibObjects.vcproj 16 Nov 2006 12:39:21 -0000 1.43 --- QuantLibObjects.vcproj 19 Nov 2006 13:08:41 -0000 1.44 *************** *** 836,839 **** --- 836,842 ---- Filter=""> <File + RelativePath=".\qlo\Conversions\all.hpp"> + </File> + <File RelativePath=".\qlo\Conversions\conversions.cpp"> </File> *************** *** 841,844 **** --- 844,856 ---- RelativePath=".\qlo\Conversions\conversions.hpp"> </File> + <File + RelativePath=".\qlo\Conversions\enumorobject.hpp"> + </File> + <File + RelativePath=".\qlo\Conversions\handletoobject.hpp"> + </File> + <File + RelativePath=".\qlo\Conversions\objecttohandle.hpp"> + </File> </Filter> <File |
|
From: Eric E. <eri...@us...> - 2006-11-19 13:09:22
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23547/gensrc Modified Files: Makefile.vc Log Message: support for coercion Index: Makefile.vc =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/Makefile.vc,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** Makefile.vc 12 Oct 2006 10:49:02 -0000 1.33 --- Makefile.vc 19 Nov 2006 13:08:47 -0000 1.34 *************** *** 65,69 **** $(BUILDFLAG) : $(SCRIPT) $(INPUTS) $(BUILD_DIR) $(MAKEFILE) set PYTHONPATH=$(PYTHONPATH);$(GENSRC_DIR)\import ! $(SCRIPT) -a echo flagged > $@ --- 65,70 ---- $(BUILDFLAG) : $(SCRIPT) $(INPUTS) $(BUILD_DIR) $(MAKEFILE) set PYTHONPATH=$(PYTHONPATH);$(GENSRC_DIR)\import ! # $(SCRIPT) -a ! $(SCRIPT) -qedvl echo flagged > $@ |
|
From: Eric E. <eri...@us...> - 2006-11-19 13:09:22
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/stubs In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23547/gensrc/stubs Modified Files: stub.excel.includes Log Message: support for coercion Index: stub.excel.includes =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/stubs/stub.excel.includes,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** stub.excel.includes 16 Nov 2006 12:39:22 -0000 1.7 --- stub.excel.includes 19 Nov 2006 13:08:47 -0000 1.8 *************** *** 1,10 **** #include <qlo/qladdindefines.hpp> #include <qlo/typefactory.hpp> - #include <qlo/Conversions/conversions.hpp> #include <qlo/handle.hpp> %(categoryIncludes)s #include <ohxl/objhandlerxl.hpp> #include <qlxl/session.hpp> ! #include <qlxl/Conversions/conversions.hpp> #define XLL_DEC DLLEXPORT --- 1,9 ---- #include <qlo/qladdindefines.hpp> #include <qlo/typefactory.hpp> #include <qlo/handle.hpp> %(categoryIncludes)s #include <ohxl/objhandlerxl.hpp> #include <qlxl/session.hpp> ! #include <qlxl/Conversions/all.hpp> #define XLL_DEC DLLEXPORT |
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23547/qlo/Conversions Modified Files: conversions.cpp conversions.hpp Added Files: all.hpp enumorobject.hpp handletoobject.hpp objecttohandle.hpp Log Message: support for coercion --- NEW FILE: all.hpp --- /* Copyright (C) 2006 Eric Ehlers This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef qlo_conversions_all_hpp #define qlo_conversions_all_hpp #include <oh/Conversions/coerce.hpp> #include <qlo/Conversions/conversions.hpp> #include <qlo/Conversions/enumorobject.hpp> #include <qlo/Conversions/handletoobject.hpp> #include <qlo/Conversions/objecttohandle.hpp> #endif Index: conversions.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions/conversions.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** conversions.hpp 16 Nov 2006 12:39:22 -0000 1.1 --- conversions.hpp 19 Nov 2006 13:08:48 -0000 1.2 *************** *** 17,27 **** */ ! /*! \file ! \brief Miscellaneous utility functions available to clients ! of %QuantLibAddin i.e. the Addins ! */ ! ! #ifndef qla_conversions_hpp ! #define qla_conversions_hpp #include <qlo/qladdindefines.hpp> --- 17,22 ---- */ ! #ifndef qlo_conversions_hpp ! #define qlo_conversions_hpp #include <qlo/qladdindefines.hpp> *************** *** 29,169 **** #include <ql/calendar.hpp> #include <ql/interestrate.hpp> - #include <ql/handle.hpp> - #include <oh/objecthandler.hpp> - #include <qlo/handle.hpp> - #include <qlo/typefactory.hpp> #include <vector> ! // Accept an id of an Object in the Repository and return a QuantLib::Handle<qlClass>. ! // 1) If the id is an empty string then return an empty handle ! // 2) If the Object is of class QuantLibAddin::Handle then return the contained QuantLib::Handle<qlClass> ! // 3) If the Object is of class QuantLibAddin::qloClass then convert it to a QuantLib::Handle<qlClass> ! // 4) Otherwise the Object is of an unexpected class so raise an exception ! ! template <class qlClass, class qloClass> ! inline QuantLib::Handle<qlClass> libToHandle(const std::string &id) { ! if (id.empty()) { ! return QuantLib::Handle<qlClass>(); ! } ! ! OH_GET_OBJECT(objectPointer, id, ObjHandler::Object) ! boost::shared_ptr<QuantLibAddin::Handle<qlClass> > handlePointer = ! boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass> >(objectPointer); ! ! if (handlePointer) { ! return handlePointer->getHandle(); ! } else { ! boost::shared_ptr<qloClass> qloPointer = ! boost::dynamic_pointer_cast<qloClass>(objectPointer); ! ! if (qloPointer) { ! boost::shared_ptr<qlClass> ret; ! qloPointer->getLibraryObject(ret); ! return QuantLib::Handle<qlClass>(ret); ! } else { ! std::ostringstream msg; ! msg << "error retrieving object with id '" << id ! << "' from repository - this object could be converted neither to" ! << std::endl << " " << typeid(QuantLib::Handle<qlClass>).name() ! << std::endl << "nor" ! << std::endl << " " << typeid(qloClass).name(); ! throw ObjHandler::Exception(msg.str()); ! } ! } ! } ! ! // Accept an id of an Object in the Repository and return a boost::shared_ptr<qlClass>. ! // 1) If the Object is of class QuantLibAddin::Handle then return the contained boost::shared_ptr<qlClass> ! // 2) If the Object is of class QuantLibAddin::qloClass then return the contained boost::shared_ptr<qlClass> ! // 3) Otherwise the Object is of an unexpected class so raise an exception ! ! template <class qlClass2, class qlClass, class qloClass> ! inline boost::shared_ptr<qlClass> handleToLib(const std::string &id) { ! ! OH_GET_OBJECT(objectPointer, id, ObjHandler::Object) ! boost::shared_ptr<QuantLibAddin::Handle<qlClass2> > handlePointer = ! boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass2> >(objectPointer); ! ! if (handlePointer) { ! boost::shared_ptr<qlClass2> qlPointer2 = ! handlePointer->getHandle().currentLink(); ! if (!qlPointer2) { ! std::ostringstream msg; ! msg << "error retrieving object with id '" << id ! << "' from repository - unable to retrieve reference " ! << "contained in handle"; ! throw ObjHandler::Exception(msg.str()); ! } ! boost::shared_ptr<qlClass> qlPointer1 = ! boost::dynamic_pointer_cast<qlClass>(qlPointer2); ! if (qlPointer1) ! return qlPointer1; ! else { ! std::ostringstream msg; ! msg << "error retrieving object with id '" << id ! << "' from repository - unable to convert class from " ! << " " << typeid(qlClass2).name() ! << std::endl << " to " ! << " " << typeid(qlClass).name(); ! throw ObjHandler::Exception(msg.str()); ! } ! } else { ! boost::shared_ptr<qloClass> qloPointer = ! boost::dynamic_pointer_cast<qloClass>(objectPointer); ! if (qloPointer) { ! boost::shared_ptr<qlClass> ret; ! qloPointer->getLibraryObject(ret); ! return ret; ! } else { ! std::ostringstream msg; ! msg << "error retrieving object with id '" << id ! << "' from repository - this object could be converted neither " ! << " to " << std::endl << " " << typeid(QuantLib::Handle<qlClass>).name() ! << " nor " << std::endl << " " << typeid(qloClass).name(); ! throw ObjHandler::Exception(msg.str()); ! } ! } ! } ! ! // enumOrObject - accept a string which is the ID of either ! // and Enumerated Class or an object in the repository, ! // and return the appropriate object ! template <class enumClass, class qlClass, class qloClass> ! inline boost::shared_ptr<qlClass> enumOrObject( ! const std::string &id) { ! QL_REQUIRE(!id.empty(), "attempt to retrieve object with null string as ID"); ! if (QuantLibAddin::Create<boost::shared_ptr<enumClass> >().checkType(id)) { ! boost::shared_ptr<enumClass> ret = ! QuantLibAddin::Create<boost::shared_ptr<enumClass> >()(id); ! boost::shared_ptr<qlClass> ret2 = ! boost::dynamic_pointer_cast<qlClass>(ret); ! if (ret2) ! return ret2; ! else ! QL_FAIL("Unable to convert enumerated class with ID " << id << ! " to class " << typeid(qloClass).name()); ! } else { ! OH_GET_REFERENCE(ret, id, qloClass, qlClass) ! return ret; ! } ! } ! ! template <class enumClass, class qlClass, class qloClass> ! inline std::vector<boost::shared_ptr<qlClass> > enumOrObjectVector( ! const std::vector<std::string> &ids) { ! std::vector<boost::shared_ptr<qlClass> > ret; ! for (std::vector<std::string>::const_iterator i = ids.begin(); ! i != ids.end(); i++) ! ret.push_back(enumOrObject<enumClass, qlClass, qloClass>(*i)); ! return ret; ! } ! ! namespace QuantLibAddin { ! ! /*! conversions ! Conversion of library types to C++ types. - Called by autogenerated addin code. - */ double libraryToScalar(const QuantLib::InterestRate&); double libraryToScalar(const QuantLib::Rate&); --- 24,31 ---- #include <ql/calendar.hpp> #include <ql/interestrate.hpp> #include <vector> ! namespace ObjHandler { double libraryToScalar(const QuantLib::InterestRate&); double libraryToScalar(const QuantLib::Rate&); --- NEW FILE: handletoobject.hpp --- /* Copyright (C) 2006 Eric Ehlers This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef qlo_conversions_handletoobject_hpp #define qlo_conversions_handletoobject_hpp #include <oh/Conversions/coerce.hpp> #include <oh/exception.hpp> #include <qlo/handle.hpp> namespace ObjHandler { // Accept an id of an Object in the Repository and return a boost::shared_ptr<qlClass>. // 1) If the Object is of class QuantLibAddin::Handle then return the contained boost::shared_ptr<qlClass> // 2) If the Object is of class QuantLibAddin::qloClass then return the contained boost::shared_ptr<qlClass> // 3) Otherwise the Object is of an unexpected class so raise an exception template <class qlClass, class qlClass2> bool referenceFromHandle( const boost::shared_ptr<ObjHandler::Object> &in, boost::shared_ptr<qlClass> &out) { boost::shared_ptr<QuantLibAddin::Handle<qlClass2> > handlePointer = boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass2> >(in); if (!handlePointer) return false; boost::shared_ptr<qlClass2> qlPointer2 = handlePointer->getHandle().currentLink(); OH_REQUIRE(qlPointer2, "unable to retrieve reference" << " contained in handle"); out = boost::dynamic_pointer_cast<qlClass>(qlPointer2); OH_REQUIRE(out, "unable to convert class from" << std::endl << " " << typeid(qlClass2).name() << std::endl << "to" << std::endl << " " << typeid(qlClass).name()); return true; } template <class qlClass, class qloClass> bool referenceFromObject( const boost::shared_ptr<ObjHandler::Object> &in, boost::shared_ptr<qlClass> &out) { boost::shared_ptr<qloClass> qloPointer = boost::dynamic_pointer_cast<qloClass>(in); if (qloPointer) { qloPointer->getLibraryObject(out); return true; } else { return false; } } template <class qlClass2, class qlClass, class qloClass> class CoerceHandleToObject : public ObjHandler::Coerce< boost::shared_ptr<ObjHandler::Object>, boost::shared_ptr<qlClass> > { Conversion *getConversions() { static Conversion conversions[] = { referenceFromHandle<qlClass, qlClass2>, referenceFromObject<qlClass, qloClass>, 0 }; return conversions; }; }; } #endif Index: conversions.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/Conversions/conversions.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** conversions.cpp 16 Nov 2006 12:39:22 -0000 1.1 --- conversions.cpp 19 Nov 2006 13:08:47 -0000 1.2 *************** *** 22,26 **** #include <qlo/Conversions/conversions.hpp> ! namespace QuantLibAddin { double libraryToScalar(const QuantLib::InterestRate &i) { --- 22,26 ---- #include <qlo/Conversions/conversions.hpp> ! namespace ObjHandler { double libraryToScalar(const QuantLib::InterestRate &i) { --- NEW FILE: objecttohandle.hpp --- /* Copyright (C) 2006 Eric Ehlers This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef qlo_conversions_objecttohandle_hpp #define qlo_conversions_objecttohandle_hpp #include <oh/Conversions/coerce.hpp> #include <oh/exception.hpp> #include <qlo/handle.hpp> namespace ObjHandler { // Accept an id of an Object in the Repository and return a QuantLib::Handle<qlClass>. // 1) If the id is an empty string then return an empty handle // 2) If the Object is of class QuantLibAddin::Handle then return the contained QuantLib::Handle<qlClass> // 3) If the Object is of class QuantLibAddin::qloClass then convert it to a QuantLib::Handle<qlClass> // 4) Otherwise the Object is of an unexpected class so raise an exception template <class qlClass> bool objectToHandle( const boost::shared_ptr<ObjHandler::Object> &in, QuantLib::Handle<qlClass> &out) { boost::shared_ptr<QuantLibAddin::Handle<qlClass> > handlePointer = boost::dynamic_pointer_cast<QuantLibAddin::Handle<qlClass> >(in); if (handlePointer) { out = handlePointer->getHandle(); return true; } else { return false; } } template <class qlClass, class qloClass> bool wrapObject( const boost::shared_ptr<ObjHandler::Object> &in, QuantLib::Handle<qlClass> &out) { boost::shared_ptr<qloClass> qloPointer = boost::dynamic_pointer_cast<qloClass>(in); if (qloPointer) { boost::shared_ptr<qlClass> ret; qloPointer->getLibraryObject(ret); out = QuantLib::Handle<qlClass>(ret); return true; } else { return false; } } template <class qlClass, class qloClass> class CoerceObjectToHandle : public ObjHandler::Coerce< boost::shared_ptr<ObjHandler::Object>, QuantLib::Handle<qlClass> > { Conversion *getConversions() { static Conversion conversions[] = { objectToHandle<qlClass>, wrapObject<qlClass, qloClass>, 0 }; return conversions; }; }; } #endif --- NEW FILE: enumorobject.hpp --- /* Copyright (C) 2006 Eric Ehlers This file is part of QuantLib, a free-software/open-source library for financial quantitative analysts and developers - http://quantlib.org/ QuantLib is free software: you can redistribute it and/or modify it under the terms of the QuantLib license. You should have received a copy of the license along with this program; if not, please email qua...@li... The license is also available online at http://quantlib.org/html/license.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details. */ #ifndef qlo_conversions_enumorobject_hpp #define qlo_conversions_enumorobject_hpp #include <oh/Conversions/coerce.hpp> #include <oh/exception.hpp> #include <qlo/typefactory.hpp> namespace ObjHandler { // enumOrObject - accept a string which is the ID of either // and Enumerated Class or an object in the repository, // and return the appropriate object template <class enumClass, class qlClass> bool idToEnum( const std::string &in, boost::shared_ptr<qlClass> &out) { if (!QuantLibAddin::Create<boost::shared_ptr<enumClass> >().checkType(in)) return false; boost::shared_ptr<enumClass> ret = QuantLibAddin::Create<boost::shared_ptr<enumClass> >()(in); out = boost::dynamic_pointer_cast<qlClass>(ret); OH_REQUIRE(out, "Unable to convert enumerated class with ID " << in << " to class " << typeid(qlClass).name()); return true; } template <class qloClass, class qlClass> bool idToObject( const std::string &in, boost::shared_ptr<qlClass> &out) { OH_GET_REFERENCE(ret, in, qloClass, qlClass) out = ret; return true; } template <class enumClass, class qlClass, class qloClass> class CoerceEnumOrObject : public ObjHandler::Coerce< const std::string, boost::shared_ptr<qlClass> > { Conversion *getConversions() { static Conversion conversions[] = { idToEnum<enumClass, qlClass>, idToObject<qloClass, qlClass>, 0 }; return conversions; }; }; template <class enumClass, class qlClass, class qloClass> inline std::vector<boost::shared_ptr<qlClass> > enumOrObjectVector( const std::vector<std::string> &ids) { std::vector<boost::shared_ptr<qlClass> > ret; std::vector<std::string>::const_iterator i; for (i = ids.begin(); i != ids.end(); i++) ret.push_back( CoerceEnumOrObject<enumClass, qlClass, qloClass>()(*i)); return ret; } } #endif |
|
From: Ferdinando A. <na...@us...> - 2006-11-17 20:42:30
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6656 Modified Files: todonando.txt Log Message: Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** todonando.txt 17 Nov 2006 19:13:20 -0000 1.44 --- todonando.txt 17 Nov 2006 20:42:24 -0000 1.45 *************** *** 1,8 **** François Cristina - - bid-ask su calibrazione ai fwd CMS - - riordinare gearing/spreads - cap/floor coupon K --- 1,10 ---- François + - consolidare tutti i multistep in un'unico test + - use MakeCapFloor in Excel test wkb Cristina - cap/floor coupon + - test Mx sul 29/9 + - foglio swaption per De Nuccio / Murex K *************** *** 12,22 **** Giorgio - cmsspreadhelper ??? - esporre costruttore CMS pricer ad excel (con vol, model, conundrum, reversion) - automatizzare calibrazioni - ripristinare controlli su fit sabr - - perche' exact yield da gli stessi risultati di black - - far funzionare la testsuite (cms put/call patity, swvolcube, - analitico=numerico) Marco --- 14,23 ---- Giorgio + - SwaptionVolCube observability and lazyness + - esporre metodi swaption con tenor - cmsspreadhelper ??? - esporre costruttore CMS pricer ad excel (con vol, model, conundrum, reversion) - automatizzare calibrazioni - ripristinare controlli su fit sabr Marco *************** *** 53,56 **** --- 54,58 ---- - SWAP implement fair rate for floating/fixed rate vector - add SABR factory + - add abcd interpolation - use boost random number generators - COUPON refactoring *************** *** 64,68 **** QuantLib testsuite - - consolidare tutti i multistep in un'unico test - verificare il pricing degli swap in LMM contro CurveState - verificare convergenza assoluta del test onestep e di quello multistep --- 66,69 ---- *************** *** 79,83 **** - add new flag: depo only to cover stub period - bootstrap: First Future stub period flag - - ALERT if bootstrap fails QuantLib PIECEWISEYIELDCURVE --- 80,83 ---- *************** *** 105,109 **** QUANTLIBADDIN - - esporre metodi swaption con tenor - RSG factory - export ImpliedCurve --- 105,108 ---- *************** *** 119,125 **** QUANTLIBXL WORKBOOKS ! - improve CMS calibration avoiding multiple recalc ! - enforce fixings toggle on control panel ! - foglio swaption per De Nuccio / Murex - bug in InterestRateQuoteFeed - nel ControlPanel dare evidenza del feed CMS --- 118,122 ---- QUANTLIBXL WORKBOOKS ! - YieldCurveMonitor in Tests - bug in InterestRateQuoteFeed - nel ControlPanel dare evidenza del feed CMS *************** *** 129,133 **** - SWAPTION spreadsheet with multiple prices - all spreadsheets with grid prices - - SWAPTIONVOLMATRIX bug - why RateHelpersReutersFeed keeps changing? - merge old QuantLibXL functions --- 126,129 ---- *************** *** 146,149 **** QUANTLIBXL VBA ! QUANTLIB launcher ! - NSIS network deployment \ No newline at end of file --- 142,148 ---- QUANTLIBXL VBA ! QUANTLIB network launcher ! - it can't create the framework, Workbooks, and xll folders ! - the actions are disabled if you choose a pre-defined environment. ! - addinFolder() beside AddinPath() which includes the xll name ! - edit the Laucher Actions, in synch with the actual Action menu |
|
From: Ferdinando A. <na...@us...> - 2006-11-17 19:13:29
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv533 Modified Files: todonando.txt Log Message: Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** todonando.txt 17 Nov 2006 14:32:32 -0000 1.43 --- todonando.txt 17 Nov 2006 19:13:20 -0000 1.44 *************** *** 1,5 **** François - - previous/next control panel - - payoff in BermudanExerciseValue, MultiStepSwaptions Cristina --- 1,3 ---- *************** *** 69,73 **** - verificare il pricing degli swap in LMM contro CurveState - verificare convergenza assoluta del test onestep e di quello multistep - - merge two swaptionvolmatrix tests QuantLib BOND --- 67,70 ---- *************** *** 122,126 **** QUANTLIBXL WORKBOOKS ! - bid/ask su fwd CMS - enforce fixings toggle on control panel - foglio swaption per De Nuccio / Murex --- 119,123 ---- QUANTLIBXL WORKBOOKS ! - improve CMS calibration avoiding multiple recalc - enforce fixings toggle on control panel - foglio swaption per De Nuccio / Murex |
|
From: Ferdinando A. <na...@us...> - 2006-11-17 14:32:37
|
Update of /cvsroot/quantlibaddin/QuantLibAddin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4332 Modified Files: todonando.txt Log Message: Index: todonando.txt =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/todonando.txt,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** todonando.txt 16 Nov 2006 14:01:17 -0000 1.42 --- todonando.txt 17 Nov 2006 14:32:32 -0000 1.43 *************** *** 31,37 **** Eric - reutersFeed performances ! - esporre a Excel BlackFormula con Payoff ! - esporre ad excel i metodi commentati in payoff.xml, pricingengines.xml ! - loopParameter in swaptionvolstructure.xml - increment version number - coerce between double and Quote --- 31,35 ---- Eric - reutersFeed performances ! - esporre ad excel i metodi commentati in payoff.xml - increment version number - coerce between double and Quote |
|
From: Francois du V. <fd...@us...> - 2006-11-17 14:26:26
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv1438 Modified Files: capletvolstructure.cpp capletvolstructure.hpp Log Message: Capstripper class constructor argument : const boost::shared_ptr<SmileSectionsVolStructure> smileSectionsVolStructure replaced by: std::vector<boost::shared_ptr<SmileSectionInterface> >& smileSectionInterfaces Index: capletvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** capletvolstructure.hpp 17 Nov 2006 11:14:48 -0000 1.6 --- capletvolstructure.hpp 17 Nov 2006 14:26:23 -0000 1.7 *************** *** 23,26 **** --- 23,27 ---- #include <ql/capvolstructures.hpp> #include <qlo/termstructures.hpp> + #include <ql/volatilities/smilesection.hpp> namespace QuantLibAddin { *************** *** 61,66 **** QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure); }; --- 62,67 ---- QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSectionInterface> >& ! smileSectionInterfaces); }; Index: capletvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** capletvolstructure.cpp 17 Nov 2006 11:14:48 -0000 1.6 --- capletvolstructure.cpp 17 Nov 2006 14:26:23 -0000 1.7 *************** *** 61,71 **** QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new QuantLib::CapsStripper(tenors, strikes, volatilities, index, yieldTermStructure, dayCounter, impliedVolatilityAccuracy, ! maxEvaluations, smileSectionsVolStructure)); } --- 61,71 ---- QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations, ! const std::vector<boost::shared_ptr<QuantLib::SmileSectionInterface> >& ! smileSectionInterfaces) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new QuantLib::CapsStripper(tenors, strikes, volatilities, index, yieldTermStructure, dayCounter, impliedVolatilityAccuracy, ! maxEvaluations, smileSectionInterfaces)); } |
|
From: Francois du V. <fd...@us...> - 2006-11-17 14:26:19
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv1366 Modified Files: capletvolstructure.xml Log Message: Capstripper class constructor argument : const boost::shared_ptr<SmileSectionsVolStructure> smileSectionsVolStructure replaced by: std::vector<boost::shared_ptr<SmileSectionInterface> >& smileSectionInterfaces Index: capletvolstructure.xml =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/gensrc/metadata/capletvolstructure.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** capletvolstructure.xml 17 Nov 2006 11:14:37 -0000 1.29 --- capletvolstructure.xml 17 Nov 2006 14:26:11 -0000 1.30 *************** *** 213,216 **** --- 213,274 ---- + <Constructor name='qlCapsStripper2'> + <libraryFunction>CapsStripper</libraryFunction> + <SupportedPlatforms> + <Excel/> + </SupportedPlatforms> + <ParameterList> + <Parameters> + <Parameter name='capTenors' libraryType='QuantLib::Period'> + <type>string</type> + <tensorRank>vector</tensorRank> + <description>cap lengths.</description> + </Parameter> + <Parameter name='capStrikes' libraryType='QuantLib::Rate'> + <type>double</type> + <tensorRank>vector</tensorRank> + <description>cap strikes.</description> + </Parameter> + <Parameter name='volatilities' libToHandle='Quote'> + <type>string</type> + <tensorRank>matrix</tensorRank> + <description>cap volatilities.</description> + </Parameter> + <Parameter name="indexID" libraryClass='Xibor'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>cap index</description> + </Parameter> + <Parameter name='termStructureID' libToHandle='YieldTermStructure'> + <type>string</type> + <tensorRank>scalar</tensorRank> + <description>discounting term structure</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='impliedVolatilityAccuracy' libraryType='QuantLib::Real'> + <type>double</type> + <tensorRank>scalar</tensorRank> + <description>implied Volatility Accuracy.</description> + </Parameter> + <Parameter name='maxEvaluations' libraryType='QuantLib::Size'> + <type>long</type> + <tensorRank>scalar</tensorRank> + <description>implied Volatility max Evaluations.</description> + </Parameter> + <Parameter name='smileSections' libraryClass='SmileSectionInterface'> + <type>string</type> + <tensorRank>vector</tensorRank> + <description>smile sections IDs</description> + </Parameter> + </Parameters> + </ParameterList> + </Constructor> + + + <Constructor name='qlSmileSectionsVolStructure'> <libraryFunction>SmileSectionsVolStructure</libraryFunction> |
|
From: Francois du V. <fd...@us...> - 2006-11-17 11:14:52
|
Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4777 Modified Files: capletvolstructure.cpp capletvolstructure.hpp Log Message: FloatingLeg Helper class has been removed, makeCapFloor is used instead the following arguments have been removed: capScheduleConvention, capScheduleFixingDays, calendar since they are deduced by makeCapFloor redudant includes pruned from test-suite\capsstripper.cpp Index: capletvolstructure.hpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** capletvolstructure.hpp 17 Nov 2006 09:21:36 -0000 1.5 --- capletvolstructure.hpp 17 Nov 2006 11:14:48 -0000 1.6 *************** *** 44,72 **** class CapsStripper : public CapletVolatilityStructure { public: ! CapsStripper(const QuantLib::Calendar & calendar, ! QuantLib::BusinessDayConvention convention, ! QuantLib::Integer fixingDays, ! const std::vector<QuantLib::Period>& tenors, const std::vector<QuantLib::Rate>& strikes, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, - const QuantLib::DayCounter& dayCounter, const boost::shared_ptr<QuantLib::Xibor>& index, const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations); ! CapsStripper(const QuantLib::Calendar & calendar, ! QuantLib::BusinessDayConvention convention, ! QuantLib::Integer fixingDays, ! const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, ! const QuantLib::DayCounter& dayCounter, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluationsconst, ! boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure); }; --- 44,66 ---- class CapsStripper : public CapletVolatilityStructure { public: ! CapsStripper(const std::vector<QuantLib::Period>& tenors, const std::vector<QuantLib::Rate>& strikes, const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, const boost::shared_ptr<QuantLib::Xibor>& index, const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, + const QuantLib::DayCounter& dayCounter, QuantLib::Real impliedVolatilityAccuracy, QuantLib::Size maxEvaluations); ! CapsStripper(const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! const QuantLib::DayCounter& dayCounter, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluations, ! boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure); }; Index: capletvolstructure.cpp =================================================================== RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/capletvolstructure.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** capletvolstructure.cpp 17 Nov 2006 09:21:36 -0000 1.5 --- capletvolstructure.cpp 17 Nov 2006 11:14:48 -0000 1.6 *************** *** 35,77 **** CapsStripper::CapsStripper( ! const QuantLib::Calendar& calendar, ! QuantLib::BusinessDayConvention convention, ! QuantLib::Integer fixingDays, ! const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, ! const QuantLib::DayCounter& dayCounter, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluations) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::CapsStripper(calendar, convention, fixingDays, ! tenors, strikes, volatilities, dayCounter, index, ! yieldTermStructure, impliedVolatilityAccuracy, maxEvaluations)); } CapsStripper::CapsStripper( ! const QuantLib::Calendar& calendar, ! QuantLib::BusinessDayConvention convention, ! QuantLib::Integer fixingDays, ! const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, ! const QuantLib::DayCounter& dayCounter, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluations, ! const boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::CapsStripper(calendar, convention, fixingDays, ! tenors, strikes, volatilities, dayCounter, index, ! yieldTermStructure, impliedVolatilityAccuracy, maxEvaluations, ! smileSectionsVolStructure)); } --- 35,71 ---- CapsStripper::CapsStripper( ! const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& ! volatilities, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! const QuantLib::DayCounter& dayCounter, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluations) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::CapsStripper(tenors, strikes, volatilities, index, ! yieldTermStructure, dayCounter, impliedVolatilityAccuracy, ! maxEvaluations)); } CapsStripper::CapsStripper( ! const std::vector<QuantLib::Period>& tenors, ! const std::vector<QuantLib::Rate>& strikes, ! const std::vector<std::vector<QuantLib::Handle<QuantLib::Quote> > >& volatilities, ! const boost::shared_ptr<QuantLib::Xibor>& index, ! const QuantLib::Handle<QuantLib::YieldTermStructure> yieldTermStructure, ! const QuantLib::DayCounter& dayCounter, ! QuantLib::Real impliedVolatilityAccuracy, ! QuantLib::Size maxEvaluations, ! boost::shared_ptr<QuantLib::SmileSectionsVolStructure> ! smileSectionsVolStructure) { libraryObject_ = boost::shared_ptr<QuantLib::Extrapolator>(new ! QuantLib::CapsStripper(tenors, strikes, volatilities, index, ! yieldTermStructure, dayCounter, impliedVolatilityAccuracy, ! maxEvaluations, smileSectionsVolStructure)); } |