From: Klaus S. <kla...@fr...> - 2005-11-19 19:52:09
|
Enrico Michelotti wrote: >1- Why th first forward is set to start at time zero and not at any time? >If you have a general schedule not starting today? Do I need to interpolate >rates? At the time being it is more important for me to get various volatility and correlation parameterizations working. Supporting non matching accrual periods should IMO be implemented after a "real" calibration of libor forward models is working. >2- The simulated forwards are very good (and also caplets) for maturities >shorter than 5y-8y. But if the mk caplet volatility is not well behaved (or >sufficiently smooth) the process crasches during the costruction of lambdas: >In fact if vol2 = vol(i)*vol(i)*t(i) is smaller then vol1 = >vol(i-1)*vol(i-1)*t(i-1) then l = vol2- vol1 <0 and sqrt(l/delta(i-1)) >crashes. Dou you have any ideas? Do you think could be possible to use a >parametric version of caplet volatility? The caplet volatility boostrapping is known to be "sensitive" if the caplet volatility is not sufficiently smooth;-( In my current version the lmm process can be parameterized using different volatility and correlation models including the caplet volatility bootstrapping but also parametric versions are available. (see e.g. http://www.exoticderivatives.com/Mas_papers.html). For the parametric versions we need the calibration facility working and that is what I'm currently working on (calibration helper stuff etc.). Hopefully I get this stuff ready before 0.3.12 is out. >3- Why does the drift function take the deltas instead the accrual periods? I >think it should use the accrual period instead, due to the fact that: P(ti, >ti+1) = 1/(1+ delta(i)*Fi) and the delta should be the accrual period on >which the forward is built. At the beginning I followed the Hull White article (www.rotman.utoronto.ca/~amackay/fin/libormktmodel2.pdf) where the deltas are defined as the time periods between the reset dates. I fixed this imprecision for the CapletLiborMarketModelProcess::discountBond method but I've missed the drift method. For non-pathological situations one will hardly recognize the difference in a Monte-Carlo simulation. I ran some examples with millions of paths and didn't get differences bigger than the MC error. Thanks for the hint, I'll fix this with the next version. cheers _______________________________________________________ Klaus Spanderen Hubertustal 13f 48734 Reken (Germany) Email: klaus.spanderen@NOSPAMfreenet.de (remove NOSPAM from the address) http://www.spanderen.de |