Monte Carlo Simulation & Stochastic Calculus: The Ladies Love It!
Morning Monkeys,
Okay, full disclosure, I don't have any real evidence that ladies "love" simulation or stochastic calculus. But they probably do, I mean, who doesn't?!? Amirite!
At any rate, for those of you who are new to stochastic calculus and Monte Carlo methods, hopefully this will serve as a starting point. Because of the varying levels of mathematical backgrounds here on WSO, I'll try to keep it simple, very simple, this is tricky stuff from a theoretical standpoint, and I'm not smart enough to explain it with any rigor.
Monte Carlo simulation is particularly useful in the modeling of stock price movements, and is especially flexible for practitioners. One of it's primary advantages is that it allows for the random "wiggles" seen in a stock's price movements. These wiggles are caused by what is called "Brownian Motion" (or, for you math guys, a Wiener process), and for a stock's price in particular, "Geometric Brownian Motion" (which does not allow for negative values). Now, if a stock's price is to follow Geometric Brownian Motion, it must satisfy the stochastic differential equation:
dSt = μSt + σStdWt
with Wiener process Wt, and constant drift μ and volatility σ
Then, blah, blah, blah, Ito's lemma, yadda, yadda, don't worry about it (or just read the wikipedia page) and we end up with the following relationship:
St = S0e(μ - 1/2 σ2) t + σWt
I've probably created more questions then I've answered at this point, but bear with me as I get into what each of these pieces mean from a practical standpoint.
Your step size, t, denotes the size of a given step between iterations of the simulation (for our purposes, t represents a fraction of a year). You will have to modify μ and σ by the step size (i.e. μt and σ√t) if they're not in terms of t already (i.e. step size of one day and annual σ). μ and σ are drift and volatility, and while I'm sure most all of you are familiar with volatility, drift may still be something of a mystery. Drift is effectively your rate of return on whatever you are modeling. Put another way, drift is the general direction your assuming the stock will go. How you calculate drift is a whole other question entirely, and if you're unsure, you should consider looking into financial modeling as it's likely much more relevant.
Wt is your Wiener process. This is what causes your "wiggles" in the model. Within the confines of stochastic calculus, this is a lognormal or Gaussian random variable but, the reality is that since we're not concerned with theoretical issues (i.e. that the Wiener process is an almost surely continuous martingale), you can feel free to use whatever distribution you prefer (warning: you can't do this with abandon as you'll have to alter how drift and volatility will interact, also, you may give your neighborhood quant a heart attack; also there's already methods that allow you to do this like the Datar-Mathews method).
Let's get into some mechanics so you can see how this works in a more concrete fashion. Assume you have a stock with a constant drift (μ) of 0.5 and volatility(σ) 0.2, a starting price (S0) of 10, and because I'm lazy, assume drift and volatility are in terms of t:
S1 = 10 e(0.5 - 0.5 * 0.22) + 0.2 * W1
Since W is a random process, let's randomly call it 1 (typically, you'd use a random number generator for the Gaussian distribution). Now we have:
S1 = 10 e(0.5 - 0.5 * 0.22) + 0.2 * 1 = 19.74
We can now run this through several iterations using random numbers W2 = 0.5, W3 = -0.5, and W4 = -3.
S2 = 19.74 e(0.5 - 0.5 * 0.22) + 0.2 * 0.5 = 35.25
S3 = 35.25 e(0.5 - 0.5 * 0.22) + 0.2 * -0.5 = 51.55
S4 = 51.55 e(0.5 - 0.5 * 0.22) + 0.2 * -3 = 45.72
Obviously, a good Monte Carlo simulation runs thousands and thousands of these price paths to even begin to be usable. But, this should suffice for a very basic understanding of the concept.
Hopefully this has been helpful and/or interesting. These types of models occupy a wide range and seemingly static parts of the model, like volatility, can in fact be turned into stochastic processes themselves. Some of the pros on this site can go in depth into ARCH & GARCH stochastic volatility models which are definitely interesting and widely used.
Needless to say, there's a lot going on here, and if you like modeling, this is good stuff to know but be warned, this is a very small introduction and while it'll work as starting point, I'm sure I've missed some details. So, make sure you brush up before you try picking up any chicks. Remember, ladies love it (probably) so don't screw it up.
Note to the ladies: I have no idea if "the fellas love it." Sorry, and between you and me, I'm actually kinda "iffy" on what you ladies like, too.
Outta curiosity mike, what's your background?
Undergraduate B.S. in pure mathematics with some graduate work prior to finishing my bachelors. I was never interested in pursuing an M.S. or Ph.D., I just had an extra year of NCAA eligibility. I currently work in actuarial audit, which is shockingly broad, but mostly I'm reviewing model assumptions and hedging programs (think Oliver Wyman type of gig). And, like many on this site, working towards my CFA - level 2 this June.
I also enjoy long walks on the beach and drinking scotch until I can barely stand :).
Wait, NCAA eligibility? That's awesome (speaking as a Big10 fan). I'm a pure math major as well, going into who knows what in something quant-finance-y. Nice post, read through it while my proff was giving us applications of BM, ironically enough.
I stopped reading after the words "monte carlo".
Lufthansa's been nice. Should be touching down soon.
Good post, crystal clear explanations, thanks. My understanding is that the Wiener process etc are based assumption of normal distribution. How do you account for the presence of fat-tails and incorporate these into your models? Mandelbrot has written quite extensively on this subject. In fact a whole field of "Econophysics" has grown out of his original research. Are you familiar with these works?
Yes, Wiener processes assume a normal distribution but I think (and don't quote me here) that this is imposed by Lebesgue measurability of the independent increments (this may be 100% wrong, I'm really not sure). That being said, since we're talking about a concrete model, as opposed to something more abstract, concepts like measurability aren't important. So, really, if you wanted to be a rebel, you could construct your random number generator to pull values not from the normal distribution, but from a constructed Students t-distribution, which would give you the fat tails you're looking for. This is mathematical heresey to some degree, but it's your model, you can do what you want! Math professors be damned!
I remember a little about Mandelbrot sets from back in college (maybe in topology or analysis), and I've heard of "Econophysics" but I don't really know much about it and I've never read any research. Looks rough from what I can tell.
Alright, so I'm going to start by saying that you've never actually modeled price movement.
Empirically, these "wiggles" do not follow a Weiner process. I'm going to skip the math because it's basic and unimportant.
This is a whole bunch of fallacies and illogical conjectures. Sure drift happens empirically. But you wont find many people modeling the future based on drift. Most data sets are demeaned.
This whole section is hilariously useless. No price process follows anything you suggest.
What point are you trying to make here?
The entire Black-Scholes option pricing model (which I hear is pretty popular) assumes that those "wiggles" follow a Wiener process. "Empirically" those wiggles don't follow any process or structure found in mathematics. But who knows, maybe you know something I don't, so please, do tell me about this super basic and unimportant math you so conveniently skipped over.
No, it's a simplification. Did you expect a discussion of modeling best practices when you opened this short blog post?
It's difficult to tell if you're a very smart asshole who's just being coy with details, or if you're a pompous idiot asshole who's clueless and is merely repeating the opinions of someone who isn't. So, assuming you're the former and not the latter, if you were going to write a blog post about these same basic concepts, how would you write it? Lastly, don't forget to tell me about this basic and unimportant math that empirically replicates random price movements.
I know I might sound like a douche but his post is a load of shit. Take, for example, the price movements... cool... but that assumes you have UNLIMITED FUCKING MONEY. Yes unlimited... and no drift does not mean that a normally disturbed quotient will reduce the short hand for how much this analysis fails.
So what are good uses of this method and what are some of the bad uses?
Good uses: Currencies... because the US has infinite money. Why? You can assume inflation into your model and whatever 5% loss can be negatively correlated to your results does not mean it is a strong indicator of a stock price but of a stock's fluctuation.
Physics. Let's keep it there.
Bonds... because they're pretty stable. Why? Well unless the US jacks up interest rates tomorrow they'll be fine.
Bad uses:
Everything else. The Monte Carlo was developed to test atom physics... additionally Myron Scholes who added the heuristics of Brownian motion into the black box is a fucking idiot. Just because Black Scholes can indicate where you are in terms of Vega does not mean it will give you a good first-hand understanding of what the expected price of a stock will be 1 year from now. It's just a small... note: Small... tool. Keep it as the like: a small tool.
Additionally... scholastic calculus is useful for population analysis but is crap for stocks unless you're making markets -- because your underlying risk is so low.
Jesus. Whoever believed this guy because of the crap he spouted deserves a few days in the desert, listening to this guy glorify himself.
No, you don't sound like a douche, you sound like an idiot. I have no idea where you begin with the drivel you've shat out. While the guy who posted before you had some hint of knowledge on the subject, you on the other hand, who thinks that modeling price movements requires unlimited money, that "currencies" are a "good use" for monte carlo methods, and that stochastic calculus is useful for population analysis, should probably keep your nonsensical ramblings to yourself.
Remember: It's better to have everyone think you're an idiot then to open your mouth and remove all doubt.
Monte Carlo in stocks is used primarily to price derivatives. Not sure what the uses in IB would be. The GBM is what underlies the famous Black-Scholes model and although it is far from perfect, it usually serves as a good starting point.
As for the hypotheses, I am not sure where you get your thinking that you need an infinite amount of money (not true although it is assumed that you can borrow as much as needed at a fixed rate but this is not considered a major problem with B-S). But I will give you that the hypotheses of Black Scholes are not at all realistic.
Let's not start to assume that B-S or Monte Carlo simulation or any mathematical finance tools can tell you where a stock will be in a year. This is not technical analysis. These are tools which, at best, give a probability distribution for the returns of the stock and if any debate is to be had it should be on the validity of these probability distributions as well as what is assumed in the model.
Trevelyan -- Why do you think you need unlimited money to forecast future security returns using a Monte Carlo simulation? If you use a log normal return distribution and no leverage, the portfolio value can't go below zero. What are you getting at?
Also, your example about bonds doesn't make a ton of sense. Maybe you have noticed that bond prices don't stay constant, even on days the Fed takes no action?
Also, yeah, it's a little douchey to be calling Myron Scholes a fucking idiot. He has published the most widely used formula (and variations of it) by practitioners on wall street.
There are plenty of honest critiques of using geometric Brownian motion for simulations and most of them revolve around the idea that it doesn't properly account for fat-tails because it generally assumes volatilities and correlations between securities remain constant. Obviously, there are a lot of really smart people out there that have tweaked models to try to account for this, but now you are left to deal with a new set of assumptions, which have their own flaws.
I'll give you an example of a perfectly acceptable use of a simulation. Let's say you run an endowment that has a certain spending requirement each year. You might be interested in taking on more risk to get a higher return. Let's say you can increase your expected return by 1% but to do so you increase your portfolio vol by 3%. What happens to the overall value of your portfolio over time? What happens in bull and bear markets? Is it worth doing? It may not give you a perfect answer, but it should at least give you a framework of analyzing the situation.
Nihil perspiciatis porro neque commodi. Facilis repellendus iusto non doloremque autem. Suscipit deserunt quo totam et.
Placeat tempore error possimus. Magni ad eum aliquam. Omnis magni dolor cupiditate. Voluptas quisquam aperiam itaque qui ex.
Repellat animi velit ipsum amet et illo sed beatae. Laudantium nemo quos adipisci explicabo ratione dolor.
See All Comments - 100% Free
WSO depends on everyone being able to pitch in when they know something. Unlock with your email and get bonus: 6 financial modeling lessons free ($199 value)
or Unlock with your social account...