Serving the Quantitative Finance Community

 
User avatar
rplat
Topic Author
Posts: 0
Joined: February 22nd, 2005, 11:24 am

Error in displaced diffusion process

September 4th, 2008, 5:54 am

You will probably recognise the situation that there is a mistake in your model, you know it is probably a stupid or obvious mistake, but you can't find it. Well, that is exactly where I am now. There is a mistake in my implementation of the UPM-model of Brigo & Mercurio. The simulated option price is well above the BS option price. Other checks, such as the martingale property, are ok. Therefore I tried to find the error by making the most simple version of the model, a displaced diffusion. And still the error is in....If anyone can look at the implementation below, I am grateful.The process for the equity price is:dS(t) = r(t)S(t)dt + sigma * (S(t) - alpha exp{m(t)})dW(t)Using Ito's lemma and rewriting a little, the following results: log(S(t) - alpha exp{m(t)}) = log(S(s) - alpha exp{m(s)}) + int{r(u)du} - 0.5 sigma^2 (t-s) + sigma int{dW(u)}I simulate this and to obtain the simulated prices I do: exp ( log [ S(t) - alpha exp{m(t)} ] ) + alpha exp{m(t)} I compare the resulting option prices with a regular BS price, where I subtracted the term alpha exp{m(T)} to the equity price and the strike.The visual basic implementation is below: For sim = 1 To numbsims logs = Log(1 - alpha_equity) For year = 1 To 10 aselect_eq = genrand_real3() 'Random drawings from a uniform(0,1) distribution Random_eq = InverseN2(aselect_eq, 0, 1) 'Obtaining the sample from the inverse cumulative normal distribution logt = logs + 0.04 - 0.5 * (sigma_equity ^ 2) + sigma_equity * Random_eq 'Simulating yearly logs of equity prices, interest rate = 4% Add_asset(1, sim, year) = Exp(logt) + alpha_equity * Exp(0.04 * year) logs = logt Next year Next sim Anyone?
 
User avatar
rplat
Topic Author
Posts: 0
Joined: February 22nd, 2005, 11:24 am

Error in displaced diffusion process

September 4th, 2008, 6:01 am

Sorry, in the 2th sentence I mean "below" instead of "above"...