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}
(1) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1

2

3

4

5

6
(2) 
7

8

9

10

11
(2) 
12

13
(2) 
14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31






From: Ferdinando Ametrano <nando@qu...>  20030313 23:33:19

Hi all I got no feedback to the message below. I'm going to assume that I can remove the antithetic calculation from all PathPricer in favour of the new MonteCarlo PathGenerator2. Should I also assume that I can remove the old PathGenerator? There will be a severe hit on performances, that will be solved in the medium term using the visitor pattern to make PathGenerator2 smarter. ciao  Nando >Date: Thu, 06 Mar 2003 16:29:18 +0100 >To: QuantLibdev <quantlibdev@...> >From: Ferdinando Ametrano <nando@...> >Subject: new MonteCarlo::PathGenerator2 > >Hi all > >I've just committed a new path generator MonteCarlo::PathGenerator2. I >named it with the trailing 2 in the hope to allow it to live together with >the old MonteCarlo::PathGenerator. > >The new one is based on Sad's TimeGrid class to handle the time >discretization and Sad's DiffusionProcess class to actually generate >paths. Since the Black Scholes DiffusionProcess is now time/asset >dependant the new PathGenerator is also time/asset dependant. > >Unfortunately when the diffusion process is asset dependant we cannot >calculate the antithetic path in the path pricer anymore, since the drift >component is not common between a path and its antithetic one anymore. The >antithetic path must be calculated by the PathGenerator itself. > >This means that all the current PathPricers are wrong when the drift >process is asset dependant, and I'm going to remove the antithetic >calculation from all PathPricer in favour of the new MonteCarlo Pricing Engine. > >Then of course, I would also like to remove the old PathGenerator. > >I look forward to your feedback > >ciao  Nando > 
From: Ferdinando Ametrano <nando@qu...>  20030313 23:20:43

Hi Nicolas I found out that the algorithm you contributed for cubic spline interpolation is unable to fit a straight line y(x)=a*x+b when a and b are not integer. The interpolated function f(x) waves around y(x) and it equals y(x) at the tabulated x[i],y[i]. As temporary patch I've resumed the old code using the Numerical Recipes algorithm, and there is a compilation flag (actually a boolean data member) to switch from the NR algorithm to your code. Could you take a look at the problem? I don't think it is a roundoff problem, but I might be wrong. I would also appreciate if you could comment the code a little more, especially when it comes to the definition of the tridiagonal operator. Specifically I would like to understand which equation is described in each row of the operator. I definitely prefer your approach to the NR one, and I hope we could get the best from both approaches. Let's try to summarize: we want to interpolate N points using N1 cubic polynomials. N1 cubics are defined by 4(N1) parameters: P_i(x)=a_i+b_i*x+c_i*x^2+d_i*x^3. For each cubic we have 2 equations for the values, P_i(x_i)=y_i and P_i(x_{i+1})=y_{i+1}, that is 2(N1) equations, plus 2 equations for the continuity of the first and second derivatives at the joining knots of the P_i, that are 2(N2) equations. So we have 4N6 equations and 4N4 parameters. We need 2 boundary conditions at X_0 and X_N NR allows to set at X_0 and X_N the value of the first derivative or to set the second derivative equal to zero. If I've got it right your code is smarter in the sense that it guesses the "best" boundary conditions from the shape of the tabulated (x[i],y[i]), but it's not clear to me how it does work. I would like to keep the tridiagonal operator approach (that is more clear than the cryptic NR code), but we could allow the user to set the first or second derivative (not necessary equal to zero as in NR) if he likes, and if he doesn't set them then use your guess algorithm. Do you agree? Am I missing something? And last but not least would you make the hacking ;) ?  ciao  Nando 
From: Luigi Ballabio <luigi.ballabio@fa...>  20030311 18:07:42

At 01:20 PM 3/11/03 +0200, Andre Louw wrote: >I am in need of an arrears fixing swap. I assume you have given it some >thought? Andre, Nicolas committed a few classes a couple of weeks ago which might be the ones you need. You can check out the current CVS tree and look into ql/CashFlows  in particular, IndexedCoupon, InArrearsIndexedCoupon, and UpFrontIndexedCoupon. Later, Luigi 
From: Andre Louw <AndreL@decillion.net>  20030311 11:08:46

Luigi, I am in need of an arrears fixing swap. I assume you have given it some thought? My first thought was that it should be fairly simple to add an averaging xibor class which implements a fixing() method. Supplied with the periodStart and End dates as well as the fixingDays, it can then calculate a fixing rate to pass back to the caller. This same could then be used from within the existing amount() method in floatingratecoupon. Does this make sense? What I noticed is that floatingratecoupon uses the index>termStructure>dayCounter to determine it's period, whereas xibor uses it's own dayCounter, is this a market convention? This is of course only part of the problem  the whole issue of having fixingDates at the end need to be addressed as well. What is your feeling about this? Am I on the right track? I have a few other issues that I would like to run by you, can you maybe supply me with a phone number where I can contact you during office hours? Andre  This email is intended only for the use of the individual or entity named above and may contain information that is confidential and privileged, proprietary to the company and protected by law. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this email is strictly prohibited. Opinions, conclusions and other information in this message that do not relate to the official business of our company shall be understood as neither given nor endorsed by it. 
From: Ferdinando Ametrano <nando@qu...>  20030306 15:49:25

Hi all I've just committed a new path generator MonteCarlo::PathGenerator2. I named it with the trailing 2 in the hope to allow it to live together with the old MonteCarlo::PathGenerator. The new one is based on Sad's TimeGrid class to handle the time discretization and Sad's DiffusionProcess class to actually generate paths. Since the Black Scholes DiffusionProcess is now time/asset dependant the new PathGenerator is also time/asset dependant. Unfortunately when the diffusion process is asset dependant we cannot calculate the antithetic path in the path pricer anymore, since the drift component is not common between a path and its antithetic one anymore. The antithetic path must be calculated by the PathGenerator itself. This means that all the current PathPricers are wrong when the drift process is asset dependant, and I'm going to remove the antithetic calculation from all PathPricer in favour of the new MonteCarlo Pricing Engine. Then of course, I would also like to remove the old PathGenerator. I look forward to your feedback ciao  Nando 
From: Ferdinando Ametrano <nando@qu...>  20030306 15:49:23

Hi Sad you might have noticed that I'm using quite a few of your classes lately: Exercise, DiffusionProcess, TimeGrig, etc. I'm especially interested in the medium term to "merge" into the Lattice framework the finite difference approach along with the tree based approach. I've also added a few binomial trees that I coded for a course. A few things are not completely clear to me, and are stopping me from further work with the Lattice framework. 1) what is the addTimes method in charge of? 2) in general I see the rollback procedure too deeply encapsulated, not allowing easy intermediate rollback. Am I wrong? do you have a suggestion? E.g. I would like to perform a socalled blackscholes adjustment to all binomial trees, and that is an adjustment you perform only at the first rollback (T1*dt), then you roll all the way back as usual. I'm quite confused where I could perform such adjustment On a different topic: I would like to have a date interface for DiffusionProcess, along with the existing time interface. This is quite natural and easy when you take a look at the current BlackScholesProcess that accepts term structures as input. It is not that easy for the OrnsteinUhlenbeckProcess, at least for me considering the way it is used in the model dynamics. I performed a cursory look at the code, but where OrnsteinUhlenbeckProcesses are instantiated there are no Dates or TermStructure around providing the data I would need, basically the origin date and the dayCounter. BTW to make OrnsteinUhlenbeckProcess accept time dependent parameters would allow to have interest rate models with nonflat vol and mean reversion 