You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(17) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(23) |
| 2002 |
Jan
(18) |
Feb
(20) |
Mar
(22) |
Apr
(41) |
May
(28) |
Jun
(25) |
Jul
(10) |
Aug
(7) |
Sep
(5) |
Oct
(20) |
Nov
(13) |
Dec
(11) |
| 2003 |
Jan
(28) |
Feb
(5) |
Mar
(6) |
Apr
(5) |
May
(17) |
Jun
(6) |
Jul
(45) |
Aug
(35) |
Sep
(24) |
Oct
(50) |
Nov
(53) |
Dec
(6) |
| 2004 |
Jan
(4) |
Feb
(10) |
Mar
(52) |
Apr
(46) |
May
(8) |
Jun
(25) |
Jul
(12) |
Aug
(6) |
Sep
(8) |
Oct
(8) |
Nov
(9) |
Dec
(7) |
| 2005 |
Jan
(18) |
Feb
(60) |
Mar
(19) |
Apr
(26) |
May
(14) |
Jun
(27) |
Jul
(8) |
Aug
(15) |
Sep
(19) |
Oct
(53) |
Nov
(20) |
Dec
(23) |
| 2006 |
Jan
(16) |
Feb
(27) |
Mar
(33) |
Apr
(51) |
May
(36) |
Jun
(25) |
Jul
(54) |
Aug
(30) |
Sep
(25) |
Oct
(67) |
Nov
(43) |
Dec
(13) |
| 2007 |
Jan
(23) |
Feb
(27) |
Mar
(55) |
Apr
(79) |
May
(60) |
Jun
(66) |
Jul
(46) |
Aug
(30) |
Sep
(90) |
Oct
(49) |
Nov
(85) |
Dec
(74) |
| 2008 |
Jan
(68) |
Feb
(59) |
Mar
(64) |
Apr
(28) |
May
(66) |
Jun
(35) |
Jul
(73) |
Aug
(76) |
Sep
(65) |
Oct
(46) |
Nov
(41) |
Dec
(19) |
| 2009 |
Jan
(46) |
Feb
(90) |
Mar
(51) |
Apr
(104) |
May
(13) |
Jun
(24) |
Jul
(20) |
Aug
(39) |
Sep
(109) |
Oct
(101) |
Nov
(117) |
Dec
(57) |
| 2010 |
Jan
(55) |
Feb
(42) |
Mar
(39) |
Apr
(22) |
May
(33) |
Jun
(41) |
Jul
(25) |
Aug
(52) |
Sep
(75) |
Oct
(60) |
Nov
(62) |
Dec
(52) |
| 2011 |
Jan
(70) |
Feb
(31) |
Mar
(26) |
Apr
(28) |
May
(17) |
Jun
(38) |
Jul
(51) |
Aug
(35) |
Sep
(27) |
Oct
(35) |
Nov
(10) |
Dec
(20) |
| 2012 |
Jan
(21) |
Feb
(29) |
Mar
(13) |
Apr
(37) |
May
(33) |
Jun
(12) |
Jul
(34) |
Aug
(27) |
Sep
(29) |
Oct
(35) |
Nov
(58) |
Dec
(27) |
| 2013 |
Jan
(27) |
Feb
(16) |
Mar
(40) |
Apr
(16) |
May
(34) |
Jun
(37) |
Jul
(6) |
Aug
(3) |
Sep
(4) |
Oct
(49) |
Nov
(13) |
Dec
(12) |
| 2014 |
Jan
(15) |
Feb
(21) |
Mar
(11) |
Apr
(13) |
May
(27) |
Jun
(60) |
Jul
(19) |
Aug
(29) |
Sep
(20) |
Oct
(28) |
Nov
(41) |
Dec
(15) |
| 2015 |
Jan
(33) |
Feb
(29) |
Mar
(26) |
Apr
(17) |
May
(2) |
Jun
(13) |
Jul
(21) |
Aug
(30) |
Sep
(22) |
Oct
(15) |
Nov
(46) |
Dec
(20) |
| 2016 |
Jan
(6) |
Feb
(5) |
Mar
(9) |
Apr
(15) |
May
(9) |
Jun
(4) |
Jul
(3) |
Aug
(4) |
Sep
(39) |
Oct
(8) |
Nov
(5) |
Dec
(8) |
| 2017 |
Jan
(4) |
Feb
(14) |
Mar
(4) |
Apr
(16) |
May
(5) |
Jun
(10) |
Jul
(25) |
Aug
(2) |
Sep
(5) |
Oct
(11) |
Nov
(8) |
Dec
(11) |
| 2018 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
(1) |
May
(4) |
Jun
(21) |
Jul
(8) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(5) |
Mar
(18) |
Apr
(9) |
May
(5) |
Jun
(21) |
Jul
(25) |
Aug
(25) |
Sep
(4) |
Oct
(2) |
Nov
(2) |
Dec
(5) |
| 2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(6) |
Dec
|
| 2021 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(5) |
| 2022 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
(2) |
May
(5) |
Jun
(3) |
Jul
(3) |
Aug
(3) |
Sep
(3) |
Oct
(14) |
Nov
|
Dec
(1) |
| 2023 |
Jan
(10) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
|
Dec
|
| 2024 |
Jan
(8) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(1) |
| 2025 |
Jan
(3) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2026 |
Jan
(1) |
Feb
(12) |
Mar
|
Apr
(2) |
May
(8) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Luigi B. <lui...@gm...> - 2007-05-28 19:47:53
|
On May 28, 2007, at 6:54 PM, Bianchetti Marco wrote: >> Though, I'm not absolutely sure that the terms of use are compatible >> with those of QL. > > They look ok, any comment ? > > --- from http://www.alglib.net/copyrules.php --- > 13. When using any kind of the Source Codes, the link to ALGLIB > Project is regarded as obligatory. In particular, when distributing > the software programs, which use Source Codes, through the Internet, > it is obligatory to use the hyperlink to the www.alglib.net at each > page of the website, which distributes the software programs. This looks problematic, especially since the QuantLib download page is provided by Sourceforge without any way for us to provide such link. Also a bit worrying is: > 4. The requirements, set out in this Document, may be altered at any > time, without any provisional notification. The visitor shall agree > either to act in compliance with the altered requirements, or withdraw > from using the data, obtained within the framework of ALGLIB Project. Later, Luigi |
|
From: Bianchetti M. <mar...@ca...> - 2007-05-28 16:54:28
|
Francois: Fran=E7ois : >Though, I'm not absolutely sure that the terms of use are compatible = with those of QL.=20 They look ok, any comment ? --- from http://www.alglib.net/copyrules.php --- Use Conditions for Source Codes 9. Unless otherwise stated, the Source Codes shall be distributed on the = basis of the terms and conditions, set out in this Document.=20 10. The visitor may include the Source Codes in the software = (irrespective of the fact whether those software programs are commercial = or not).=20 11. The visitor may modify the Source Codes on condition that the = comments, which accompany them (including the link to the distribution = terms and conditions), shall remain unchanged.=20 12. The visitor may distribute the software programs, which use various = Source Codes. The distribution of the Source Codes is allowed only along = with the program, which uses them. The visitor may not alter the = distribution terms and conditions for the Source Codes.=20 13. When using any kind of the Source Codes, the link to ALGLIB Project = is regarded as obligatory. In particular, when distributing the software = programs, which use Source Codes, through the Internet, it is obligatory = to use the hyperlink to the www.alglib.net at each page of the website, = which distributes the software programs.=20 14. Any other ways of using the Source Codes are possible only under = agreement with the author of ALGLIB Project.=20 --- Ciao Marco -----Original Message----- From: DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI=20 Sent: mercoled=EC 23 maggio 2007 19.35 To: Bianchetti Marco; qua...@li... Subject: RE: [Quantlib-dev] optimizers Here is a good C++ implementation candidate,=20 http://www.alglib.net/optimization/lbfgs.php Though, I'm not absolutely sure that the terms of use are compatible = with those of QL.=20 Fran=E7ois =20 -----Original Message----- From: qua...@li... = [mailto:qua...@li...] On Behalf Of = Bianchetti Marco Sent: Wednesday, May 23, 2007 6:13 PM To: qua...@li... Subject: [Quantlib-dev] optimizers Hello, at the moment are available into QuantLib the following optimizers: =B7 Simplex (recently revisited: the Numerical Recipes = implementation badly failed in finding the minimum of a 1D parabole...) =B7 Levenberg-Marquardt =B7 Conjugate Gradient =B7 Steepest Descent (still to be debugged, work in progress) and we are currently considering the option to port into QuantLib the = Broyden-Fletcher-Goldfarb-Shanno (BFGS2) algorithm, which in GSL is = declared to be the best (see the text below). So: =B7 Any comment on the choice of BFGS2? do anyone has experience = with it ? =B7 is anyone aware of an available open source C++ = implementation to be ported into Quantlib with small effort ? Personally, I would prefer NOT to translate the GSL implementation from = C to C++, because of the danger to introduce some tricky bug and because = it requires a much more sophisticated test suite (and much work). ciao Marco --- from: = http://www.gnu.org/software/gsl/manual/html_node/Multimin-Algorithms.html= Minimizer: gsl_multimin_fdfminimizer_vector_bfgs2 Minimizer: gsl_multimin_fdfminimizer_vector_bfgs These methods use the vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) = algorithm. This is a quasi-Newton method which builds up an = approximation to the second derivatives of the function f using the = difference between successive gradient vectors. By combining the first = and second derivatives the algorithm is able to take Newton-type steps = towards the function minimum, assuming quadratic behavior in that = region.=20 The bfgs2 version of this minimizer is the most efficient version = available, and is a faithful implementation of the line minimization = scheme described in Fletcher's Practical Methods of Optimization, = Algorithms 2.6.2 and 2.6.4. It supercedes the original bfgs routine and = requires substantially fewer function and gradient evaluations. The = user-supplied tolerance tol corresponds to the parameter \sigma used by = Fletcher. A value of 0.1 is recommended for typical use (larger values = correspond to less accurate line searches).=20 |
|
From: Luigi B. <lui...@gm...> - 2007-05-28 14:46:30
|
On Thu, 2007-05-24 at 23:27 +0000, John Maiden wrote: > Working through and trying to understand the convertible bond model... Yes---apologies for the delay. With regard to your question about how the instrument drives the calculate() method of the engine, see the draft documentation I've made available at <http://www.compplusplus.com/2007/04/luigi_ballabio__2.html>. > ...and came up > with a proposed change. At the moment the model requires fixed cash dividends. > Proposed change to code would allow user to either choose a fixed cash dividend > (through using a FixedDividend) or a fixed percent dividend (through using a > FractionalDividend). Changes would be made to discretizedconvertible.cpp and > binomialconvertibleengine.hpp. Unfortunately, it's not so simple. Shifting the grid points by the amount of the fractional dividends causes the tree to no longer recombine. Actually, I remember we discussed the issue on the list at some point, but I don't seem to be able to retrieve the relevant posts. Does anyone happen to have records of the discussion? Later, Luigi ---------------------------------------- feature, n: A surprising property of a program. Occasionally documented. To call a property a feature sometimes means the author did not consider that case, and the program makes an unexpected, though not necessarily wrong response. See BUG. "That's not a bug, it's a feature!" A bug can be changed to a feature by documenting it. |
|
From: DU V. DE V. F. G. P. <fra...@ca...> - 2007-05-28 07:45:07
|
>It could be dealt with in the same way. What is the warning about? Nothing to worry about IMO, here is the description from MSDN: A qualifier, such as const, is applied to a function type defined by = typedef. Example: // C4180.cpp // compile with: /W1 /c typedef int *FuncType(void); // the const qualifier cannot be applied to the // function type FuncType const FuncType f; // C4180 Fran=E7ois |
|
From: Matthew T. <ti...@gm...> - 2007-05-25 16:23:16
|
Hi, Yes they work within macros - only if the macro is defined (You'll see a check for windows in the example below). But you might want to use something a little more fine grain. When you just outright disable the warning, you can miss valuable information in other files that include the offending header only through some odd hierarchy. You can disable a warning around a specific function (or line in your code or include statement): /* Disable "Unreferenced Formal Parameter Warning" */ #ifdef WIN32 #pragma warning( push ) #pragma warning( disable: 4100 ) #endif I've got a specialized template function right here that doesn't use one of the more general parameters, but -- to keep the interface the same -- I've left the parameter in, ignore it, & I deem it ok to turn off the warning for this function. After the offending function you can then re-enable the warning: /* Re-Enable "Unreferenced Formal Parameter Warning" */ #ifdef WIN32 #pragma warning( pop ) #endif In this way, only the warnings that you specifically comment on are disabled at the exact location in question. And notice I've used a check for WIN32 - I don't yet do any development in cygwin or Mingw w/ gcc so perhaps those could be replaced with a check for visual studio. - Matt Ps. I realize this isn't the forum to ask - but has anyone here tried using the visual studio compiler with eclipse?? I'd like to use MSBuild instead of Mingw so that I can move to eclipse & transparently use the solution/project files that the rest of the team depends on in Visual Studio. On 5/25/07, Luigi Ballabio <lui...@gm...> wrote: > On Fri, 2007-05-25 at 17:43 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS > GASAPRD PHI wrote: > > Ok thks, what about the #4180 ? > > It could be dealt with in the same way. What is the warning about? > > Later, > Luigi > > P.S. About your suggestion of a macro such as: > > #define QL_SAFE_BOOST_FUNCTION_INCLUDE \ > #pragma warning (disable: 4224) \ > etc. > > I am not sure how the preprocessor works. If a pragma is inside a macro > definition, does it get executed when the preprocessor reads it (i.e., > when the macro is defined, which doesn't make us any good) or when the > macro is expanded? > > > > -----Original Message----- > > From: Luigi Ballabio [mailto:lui...@gm...] > > Sent: Friday, May 25, 2007 3:47 PM > > To: DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI > > Cc: qua...@li... > > Subject: Re: [Quantlib-dev] disabling compilation warnings > > > > On Fri, 2007-05-25 at 12:56 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS > > GASAPRD PHI wrote: > > > I have just disabled the compilation warning #4224 for VC2005 by > > > adding the corresponding preprocessor command in ql/config.msvc.hpp. > > > I'm wondering if disabling uncommon compilation warning at a more > > > local level would'nt be more appropriated. > > > > True--in fact, I did it locally in the 0.8.0 branch. It will appear in > > the trunk when we merge it. > > > > Later, > > Luigi > > > > > > ---------------------------------------- > > > > Dealing with failure is easy: work hard to improve. Success is also > > easy to handle: you've solved the wrong problem. Work hard to improve. > > -- Alan Perlis > > > > > > ---------------------------------------- > > Testing can never demonstrate the absence of errors in software, only > their presence. > -- W.E. Dijkstra > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |
|
From: Gang L. <gum...@gm...> - 2007-05-25 16:16:56
|
Hi Luigi, Good to know that 0.8.0 is finalized. I will move to 0.9.0 soon. I am trying to find something more interesting to work on, and plan to do the MCMC part first. It wold be great if you can give me some pointers... Thanks! Gang On 5/25/07, Luigi Ballabio <lui...@gm...> wrote: > Hi Gang, > thanks for the contribution. I'll have a look at it as soon as I get > some time. However, it's too late for 0.8.0; the branch is finalized and > ready for release next week. Your class will make it into 0.9.0. > > Later, > Luigi > > > ---------------------------------------- > > Perfection is reached, not when there is no longer anything to add, but > when there is no longer anything to take away. > -- Antoine de Saint-Exupery > |
|
From: Luigi B. <lui...@gm...> - 2007-05-25 15:54:18
|
On Fri, 2007-05-25 at 17:43 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI wrote: > Ok thks, what about the #4180 ? It could be dealt with in the same way. What is the warning about? Later, Luigi P.S. About your suggestion of a macro such as: #define QL_SAFE_BOOST_FUNCTION_INCLUDE \ #pragma warning (disable: 4224) \ etc. I am not sure how the preprocessor works. If a pragma is inside a macro definition, does it get executed when the preprocessor reads it (i.e., when the macro is defined, which doesn't make us any good) or when the macro is expanded? > -----Original Message----- > From: Luigi Ballabio [mailto:lui...@gm...] > Sent: Friday, May 25, 2007 3:47 PM > To: DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI > Cc: qua...@li... > Subject: Re: [Quantlib-dev] disabling compilation warnings > > On Fri, 2007-05-25 at 12:56 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS > GASAPRD PHI wrote: > > I have just disabled the compilation warning #4224 for VC2005 by > > adding the corresponding preprocessor command in ql/config.msvc.hpp. > > I'm wondering if disabling uncommon compilation warning at a more > > local level would'nt be more appropriated. > > True--in fact, I did it locally in the 0.8.0 branch. It will appear in > the trunk when we merge it. > > Later, > Luigi > > > ---------------------------------------- > > Dealing with failure is easy: work hard to improve. Success is also > easy to handle: you've solved the wrong problem. Work hard to improve. > -- Alan Perlis > > ---------------------------------------- Testing can never demonstrate the absence of errors in software, only their presence. -- W.E. Dijkstra |
|
From: DU V. DE V. F. G. P. <fra...@ca...> - 2007-05-25 15:43:43
|
Ok thks, what about the #4180 ? Fran=E7ois -----Original Message----- From: Luigi Ballabio [mailto:lui...@gm...]=20 Sent: Friday, May 25, 2007 3:47 PM To: DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI Cc: qua...@li... Subject: Re: [Quantlib-dev] disabling compilation warnings On Fri, 2007-05-25 at 12:56 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI wrote: > I have just disabled the compilation warning #4224 for VC2005 by > adding the corresponding preprocessor command in ql/config.msvc.hpp. > I'm wondering if disabling uncommon compilation warning at a more > local level would'nt be more appropriated. True--in fact, I did it locally in the 0.8.0 branch. It will appear in the trunk when we merge it. Later, Luigi ----------------------------------------=20 Dealing with failure is easy: work hard to improve. Success is also=20 easy to handle: you've solved the wrong problem. Work hard to improve.=20 -- Alan Perlis=20 |
|
From: Luigi B. <lui...@gm...> - 2007-05-25 15:24:21
|
On Wed, 2007-05-23 at 21:25 -0700, Gang Liang wrote: > Please find the attached an implementation of the histogram class. I > just use it to test water... Can someone review the code and merge it > into the 0.8 branch if the code quality is fine? I will write a test > script for it later. Thanks, Hi Gang, thanks for the contribution. I'll have a look at it as soon as I get some time. However, it's too late for 0.8.0; the branch is finalized and ready for release next week. Your class will make it into 0.9.0. Later, Luigi ---------------------------------------- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. -- Antoine de Saint-Exupery |
|
From: Luigi B. <lui...@gm...> - 2007-05-25 15:20:13
|
Hi all, I've uploaded final candidate tarballs for the 0.8.0 release into <http://quantlib.org/prerelease/> (I'm talking about the QuantLib-0.8.0.* and QuantLib-SWIG-0.8.0.* files; the other files are unchanged.) Please download and test them if you have some spare cycles. Unless problems are found, these tarballs will be released next week. Note: while it is possible to download them via http, it is painfully slow. If you have a Sourceforge username, it's much faster to use scp; the files can be retrieved from <shell.sf.net://home/groups/q/qu/quantlib/htdocs/prerelease/> Thanks, Luigi ---------------------------------------- A little inaccuracy sometimes saves tons of explanation. -- H.H. Munro, "Saki" |
|
From: Luigi B. <lui...@gm...> - 2007-05-25 13:46:54
|
On Fri, 2007-05-25 at 12:56 +0200, DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI wrote: > I have just disabled the compilation warning #4224 for VC2005 by > adding the corresponding preprocessor command in ql/config.msvc.hpp. > I’m wondering if disabling uncommon compilation warning at a more > local level would‘nt be more appropriated. True--in fact, I did it locally in the 0.8.0 branch. It will appear in the trunk when we merge it. Later, Luigi ---------------------------------------- Dealing with failure is easy: work hard to improve. Success is also easy to handle: you've solved the wrong problem. Work hard to improve. -- Alan Perlis |
|
From: DU V. DE V. F. G. P. <fra...@ca...> - 2007-05-25 10:56:59
|
Hi all, =20 I have just disabled the compilation warning #4224 for VC2005 by adding = the corresponding preprocessor command in ql/config.msvc.hpp. I'm = wondering if disabling uncommon compilation warning at a more local = level would'nt be more appropriated. Indeed changing a line in = ql/config.msvc.hpp trigger the whole recompilation of QL, and increase = the size of a file which will be read hundred of times. For example the = compilation warning #4180 which appears only during matrix.cpp = compilation could be disabled the following way: =20 =20 #if defined (BOOST_MSVC) #pragma warning (disable: 4180) #endif =20 #include <boost/numeric/ublas/triangular.hpp> #include <boost/numeric/ublas/lu.hpp> =20 #if defined (BOOST_MSVC)=20 #pragma warning (default: 4180) #endif =20 =20 Since the compilation warning #4224 appear every time boost/function.hpp = is included (9 times in QL) we might define some handy macros somewhere: =20 #define QL_SAFE_BOOST_FUNCTION_INCLUDE \ #if defined (BOOST_MSVC) \ #pragma warning (disable: 4224) \ #endif \ #include <boost/function.hpp> \ #if defined (BOOST_MSVC) \ #pragma warning (default: 4224) \ #endif \ =20 any thoughts ? Fran=E7ois |
|
From: eric e. <eri...@gm...> - 2007-05-25 08:55:06
|
Hi Anwar, > I would like to develop a SOAP "front-end" to QuantLib. I don t think > anyone has started this yet. Would there be any interest in this? Yes! I'm just now looking at this exact same idea. > The idea would be to expose QuantLib as a standalone service/server > that could be leveraged through SOAP calls by other systems. How would you see the link from SOAP to QuantLib, i.e. how would you propose to deserialize an XML stream into an instance of a QuantLib object? Regards, Eric |
|
From: John M. <jwm...@ya...> - 2007-05-24 23:28:04
|
Working through and trying to understand the convertible bond model, and came up
with a proposed change. At the moment the model requires fixed cash dividends.
Proposed change to code would allow user to either choose a fixed cash dividend
(through using a FixedDividend) or a fixed percent dividend (through using a
FractionalDividend). Changes would be made to discretizedconvertible.cpp and
binomialconvertibleengine.hpp.
Besides changes to the code below, an additional change might have to
be made to DiscretizedConvertible::DiscretizedConvertible through its
initialization of the Array dividendValues_, though I'm not sure where else (or
how) in the program this array is used.
The code (changes are marked):
//Proposed change to dividends in DiscretizedConvertible.cpp
Disposable<Array> DiscretizedConvertible::adjustedGrid() const {
Time t = time();
Array grid = method()->grid(t);
// add back all dividend amounts in the future
for (Size i=0; i<arguments_.dividends.size(); i++) {
Time dividendTime = arguments_.dividendTimes[i];
if (dividendTime >= t || close(dividendTime,t)) {
const boost::shared_ptr<Dividend>& d = arguments_.dividends[i];
//begin proposed change
boost::shared_ptr<Dividend> testdiv =
boost::dynamic_pointer_cast<FixedDividend>(arguments_.dividends[i]);
if(testdiv){
for (Size j=0; j<grid.size(); j++)
grid[j] += d->amount(grid[j]);
} else {
for (Size j=0; j<grid.size(); j++)
grid[j] *= (1 + d->amount(grid[j]));
}
//end change
//begin original code
/* for (Size j=0; j<grid.size(); j++)
grid[j] += d->amount(grid[j]); */
//end original code
}
}
return grid;
}
//Proposed change to dividends in BinomialConvertibleEngine.hpp
template <class T>
void BinomialConvertibleEngine<T>::calculate() const {
boost::shared_ptr<GeneralizedBlackScholesProcess> process =
boost::dynamic_pointer_cast<GeneralizedBlackScholesProcess>(
this->arguments_.stochasticProcess);
QL_REQUIRE(process, "Black-Scholes process required");
DayCounter rfdc = process->riskFreeRate()->dayCounter();
DayCounter divdc = process->dividendYield()->dayCounter();
DayCounter voldc = process->blackVolatility()->dayCounter();
Real s0 = process->stateVariable()->value();
Volatility v = process->blackVolatility()->blackVol(
arguments_.exercise->lastDate(), s0);
Date maturityDate = arguments_.exercise->lastDate();
Rate riskFreeRate = process->riskFreeRate()->zeroRate(
maturityDate, rfdc, Continuous, NoFrequency);
Rate q = process->dividendYield()->zeroRate(
maturityDate, divdc, Continuous, NoFrequency);
Date referenceDate = process->riskFreeRate()->referenceDate();
// subtract dividends
Size i;
for (i=0; i<arguments_.dividends.size(); i++) {
boost::shared_ptr<Dividend> testdiv =
boost::dynamic_pointer_cast<FixedDividend>(arguments_.dividends[i]);
// begin proposed change
if(testdiv){
if (arguments_.dividends[i]->date() >= referenceDate)
s0 -= arguments_.dividends[i]->amount() *
process->riskFreeRate()->discount(
arguments_.dividends[i]->date());
} else {
if (arguments_.dividends[i]->date() >= referenceDate)
s0 /= (1 + arguments_.dividends[i]->amount()) *
process->riskFreeRate()->discount(
arguments_.dividends[i]->date());
}
//end proposed change
//begin original code
/*
if (arguments_.dividends[i]->date() >= referenceDate)
s0 -= arguments_.dividends[i]->amount() *
process->riskFreeRate()->discount(
arguments_.dividends[i]->date());
*/
//end original code
}
QL_REQUIRE(s0 > 0.0,
"negative value after subtracting dividends");
// binomial trees with constant coefficient
Handle<Quote> underlying(
boost::shared_ptr<Quote>(new SimpleQuote(s0)));
Handle<YieldTermStructure> flatRiskFree(
boost::shared_ptr<YieldTermStructure>(
new FlatForward(referenceDate, riskFreeRate, rfdc)));
Handle<YieldTermStructure> flatDividends(
boost::shared_ptr<YieldTermStructure>(
new FlatForward(referenceDate, q, divdc)));
Handle<BlackVolTermStructure> flatVol(
boost::shared_ptr<BlackVolTermStructure>(
new BlackConstantVol(referenceDate, v, voldc)));
boost::shared_ptr<PlainVanillaPayoff> payoff =
boost::dynamic_pointer_cast<PlainVanillaPayoff>(arguments_.payoff);
QL_REQUIRE(payoff, "non-plain payoff given");
Time maturity = rfdc.yearFraction(arguments_.settlementDate,
maturityDate);
boost::shared_ptr<StochasticProcess1D> bs(
new GeneralizedBlackScholesProcess(underlying, flatDividends,
flatRiskFree, flatVol));
boost::shared_ptr<T> tree(new T(bs, maturity, timeSteps_,
payoff->strike()));
Real creditSpread = arguments_.creditSpread->value();
boost::shared_ptr<NumericalMethod> lattice(
new TsiveriotisFernandesLattice<T>(tree,riskFreeRate,maturity,
timeSteps_,creditSpread,v,q));
// adjust times to grid
TimeGrid grid(maturity, timeSteps_);
for (i=0; i<arguments_.couponTimes.size(); i++)
arguments_.couponTimes[i] =
grid.closestTime(arguments_.couponTimes[i]);
for (i=0; i<arguments_.stoppingTimes.size(); i++)
arguments_.stoppingTimes[i] =
grid.closestTime(arguments_.stoppingTimes[i]);
for (i=0; i<arguments_.callabilityTimes.size(); i++)
arguments_.callabilityTimes[i] =
grid.closestTime(arguments_.callabilityTimes[i]);
for (i=0; i<arguments_.dividendTimes.size(); i++)
arguments_.dividendTimes[i] =
grid.closestTime(arguments_.dividendTimes[i]);
DiscretizedConvertible convertible(arguments_);
convertible.initialize(lattice, maturity);
convertible.rollback(0.0);
results_.value = convertible.presentValue();
}
|
|
From: Anwar L. <anw...@gm...> - 2007-05-24 18:11:52
|
Hi all, I would like to develop a SOAP "front-end" to QuantLib. I don t think anyone has started this yet. Would there be any interest in this? The idea would be to expose QuantLib as a standalone service/server that could be leveraged through SOAP calls by other systems. Cheers, Anwar. |
|
From: <fre...@gm...> - 2007-05-24 07:58:02
|
Hello, The architecture of QuantLib for optimization can be re-used, can't it? The main difference between conjugate gradient and bfgs is only the update of the vector "lineSearch_->searchDirection()". bfgs would re-use current "armijo linesearch". However, it is true that this case would need more time for tests and also that no box constraints have been developed in QuantLib with conjugate gradient. Regards, Fr=E9d=E9ric Degraeve ------------------------------ *From:* qua...@li... [mailto: qua...@li...] *On Behalf Of *DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI *Sent:* mercredi 23 mai 2007 19:35 *To:* Bianchetti Marco; qua...@li... *Subject:* Re: [Quantlib-dev] optimizers Here is a good C++ implementation candidate, http://www.alglib.net/optimization/lbfgs.php Though, I'm not absolutely sure that the terms of use are compatible with those of QL. Fran=E7ois -----Original Message----- *From:* qua...@li... [mailto: qua...@li...] *On Behalf Of *Bianchetti Marco *Sent:* Wednesday, May 23, 2007 6:13 PM *To:* qua...@li... *Subject:* [Quantlib-dev] optimizers Hello, at the moment are available into QuantLib the following optimizers: =B7 Simplex (recently revisited: the Numerical Recipes implementati= on badly failed in finding the minimum of a 1D parabole...) =B7 Levenberg-Marquardt =B7 Conjugate Gradient =B7 Steepest Descent (still to be debugged, work in progress) and we are currently considering the option to port into QuantLib the *Broyden-Fletcher-Goldfarb-Shanno (BFGS2)* algorithm, which in GSL is declared to be the best (see the text below). So: =B7 Any comment on the choice of BFGS2? do anyone has experience wi= th it ? =B7 is anyone aware of an available open source C++ implementation = to be ported into Quantlib with small effort ? Personally, I would prefer NOT to translate the GSL implementation from C t= o C++, because of the danger to introduce some tricky bug and because it requires a much more sophisticated test suite (and much work). ciao Marco --- from: http://www.gnu.org/software/gsl/manual/html_node/Multimin-Algorithms.html Minimizer: *gsl_multimin_fdfminimizer_vector_bfgs2* Minimizer: *gsl_multimin_fdfminimizer_vector_bfgs* These methods use the vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm. This is a quasi-Newton method which builds up an approximation t= o the second derivatives of the function f using the difference between successive gradient vectors. By combining the first and second derivatives the algorithm is able to take Newton-type steps towards the function minimum, assuming quadratic behavior in that region. The bfgs2 version of this minimizer is the most efficient version available= , and is a faithful implementation of the line minimization scheme described in Fletcher's Practical Methods of Optimization, Algorithms 2.6.2 and 2.6.4= . It supercedes the original bfgs routine and requires substantially fewer function and gradient evaluations. The user-supplied tolerance tolcorresponds to the parameter \sigma used by Fletcher. A value of 0.1 is recommended for typical use (larger values correspond to less accurate line searches). |
|
From: Gang L. <li...@uc...> - 2007-05-24 04:25:14
|
Hi, Please find the attached an implementation of the histogram class. I just use it to test water... Can someone review the code and merge it into the 0.8 branch if the code quality is fine? I will write a test script for it later. Thanks, Gang |
|
From: DU V. DE V. F. G. P. <fra...@ca...> - 2007-05-23 17:35:29
|
=20 Here is a good C++ implementation candidate,=20 =20 http://www.alglib.net/optimization/lbfgs.php =20 Though, I'm not absolutely sure that the terms of use are compatible = with those of QL.=20 Fran=E7ois =20 -----Original Message----- From: qua...@li... = [mailto:qua...@li...] On Behalf Of = Bianchetti Marco Sent: Wednesday, May 23, 2007 6:13 PM To: qua...@li... Subject: [Quantlib-dev] optimizers =20 Hello, =20 at the moment are available into QuantLib the following optimizers: * Simplex (recently revisited: the Numerical Recipes = implementation badly failed in finding the minimum of a 1D parabole...) * Levenberg-Marquardt * Conjugate Gradient * Steepest Descent (still to be debugged, work in progress) and we are currently considering the option to port into QuantLib the = Broyden-Fletcher-Goldfarb-Shanno (BFGS2) algorithm, which in GSL is = declared to be the best (see the text below). So: * Any comment on the choice of BFGS2? do anyone has experience = with it ? * is anyone aware of an available open source C++ implementation = to be ported into Quantlib with small effort ? Personally, I would prefer NOT to translate the GSL implementation from = C to C++, because of the danger to introduce some tricky bug and because = it requires a much more sophisticated test suite (and much work). =20 ciao Marco =20 --- from: = http://www.gnu.org/software/gsl/manual/html_node/Multimin-Algorithms.html= Minimizer: gsl_multimin_fdfminimizer_vector_bfgs2 Minimizer: gsl_multimin_fdfminimizer_vector_bfgs These methods use the vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) = algorithm. This is a quasi-Newton method which builds up an = approximation to the second derivatives of the function f using the = difference between successive gradient vectors. By combining the first = and second derivatives the algorithm is able to take Newton-type steps = towards the function minimum, assuming quadratic behavior in that = region.=20 The bfgs2 version of this minimizer is the most efficient version = available, and is a faithful implementation of the line minimization = scheme described in Fletcher's Practical Methods of Optimization, = Algorithms 2.6.2 and 2.6.4. It supercedes the original bfgs routine and = requires substantially fewer function and gradient evaluations. The = user-supplied tolerance tol corresponds to the parameter \sigma used by = Fletcher. A value of 0.1 is recommended for typical use (larger values = correspond to less accurate line searches).=20 |
|
From: Bianchetti M. <mar...@ca...> - 2007-05-23 16:18:42
|
Hello, =20 at the moment are available into QuantLib the following optimizers: * Simplex (recently revisited: the Numerical Recipes implementation badly failed in finding the minimum of a 1D parabole...) * Levenberg-Marquardt * Conjugate Gradient * Steepest Descent (still to be debugged, work in progress) and we are currently considering the option to port into QuantLib the Broyden-Fletcher-Goldfarb-Shanno (BFGS2) algorithm, which in GSL is declared to be the best (see the text below). So: * Any comment on the choice of BFGS2? do anyone has experience with it ? * is anyone aware of an available open source C++ implementation to be ported into Quantlib with small effort ? Personally, I would prefer NOT to translate the GSL implementation from C to C++, because of the danger to introduce some tricky bug and because it requires a much more sophisticated test suite (and much work). =20 ciao Marco =20 --- from: http://www.gnu.org/software/gsl/manual/html_node/Multimin-Algorithms.htm l Minimizer: gsl_multimin_fdfminimizer_vector_bfgs2 Minimizer: gsl_multimin_fdfminimizer_vector_bfgs These methods use the vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm. This is a quasi-Newton method which builds up an approximation to the second derivatives of the function f using the difference between successive gradient vectors. By combining the first and second derivatives the algorithm is able to take Newton-type steps towards the function minimum, assuming quadratic behavior in that region.=20 The bfgs2 version of this minimizer is the most efficient version available, and is a faithful implementation of the line minimization scheme described in Fletcher's Practical Methods of Optimization, Algorithms 2.6.2 and 2.6.4. It supercedes the original bfgs routine and requires substantially fewer function and gradient evaluations. The user-supplied tolerance tol corresponds to the parameter \sigma used by Fletcher. A value of 0.1 is recommended for typical use (larger values correspond to less accurate line searches).=20 |
|
From: Subhro N. <na...@gm...> - 2007-05-23 05:36:55
|
Is anybody working on building a module for richardson extrapolation? Thanks. > Today's Topics: > > 1. 0.8.0 candidate tarballs (Luigi Ballabio) > 2. How to generate correlation multipath (Apollo Wong) > 3. Join Project (Subhro Nandi) > 4. Re: a simple question > (DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI) > 5. Some noobie questions (Takashi Yamamoto) > 6. ObjectHandler/QuantLibAddin 0.8.0 prerelease files (eric ehlers) > 7. Re: Join Project (Luigi Ballabio) > 8. Re: Plans for future releases and call for contributions > (Luigi Ballabio) > 9. Re: Plans for future releases and call forcontributions > (xiaoming lai) > > > Message: 7 > Date: Mon, 21 May 2007 18:16:11 +0200 > From: Luigi Ballabio <lui...@gm...> > Subject: Re: [Quantlib-dev] Join Project > To: Subhro Nandi <na...@gm...> > Cc: qua...@li..., > qua...@li... > Message-ID: <1179764171.6015.187.camel@ITSUP001> > Content-Type: text/plain > > On Fri, 2007-05-18 at 11:21 -0400, Subhro Nandi wrote: > > I apologize if this is not the right forum to ask this question. I was > > reviewing the "To Do" lists in the Project Overview page. I would like > > to contribute in some of the finite difference methods. Is there > > anybody/group working on "Richardson Extrapolation". I could not find > > it on the Open Tasks page. Whats the procedure to get started? > > Hi Subhro, > let's talk about it on the quantlib-dev mailing list. > > Later, > Luigi > > > ---------------------------------------- > |
|
From: pseudo <gum...@gm...> - 2007-05-22 22:20:22
|
Hi, dear quantlib developers, I am interested in finance, and would like to make some contributions to the quantlib project. My background is mostly on statistics. After scanning through the project, I noted that many important statistical methods are still missing. So I decided to start from there. It is great if someone can point me what statistical methods are greatly need. As the first step, I plan to implement the histogram class as indicated in the TODO page. Then I'd like to work on the spline and Monto Carlo classes... Any feedbacks are welcome. Thanks! Gang P.S.: it is possible to create a svn account for me? The FAQ page does not contain such information. Or you only assign one an account after he/she has made some substantial contributions? |
|
From: xiaoming l. <lx...@th...> - 2007-05-22 05:53:35
|
Luigi, I'd like to implement the 30yr fixed rate mortgage with the PSA model as the start, and extend it to the other mortgage types and other advanced prepayment models later. Thanks, Xiaoming ----- Original Message ----- From: "Luigi Ballabio" <lui...@gm...> To: "Xiaoming Lai" <lx...@th...> Cc: "QuantLib developers" <qua...@li...> Sent: Tuesday, May 22, 2007 12:18 AM Subject: Re: [Quantlib-dev] Plans for future releases and call forcontributions > On Thu, 2007-05-17 at 23:47 +0800, Xiaoming Lai wrote: >> I know it is a late reply. > > No problem. We all have real works. > >> But today when I got time to review the historical emails, I think that >> it is a time for me to contribute something back to the project. >> >> I had kept an eye on this project for more than three years, I really >> learned a lot from all people and project itself. >> >> I will work the mortgage pricing as the start. > > Ok. Do you need any pointers on how to get started, or how to integrate > your code with the rest of the library? > > Later, > Luigi > > > ---------------------------------------- > > Blessed is the man who, having nothing to say, abstains from giving > wordy evidence of the fact. > -- George Eliot > > |
|
From: Luigi B. <lui...@gm...> - 2007-05-21 16:18:26
|
On Thu, 2007-05-17 at 23:47 +0800, Xiaoming Lai wrote: > I know it is a late reply. No problem. We all have real works. > But today when I got time to review the historical emails, I think that it is a time for me to contribute something back to the project. > > I had kept an eye on this project for more than three years, I really learned a lot from all people and project itself. > > I will work the mortgage pricing as the start. Ok. Do you need any pointers on how to get started, or how to integrate your code with the rest of the library? Later, Luigi ---------------------------------------- Blessed is the man who, having nothing to say, abstains from giving wordy evidence of the fact. -- George Eliot |
|
From: Luigi B. <lui...@gm...> - 2007-05-21 16:16:36
|
On Fri, 2007-05-18 at 11:21 -0400, Subhro Nandi wrote: > I apologize if this is not the right forum to ask this question. I was > reviewing the "To Do" lists in the Project Overview page. I would like > to contribute in some of the finite difference methods. Is there > anybody/group working on "Richardson Extrapolation". I could not find > it on the Open Tasks page. Whats the procedure to get started? Hi Subhro, let's talk about it on the quantlib-dev mailing list. Later, Luigi ---------------------------------------- The wisdom of the wise and the experience of the ages are perpetuated by quotations. -- Benjamin Disraeli |
|
From: eric e. <eri...@gm...> - 2007-05-19 15:57:26
|
Hi All Here's the link to the prerelease files for version 0.8.0 of ObjectHandler and QuantLibAddin: http://quantlib.org/prerelease/oh-qla.html I'd be grateful to anyone who could test the files and let me know how it goes. Regards, Eric |