Page 1 of 1

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 5:11 pm
by Afth
Dear all,imagine a typical situation in an insurance company: a large pile of future cashfllows (all kinds of characteristics) on a long horizon (say 70 units (years)) programmed in a projection system. This system needs to be fed with paths generated by a model describing the evolution of a stock price and interest rates. For this we use a combined Hull-White/Black-Scholes model. Currently we are simply using a straightforward Monte Carlo simulation (Euler discretisation of time), with antithetic paths for some variance reduction. Due to the complexity of the cashflows in the projection system the number of paths that can be used as input is limited to say 1000 to 2000. As is to be expected of course, especially towards the end of the projection period the stock price paths start behaving badly in the sense that the discounted empirical mean is far off from its theoretical value S(0).I'm now looking for methods to improve the behaviour of especially this discounted empirical mean within this framework. My first (naive) guess is to try something like stratified sampling or moment matching. I am wondering whether people here have better ideas, are there methods that are better suited in such a setting?Thanks in advance!

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 5:44 pm
by Alan
Your problems may be related to those discussed in this threadThe first thing I would do is set the interest rate = constant = r =long run mean and see if you still have problems.In that case, is the stock price generated by dS = r S dt + sigma S dW(t)?If the answer is yes and there are still problems, post some specifics, like dt, r, sigma, S(0), <exp(-r T) S(T)>, where <...> is the MC average, and the MC std. errors If the answer is no, first explain exactly how you generate S(T) (in this simplified case)regards,

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 5:58 pm
by Afth
Thanks Alan, I'll have a look . To reply to your edit, yes with your simplification to set interest rate constant it is just standard Black & Scholes. I'll get back to your questions in more detail when I'm back at work Monday, I can't access the data right now. What I can say already is that in the simulation:dt=0.01, sigma is approx. 0.2, S(0) =1 (for simplicity), T=75 (say),and the simulation procedure is to simply generate path-by-path, at each time step k drawing from a standard normal and doing the required calculations with that number to find S(k+dt). I trust I didn't make mistakes in that trivial part .In the original problem, so without setting the interest rate constant, the empirical mean of exp(..t..)*S(t) drifts off to values >1.1 and/or <0.9 if t gets closer to T.

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 6:23 pm
by Alan
I will guess that my comment in the other threadQuote No, deltaT is irrelevant. Let B(t) be a Brownian motion. Do an "exact simulation" ofE M(T) = E exp(B(T) - T/2) by averaging NSIM drawings of X = exp(Z Sqrt(T) - T/2), where Z is a unit normal variate.This is -exact- with one big step from t=0 to t=T (NT = 1); i.e., no value of deltaT could improve upon this, since we are drawing from the exact terminal distribution.Writing <X> for the MC average with MC std. error in parens, I get, for T = 30:(T=30)NSIM <X> Std. error----------------------------10^4 0.15 (0.07)10^5 0.23 (0.14)10^6 0.48 (0.20)10^7 0.66 (0.19)10^8 0.89 (0.27)10^9 1.03 (0.20) is your problem also.To confirm it, just do an exact simulation ofE exp( sig B(T) - sig^2/2 T) by averaging NSIM drawings of X = exp(Z sig Sqrt(T) - sig^2 T/2), where Z is a unit normal variate,and sig = your 0.2 and T = 75.In the above, sig^2 T = 30, but in your case sig^2 T = 3, so you won't need to test so many trials.But, you will probably see the same pattern: values less than 1 that approach 1 as NSIM is increased.Now you know the value of NSIM that is necessary to get good results. If you confirm this, then theproblem becomes -- how to generate this many trials in your case? There may be some easy fixes ...

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 6:42 pm
by Afth
Yes, I agree deltaT (or dt) is irrelevant by the scaling property of Brownian motion.Maybe I should explain a bit more that the original situation is that the paths are generated by a (closed source) third party application that basically only allows to change some parameters, so I won't be able to do the experiment you suggested using this application. But then again, due to these limitations I probably need to generate the (improved) stock price paths anyhow outside this application, so I'll implement your experiment in an Excelsheet.

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 6:47 pm
by Alan
Yes, try it. I just tried it myself and it looks to me that you may get very satisfactory results, for sig^2 T = 3 with 10^5trials.

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 7:52 pm
by mj
If you can manipulate the paths after drawing, map them to log space, and then add \mu t to them to get the desired final mean. You could also scale the distance from the mean to get desired variance.

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 7:52 pm
by Afth
My results (with sigma=0.2 and T=75):Indeed 10^5 simulations already looks quite nice.

Improve results MC simulations for long horizon BS-model

Posted: September 12th, 2008, 7:56 pm
by Afth
QuoteOriginally posted by: mjIf you can manipulate the paths after drawing, map them to log space, and then add \mu t to them to get the desired final mean. You could also scale the distance from the mean to get desired variance.Sorry, I don't think I understand what you're trying to point out?

Improve results MC simulations for long horizon BS-model

Posted: September 13th, 2008, 1:37 am
by mj
You can use moment matching to ensure that the sample mean and variance are precisely what you want.

Improve results MC simulations for long horizon BS-model

Posted: September 13th, 2008, 9:29 am
by Afth
QuoteOriginally posted by: mjYou can use moment matching to ensure that the sample mean and variance are precisely what you want.Ah, yes, sorry, that is one of the possibilities I was thinking about as well . However, what makes me a bit hesitant is that you actually really adjust the stochastic properties by doing so... Would applying (some strong form) of stratified sampling, e.g. grouping the 1000 simulations by 100 groups of 10 each, be a feasible alternative to your mind?

Improve results MC simulations for long horizon BS-model

Posted: September 14th, 2008, 10:26 pm
by mj
Well, you clearly can do either or both! I don't think either would do any harm and both would probably reduce variance quite a bit.

Improve results MC simulations for long horizon BS-model

Posted: September 14th, 2008, 10:29 pm
by mj
The problem you may be hitting is that log-normals are not very nice long term. If r - 0.5\sigma^2 < 0 then most paths will go zero and a small number will give most of the value.

Improve results MC simulations for long horizon BS-model

Posted: September 15th, 2008, 2:46 pm
by jl8925
I work for insurance company,too. So I am in the same boat. Any projections more than 1000 scenarios are practically impossible. So far, we have not found an easy solution to force E[S(t)*discount factor(t)] to converge to S(0) quickly. Afth, what will you use the model for? Pricing or valuation? We use our model for fair value calculation. Our fixed account liability is pretty small compared with separate account. So we took the short cuts by model interest rates and equity returns separately. Instead of using risk neutral scenarios, we do the projections under forward measure to simplify the discount factors.We are still looking for a method to combine interest rates and equity returns for pricing. QuoteOriginally posted by: AfthDear all,imagine a typical situation in an insurance company: a large pile of future cashfllows (all kinds of characteristics) on a long horizon (say 70 units (years)) programmed in a projection system. This system needs to be fed with paths generated by a model describing the evolution of a stock price and interest rates. For this we use a combined Hull-White/Black-Scholes model. Currently we are simply using a straightforward Monte Carlo simulation (Euler discretisation of time), with antithetic paths for some variance reduction. Due to the complexity of the cashflows in the projection system the number of paths that can be used as input is limited to say 1000 to 2000. As is to be expected of course, especially towards the end of the projection period the stock price paths start behaving badly in the sense that the discounted empirical mean is far off from its theoretical value S(0).I'm now looking for methods to improve the behaviour of especially this discounted empirical mean within this framework. My first (naive) guess is to try something like stratified sampling or moment matching. I am wondering whether people here have better ideas, are there methods that are better suited in such a setting?Thanks in advance!