Page 1 of 1
Basic Monte Carlo question
Posted: January 8th, 2012, 12:09 am
by DoubleTrouble
Hello!I want to use Monte Carlo calculate the expected price of a European option at time t i.e. I want to calculate:where the dynamics of the underlying process is given by:Sigma is a rather involved expression so I leave it out, but it depends both on t and S(t) and it has been constructed so that the SDE has a unique strong solution and has a density which is a sum of lognormals. I would know how to do Monte Carlo if I could solve the SDE analytically, but I don't think that is possible in this case? If it is possible I would be very curious to find out how!Let's assume it's not possible to solve it analytically. Correct me if I'm wring but must I first solve the SDE numerically by using Euler-Maruyama or Milstein and THEN do Monte Carlo?Thank you in advance!
Basic Monte Carlo question
Posted: January 8th, 2012, 4:24 am
by secret2
Brownian motion is fractal in nature. To mimic it with finite computing power, you have to somehow discretize your stochastic dynamics. Euler-Maruyama and Milstein are schemes to achieve such purpose. You implement your Monte Carlo simulation WITH one of these schemes.
Basic Monte Carlo question
Posted: January 8th, 2012, 8:34 am
by Cuchulainn
There are open source MC codes here that might shed some light on this. An update with more schemes in imminent. Here is a snippet from MC102. BTW Euler and Milstein are not great. Predictor-corrector with displaced drift might be worth trying.
Basic Monte Carlo question
Posted: January 8th, 2012, 4:42 pm
by DoubleTrouble
Thank you secret2 and Cuchulainn!Now I feel confident in my ability to solve the SDE numerically. However I still don't understand how I can calculate this quantity:How do I deal with the conditioning? The only thing I can calculate now is the price at time t=0. Thank you in advance!
Basic Monte Carlo question
Posted: January 8th, 2012, 5:03 pm
by KnutSchnute
Given the Filtration in t just means that as a starting point for simulating the future development of stock prices, you take the price at t =0. From there, you simulate new prices, calculate the payoffs at T, take the average over the number of simulations and discount that value
Basic Monte Carlo question
Posted: January 8th, 2012, 8:10 pm
by bearish
QuoteOriginally posted by: DoubleTroubleThank you secret2 and Cuchulainn!Now I feel confident in my ability to solve the SDE numerically. However I still don't understand how I can calculate this quantity:How do I deal with the conditioning? The only thing I can calculate now is the price at time t=0. Thank you in advance!You just discovered one of the biggest problems with using MC for valuation. The standard approach only gives you the initial value. You can try some regression based approaches to estimate conditional values for later dates -- see the literature on valuing American options via MC (e.g. Longstaff & Schwartz), but it is not trivial.
Basic Monte Carlo question
Posted: January 8th, 2012, 8:38 pm
by mj
if it's one dimensional, you can simply build up a table. Divide spot space into a number of buckets and store the average value of S_t and C(S,_tt) in each bucket and then do some kind of linear interpolation.You could speed the whole thing up by using a constant or time -dependent volatility process as a control variate.
Basic Monte Carlo question
Posted: January 8th, 2012, 9:17 pm
by secret2
QuoteOriginally posted by: bearishQuoteOriginally posted by: DoubleTroubleThank you secret2 and Cuchulainn!Now I feel confident in my ability to solve the SDE numerically. However I still don't understand how I can calculate this quantity:How do I deal with the conditioning? The only thing I can calculate now is the price at time t=0. Thank you in advance!You just discovered one of the biggest problems with using MC for valuation. The standard approach only gives you the initial value. You can try some regression based approaches to estimate conditional values for later dates -- see the literature on valuing American options via MC (e.g. Longstaff & Schwartz), but it is not trivial.Interesting bearish, I never looked at LSMC in this light, thanks.
Basic Monte Carlo question
Posted: May 19th, 2015, 1:05 pm
by skullx
I also have a basic question on MC.Trying to price a 3-year structured product with monthly payments. Have to simulate monthly data (daily is costly in terms of computational time), going to use Milstein. As far as I know, Milstein requires discrete timing with equal timesteps, however we have some 31 and 28 day months.What is frightening is that these errors are exactly the same for any Nth simulation, so systematic.Is there any approach to avoid such errors?
Basic Monte Carlo question
Posted: May 19th, 2015, 2:48 pm
by Alan
'Exact simulation' (say over a month) is sometimes possible, but one needs to know the stochastic process to say. If you want to post yours, please use the equation typesetting.
Basic Monte Carlo question
Posted: May 19th, 2015, 4:33 pm
by skullx
It's just a simple Wiener process to simulate equity paths (pardon, I forgot to mention).
Basic Monte Carlo question
Posted: May 19th, 2015, 9:32 pm
by Alan
Then do exact draws from that with the day count appropriate to your problem.In other word, you take "one big step" of 28 days for 28 day months. And one big step of 31 days for 31 day months, etc.
Basic Monte Carlo question
Posted: May 19th, 2015, 11:15 pm
by studenttt
Although the wikipedia says Milstein requires an equal timestep, in reality it shouldn't be matter if the timestep differs slightly. Monte-Carlo is an approximation in any case. I can't remember I've seen anywhere that MC converges badly if the timesteps are not equal, we just need to make them as small as possible. Is there any theoretical reasoning for not doing it?