Reading 26 - Question 12 - VAR from Monte Carlo

Galli

New member
Joined
Jun 18, 2026
Messages
0
Reaction score
0
In the question they provide enough information to calculate VAR based on the analytical method and also provide a table of returns from 700 iterations of the simulated returns using monte carlo.
My question is, how many simulations does it take for a monte carlo simulation to equal the actual distributions of return that were actually realized? For example, the question says they used actual returns which produced a mean return of 14.8% and a standard deviation of 20.5. Would a monte carlo simulation ever reproduce (with enough simulation runs) this actual distrubution of returns realized considering the simulation itself is ran off this distribution? Or does the monte carlo ‘fill in the gaps’ of returns never realized but possible based on the distribution of returns?
I guess I’m not quite sure how a monte carlo simulation produces anything different than just measured values?
 
i use monte-carlo in cognitive modeling, and i can say that there is little benefit in using more than 10k simulations. Nontheless, a lot depends on the parameters of your inputs. For instance, if the distribution of kurtosis values used as inputs is very wide, then you would probably need more runs.
If you use distributions of historical returns, variances, kurtosis, and skewness as inputs for the monte-carlo, I bet that with 1000 simulations you would get very good estimates to the actual return distribution.
“I guess I’m not quite sure how a monte carlo simulation produces anything different than just measured values?”
The median of the monte-carlo output estimates should be very close to the actual return and sd. The benefit of monte-carlo is that it provides a range of scenarios that would’ve been plausible using the input parameters. Remember that monte carlo does not provide one possible return value, but a range of possible return values.
 
I use Monte Carlo simulation all the time. As ink says, you’ll usually get good estimates with 1,000 to 10,000 iterations.
I’ve built models with several hundred input variables, and run 100,000 iterations on my laptop (pretty quickly using @Risk), but that’s more to generate pretty pictures for clients than because I thought that it was necessary for convergence.
 
Is the following example correct.
Let’s say we have 10 years of daily returns for copper which we’re trying to explain with mine output utilization and inflation. The mean return is 3% with a standard dev of 20.
Based on the variances and co-variances of returns, with monte carlo I could ‘flex’ the inputs to say inflation was higher by 1% with mine output utilization unchanged. After 10,000 simulation the new distrubution of returns would be explained by the revised input value of +1% inflation and the prior inflation numbers based on the intial variance and co-variances of the original returns?
Appreciate the help. This part of the curriculum (even at other levels) has been intriguing but difficult to fully understand.
 
i’m not sure i understand the problem corectly, so I’ll first try to rephrase the question
Your inputs: probability distributions of historical mine output utilization, historical inflation+1%, and historical returns
Your output is: probability distribution of returns
You want to see how changing inflation by 1, while keeping mine output constant will affect the distribution of your ouput estimates.

First thing to note is that if you keep an input constant, then it plays no role in the simulation (rather it’s just a constant). For each iteration, you need sample your mine output estimate from a probability distribution. If it’s fixed, then i don’t see what purpose it would have in the model.
Second, you want to take historical inflaiton distribution (note again that we are talking about distribution) and add 1% to it and see what happens to your output return distribution. This is actually a good thing if you think that historical estimates need to be adjusted. Your input doesn’t have to be only historical estimates. It can be part of probability distributions that you think are more likely to continue in the future. For instance, if you assume that the fed will try to keep inflation at 3% for the next 10 years instead of having 2% historical rate, then it would actually make more sense to use a probability distribution with 3% inflation as the median instead of a probability distribution with 2% as median.
So yeah, monte-carlo can be used to model outcomes with inputs that are hypothetical (e.g., input probability with 10% inflation), but you have to justify why you use those inputs.
 
ink wrote:
First thing to note is that if you keep an input constant, then it plays no role in the simulation (rather it’s just a constant). For each iteration, you need sample your mine output estimate from a probability distribution. If it’s fixed, then i don’t see what purpose it would have in the model.
Interesting. Is that because co-variances describe this ‘missing’ or constant input?
Any good recommended reads on the web about how to run one of these models properly. I lack the computer power but I might try and test it.
 
as magician said, you don’t need a high-performance computing machine to do a monte-carlo. I have an intel 2.1Ghz core, 4GB ram laptop that you could probably buy nowadays with $300 brand new, and I can run 10k simulations with 6-7 input variables in about 1minute or less. I use these models for a different field than finance, but I doubt that assumtions and model bulding process is any different. The curriculum, by the way, is highly inaccurate when it comes to saying that using monte-carlo is resource consuming and requires high computing power. This is not true anymore. This has not been true for about 10 years now.
if you are familair with R language programming environment, i suggest you look up examples using the package mcmc (stands for Markov Chain Monte Carlo, which performs better than regular monte-carlo). You can find a very brief tutorial on it here:https://www.youtube.com/watch?v=12eZWG0Z5gY.
This is what I generally use in my work. Youtube and internet is filled with tutotials about how to implement a monte-carlo. The issue is generallly the programming environment you use. It’s a bit harder to implement in python or r, but the benefits of these two environments is that they are free and have high flexibility. I assume that @Risk is proprietary, but it’s probably much easier to work with.
As for what happens when you keep an input constant (meaning that it has no variability). Well, in that case, the covariance of that variable with other variables in the model will be 0. If you think about it, mine output and inflation will not move together anymore because mine stays fixed. Again, I don’t see why you would have a fixed input. If I were to approach this problem, I would probably build the models by removing the mine-input altogether and see what happens. In other words, you would do scenario testing using monte carlo.
 
Back
Top