Jump to content

Monte Carlo Simulation


nickenumbers
 Share

Recommended Posts

I’d say it can be useful. 

 

For instance let’s say you’ve researched a certain company and you’ve decided that the stock will either triple (with prob. 1/2) or go to zero (with prob. 1/2) in a year.  So the expected return is pretty high but so is the risk.  How much of your portfolio do you want to put into it?  Should you instead buy some call options?  If so, which one(s) in terms of expiration date & strike price?  Or would a married put be a better idea?  Using Monte Carlo you can simulate the outcomes of each strategy pretty easily and rank them in terms of your preferred risk/reward metric.  At least for me personally that is a lot easier than trying to do it all by hand or in my head. 

 

But like any other tool it’s GIGO, so you really do need to know what you’re doing.

Link to comment
Share on other sites

I found it useful in helping to plan retirement spending approaches - for example, see https://www.firecalc.com/

Interesting tool. It's always fun to see the power of compounding.

I would only say (from the 5 minutes spent on your link) that the output seems to be based on a forward application of a range of historical returns (ie as if history repeats itself) and not on a classic Monte Carlo Simulation which is more like what the future may be given a certain set of assumptions thrown into an equation and run an "x" number of times.

Link to comment
Share on other sites

You can use MC to compute your intrinsic value +/- variance. For example, instead of using one number for WACC, margin rate, growth rate, etc., you use a range of values (maybe take them from the company's historical record) to model their probability distributions. Then, use MC to sample from those probability distributions to compute a range of intrinsic values.

 

The variance information can then be used for your portfolio allocation (i.e., bet sizing). Basically applying the idea of Kelly's criterion - place bigger bets (more confidence) on companies with intrinsic values with lower variances.

 

Interestingly, if you apply this approach, you will basically place bigger bets on non-cyclical and steady "moaty" companies vs. cyclical ones (because cyclical ones will have higher variances in their performance metrics). Also, I find it is a good way to distinguish steady tech companies vs. volatile ones.

Link to comment
Share on other sites

Forgot to mention - another way to utilize the variance information is to apply different rates of margin of safety on your intrinsic value calculation. For example, you multiply a discount factor of 0.9 on the intrinsic value for companies with low variance, but 0.7 on those with high variance.

Link to comment
Share on other sites

Great discussion everyone.  You have exceeded my expectations.  Everyone gets 6 Golden Unicorns for participating and/or reading  [scratch that, make it 7, you all deserve 7 Golden Unicorns!  I am being generous.]

 

 

Seriously now, does anyone have a recommendation for a software or a website to run some Monte Carlo simulations?  Please tell me that I don't have to be a Computer Science major in order to make it work.  I would prefer it to be easy enough for a dumb American from Virginia to operate.

 

Thanks in advance!

Link to comment
Share on other sites

Seriously now, does anyone have a recommendation for a software or a website to run some Monte Carlo simulations?  Please tell me that I don't have to be a Computer Science major in order to make it work.  I would prefer it to be easy enough for a dumb American from Virginia to operate.

 

Thanks in advance!

 

You can do it in Excel:

https://support.office.com/en-us/article/introduction-to-monte-carlo-simulation-in-excel-64c0ba99-752a-4fa8-bbd3-4450d8db16f1

Link to comment
Share on other sites

You can build one in Excel pretty easily. I'd recommend you lean how to do it. Once you do it'll be easy to make do anything you want. It'll be powerful knowledge.

 

Just because you're an American from Virginia doesn't mean you should abandon hope. People overcame bigger obstacles than that.  ;).

 

If you're really looking for software, one of the best I've seen is the Decision Tools suite from Palisade Software. No idea how much it costs though.

Link to comment
Share on other sites

if you are anywhere decent in coding, you can use python or another language, gives you more flexibility than an excel add on.  It sounds fancy but coding on you own well enough for these simulations basically requires teaching yourself a coding language for one month or so and is less daunting than it seems.  Granted with the amount of effort allow myself to put in now on research, I dont have the time to build simulations. 

Link to comment
Share on other sites

I disagree heartily about programming it yourself.  You can set up a basic Monte Carlo simulation model in Excel in less than 30 minutes.  You can easily set it up such that every row in the spreadsheet can be a trial and then drag down 1,000 rows to run 1,000 simulations.  IIRC, you can hit F9 to recalc to re-run your 1,000 simulations as often as you want, which gives you an idea of the range of outcomes you might expect.

 

In my opinion, whenever you are doing Monte Carlo (or any stochastics) you should spend 90% of your time worrying about whether you have your model parameterized properly and only 10% of your time worrying about whether its appearance is elegant or whether you've run enough trials.  Your biggest fuck-up is likely to be caused by choosing the wrong mean/standard deviation if those are the two principal parameters that you use.  You can fuss and fuss about your model, but it's likely that your choice of parameters will be your most significant failing (ie, you've selected a standard deviation of a security's return based on data from year 2010-2017, but those years no longer reflect reality for the company today).  Go ahead and parameterize your model the best you can, and then spend lots of time asking yourself what the impact will be if your parameters are not valid (ie, run it many time with different parameters to get a notion of sensitivity).  Then after you've done this, toss your model out the window and just spend your time thinking.

 

 

SJ

 

Link to comment
Share on other sites

I personally use Python, but I would urge you to pay special attention to what SJ just said about model specification.  That is exactly what I meant when I said above that this is “GIGO.”  This type of modeling is very tricky stuff, dangerous even, because if your model is wrong and you don’t notice it and you push it too hard you can blow yourself up spectacularly a la LTCM and so many others.

Link to comment
Share on other sites

I'd agree that you have to be very careful about the garbage in garbage out problem when using it to make financial decisions such as valuations. The assumptions you build into your model are important and it's worth checking the sensitivity of your model to changes in various inputs to see what inputs are most at risk of producing flawed results, either in terms of expected value or in terms of risk of loss. If in doubt, perhaps it's safest to err on the pessimistic side, especially if the sensitivity is very high.

 

Personally, I wouldn't even want to cut it close, so in practice I've never used Monte Carlo simulations for investing. The most I've done yet is more like scenario-based modelling, and the specific situation where I invested offered such attractive returns from the typical situation that it far outweighed the potential loss from the lower probability fringe case scenarios. I then simply tied my exposure to the amount I felt I could afford to lose in the worst case and still meet my long-term goals via my safer investments.

 

Where I found MC simulation in Excel to be very useful was in product engineering in my previous career, combining different kinds of probability distributions other than Normal Distributions to prove that a product would remain within its relatively narrow output power specification window throughout the full design life with very high certainty given the product screens we had implemented. For example, bipolar probability distributions, box-car distributions and truncated normal distributions, or Poisson distributions for different variables can be combined by Monte Carlo simulation to generate the overall output distribution.

 

If you're only combining Normal Distributions of a few variables by addition and subtraction there are some simple rules to combine the standard deviations (or variances), which negate the need for a Monte Carlo simulation.

Link to comment
Share on other sites

It sounds sort of reasonable, but I think there are plenty of cases were you aren't totally aware of the potential variance in outcomes before doing the simulation. You take some quick and easy mental short cuts and you decide it's a low risk thing that should work out in most cases. No Monte Carlo simulation needed. Right?

Link to comment
Share on other sites

You take some quick and easy mental short cuts and you decide it's a low risk thing that should work out in most cases. No Monte Carlo simulation needed. Right?

 

Those are my preferred investments :) .

 

Sure, there are some use cases for Monte Carlo simulation in investing, I'll give you that. Especially if you work with derivatives. However, unless you know specifically what process you want to model, why that process should be modelled specifically using Monte Carlo simulation and what parameters to use I'd say the vast majority of times you are better off doing something else. If you want to get a feel for the variance of a model why not tinker with a few key variables manually to see what happens? That way you can get a much better feel for what is happening under the hood.

Link to comment
Share on other sites

It sounds sort of reasonable, but I think there are plenty of cases were you aren't totally aware of the potential variance in outcomes before doing the simulation. You take some quick and easy mental short cuts and you decide it's a low risk thing that should work out in most cases. No Monte Carlo simulation needed. Right?

 

 

If you aren't totally aware of the potential variance in outcomes, how can you even reasonably make an assumption in how the outcomes are distributed?  If you are going to use Monte Carlo, you must normally make some assumption about the distribution from which you wish to make your random draws.  Some people automatically assume that a standard normal distribution should be used, but that's a bad assumption (could be log normal, could be poisson, could be some other non-symmetric distribution, could be anything, who knows).

 

Heavens, didn't LTCM go bust mostly because they failed to consider the possibility that their distribution of returns might be leptokurtic?  They went bust because of the fourth moment of the distribution, let alone the issue of appropriately characterizing the first two moments.

 

For investing, if I need to model something, I usually chuck it into the too hard pile.  For me, value should be obvious and I mostly I don't even bother with a DCF model.  The only purpose for which I've ever bothered to use Monte Carlo in my personal life is to help me thing about portfolio survival during the withdrawal phase in life.  For that purpose, it's quite an instructive tool because it shows clearly the nature of sequence of return risk, even if that risk is poorly parameterized.

 

 

SJ

Link to comment
Share on other sites

Great discussion everyone.  You have exceeded my expectations.  Everyone gets 6 Golden Unicorns for participating and/or reading  [scratch that, make it 7, you all deserve 7 Golden Unicorns!  I am being generous.]

 

 

Seriously now, does anyone have a recommendation for a software or a website to run some Monte Carlo simulations?  Please tell me that I don't have to be a Computer Science major in order to make it work.  I would prefer it to be easy enough for a dumb American from Virginia to operate.

 

Thanks in advance!

 

I faintly remember Prof Damodaran mentioning a Crystal Ball add-in to Excel that has to be purchased separately.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...