Analyst Dojo
Lesson 4 of 5 11–14% of the exam

Monte Carlo simulation

Monte Carlo simulation draws thousands of random scenarios from distributions you assume and runs each through the model. To value an option, simulate prices with risk-neutral drift, average the payoffs and discount at the risk-free rate. It covers what no formula can, but rests on its assumptions.

6 min cram, 30 min full read. Based on the 2027 CFA® Program Level I curriculum, Quantitative Methods, Learning Module 9. Sitting in November 2026? The 2026 version of this lesson is still available.

Tailor this to you: take the self-assessment

Before this: Why asset prices are log-normal, Historical, bootstrap or Monte Carlo: the four-step engine

On the exam

  • Describe Monte Carlo simulation and explain how it can be used in investment applications

Describe Monte Carlo simulation and explain its uses. Expect when simulation beats a formula (path-dependent payoffs, embedded options such as prepayable mortgages), the risk-neutral setup (drift at the risk-free rate, discounting at the risk-free rate, every path equally likely), its strengths and limitations, and one-step price arithmetic.

How deeply to learn each part
Know the idea
Understand it in general. It frames other topics, but you will not calculate with it.
Use it
Understand it well enough to solve a question with it. Recognize when it applies.
Memorize
Learn it by heart. The exam will not give it to you.

You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.

You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.

Cram mode: the one-screen version of this lesson. Switch to Full for the explanations, worked examples and interactives.

How do you value or measure something no formula covers?

Simulate it. Monte Carlo simulation draws thousands of random scenarios from probability distributions you choose, works out the result in each one, and reads off how often each kind of outcome occurs.

A closed-form solution gives an exact answer through standard operations, with no iteration. An analytic pricing formula is a closed-form solution for a security’s price; shares and plain bonds usually have one, many complex securities do not.

Use simulation when the answer depends on a whole path of prices, when a security has complex embedded options, or when you want the distribution of a portfolio’s gains and losses. It uses the log-normal price model from Learning Module 6: draw normal log returns, turn them into prices, and see where the prices end up. Because you control the assumptions, you can change one and see how the result moves.

InteractiveMonte Carlo: price a call from thousands of random futures

Try this 0 of 3

  • Run 10, then 10,000 trials.
  • Switch on the expected-return drift.
  • Will the money last? Raise volatility to 18% with the expected return still at 6%.

A one-year European call, one step per trial. Each trial draws Z from a standard normal; the share grows at the risk-free rate; the average payoff is discounted at the risk-free rate.

Monte Carlo value, 1,000 trials7.77
Formula value7.35
Gap+0.43
Trials that pay46.1%
  • Monte Carlo estimate so far
  • Formula value
456789101101001,000Number of trials (log scale)Formula value 7.356.548.327.77

The line is the discounted average payoff after each number of trials. Early on it swings with every lucky or unlucky draw; it settles as trials add up.

Show working

Setup: share 60.00, strike 62.00, volatility 30%, risk-free rate 4%, one year, one step (Δt = 1).

One trial with the lesson's draw Z = 0.8: log return = (r_f − σ²/2) + σZ = (0.04 − 0.045) + 0.3 × 0.8 = 0.2350. Price = 60.00 × e^0.2350 = 75.89. Payoff = max(75.89 − 62.00, 0) = 13.89; present value 13.89 × e^−0.04 = 13.35.

Repeat for 1,000 trials: average payoff 8.089; value = e^−0.04 × 8.089 = 7.7718. 46.1% of trials pay anything; the rest are worth zero.

Closed-form value (Black–Scholes–Merton, BSM, covered in Derivatives): d₁ = 0.1740, d₂ = −0.1260, value 7.3460. Grow at the risk-free rate, discount at the risk-free rate, every path equally likely.

The single trial on your calculator
  1. 0.3x²÷2=+|-+0.04+(0.3×0.8)=0.235
  2. 2NDe^x×60=75.89
  3. −62=×0.04+|-2NDe^x=13.35

x² square · +|- change sign · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 0.3ENTER×2÷CHS0.04+0.3ENTER0.8×+0.235
  2. ge^x60×75.89
  3. 62−0.04CHSge^x×13.35

ENTER enter (on the HP, puts the number on the stack) · CHS change sign · g blue shift key · e^x e to the power x

Display: 13.35

Thousands of random futures turn one guess into a value or a range; the assumptions decide which.

On the first tab, price a call: run 10 trials, then 10,000, and watch the estimate settle on the formula value. The second tab turns the same engine on a retirement plan.

What are the four steps, for Monte Carlo?

Memorize

Monte Carlo follows the four steps of every simulation, and nothing is drawn until the setup is done. One pass through steps 2 and 3 is a trial (one path).

Monte Carlo in the four steps
Monte Carlo simulationthe same four steps as every simulation
  • 1. Setup payoff, horizon, distribution and parameters: price, volatility, risk-free rate
  • 2. Scenario generation draw Z from a standard normal; turn it into a log return
  • 3. Scenario evaluation build the price path, compute the payoff
  • 4. Results average the payoffs, discount at the risk-free rate

The thing varying from path to path is a risk factor , an uncertain input such as a share’s return. Each gets a probability distribution and parameters. Computers produce the draws by random number generation : a program produces draws that behave as random. A uniform draw is turned into a standard normal with the inverse normal function, NORM.INV(RAND(), 0, 1) in a spreadsheet.

How is one price step simulated?

Use it

To value an option you simulate the share in a risk-neutral world. Each step adds a log return r~\tilde r to the log price, where ZZ is a standard normal draw, σ\sigma is the volatility and Δt\Delta t the step length in years.

Risk-neutral log-return step Use it
r~t=(rf−σ22)Δt+σΔt Z,Pt=Pt−1 er~t\tilde r_t = \left(r_f - \tfrac{\sigma^2}{2}\right)\Delta t + \sigma\sqrt{\Delta t}\,Z, \qquad P_t = P_{t-1}\,e^{\tilde r_t}

The first term is the risk-neutral drift : the risk-free rate less half the variance, the log-return drift that makes the expected price grow at the risk-free rate. The second is the random shock, with σ\sigma scaled to the step by Δt\sqrt{\Delta t}. This price model is called geometric Brownian motion (Learning Module 6).

Why does the risk-free rate appear twice?

Option values come from a riskless hedge, so the simulation is run in a risk-neutral world. The share is grown at the risk-free rate (drift rf−σ2/2r_f - \sigma^2/2 in log terms, not zero and not the share’s own expected return), and the average payoff is discounted at the same rate, e−rfTe^{-r_f T}. Every simulated path is treated as equally likely.

Rearrange itRisk-neutral price step: solve for the price or the draw
The question asks for
A share trades at 60.00, its volatility is 30.00% and the risk-free rate is 4.00% (continuously compounded). In a risk-neutral simulation with a step of 1 years, a trial draws Z = 0.8. The simulated price is closest to:

60.00 × e^((0.04 − 0.3²/2) × 1 + 0.3 × √1 × 0.8) = 75.89

Price after the step, P₁75.89

On your calculator
  1. 0.3x²÷2=+|-+0.04=×1=STO1
  2. 1√x×0.3×0.8+RCL1=2NDe^x×60=

x² square · +|- change sign · STO store · √x square root · RCL recall a stored number · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 0.04ENTER0.3ENTER×2÷−1×1g√x0.3×0.8×+ge^x60×

ENTER enter (on the HP, puts the number on the stack) · g blue shift key · √x square root · e^x e to the power x

One trial means little: many trials pay nothing. Averaging the discounted payoffs over many trials (our run, same inputs) gives 6.54 for 10 trials, 8.32 for 100, 7.77 for 1,000 and 7.35 for 10,000. The closed-form value from the Black–Scholes–Merton (BSM) formula is 7.35. As trials increase, the simulation settles on it.

Exam tip Growing the share at its expected return of 10% instead of 4% in the example above gives about 9.60, far above the 7.35 a market would pay.

How does it value a path-dependent option?

A contingent claim is a security whose value depends on another asset, such as an option. A path-dependent option pays according to the prices along the way, not only the final price. An Asian option pays the excess of the final price over the average price during its life, if positive. Its payoff depends on the whole path, so no simple formula exists; this is where Monte Carlo is essential.

Asian option payoff, one path Use it
VT=max⁡(PT−Pˉ, 0)V_T = \max\left(P_T - \bar P,\, 0\right)

A path ending below its average pays 0.

One path proves nothing: this one is worth 7.37 today, the next may pay zero. The value is the discounted average over thousands of paths.

Monte Carlo estimate of value Use it
V^0=e−rfT 1N∑i=1Npayoffi\hat V_0 = e^{-r_f T}\,\frac{1}{N}\sum_{i=1}^{N}\text{payoff}_i

Many trials pay zero (the final price at or below the average) and a few pay a lot. Only the average of all of them, discounted once, is the value.

How many trials are enough?

More trials give a more precise estimate, at the cost of run time. How many is a trade-off: a quick one-step valuation may settle with thousands of trials, a complex path-dependent book can need far more. Precision never fixes a wrong model: if the assumed distribution is wrong, more trials estimate the wrong value more precisely.

What is it used for, and where does it fall short?

Monte Carlo: strengths and limits
Monte Carlo simulationa complement to analytical methods
  • Strengths Memorize
    • Wide applicability non-linear payoffs, fat tails, changing volatility
    • Correlation handling joint moves of many assets, lesson 5
    • Forward looking scenarios history never produced
    • Precision with enough trials
    • Non-normal distributions skew and kurtosis can be modeled
  • Limits Memorize
    • Computationally intensive large runs are slow and costly
    • Model dependency wrong distributions or correlations, wrong results
    • Complexity needs modeling expertise
    • Parameter estimates volatility and correlation must come from somewhere
    • Less insight into cause and effect a formula shows why; a simulation shows what

Typical products are path-dependent options (such as Asian options), American-style options, convertible bonds with embedded options, and mortgage-backed securities, where the borrowers’ right to prepay makes the cash flows depend on the path of interest rates (Fixed Income). Simulating several assets whose returns move together is the subject of lesson 5.

A natural use is sensitivity analysis : change one assumption (a volatility, a correlation, a distribution), rerun and see how much the answer moves.

The main danger is model risk . Assuming constant volatility and log-normal prices for a share that shows volatility clustering or sudden jumps gives misleading values. Rerunning with changed assumptions is a robustness check.

Monte Carlo complements analytical methods rather than replacing them. It gives statistical estimates, not exact results, and a formula, where one exists, shows cause and effect that a simulation does not.

Exam tip Monte Carlo answers “what could happen, and how likely?” It does not answer “why?”. Its biggest weakness is dependence on the assumed model.

Go deeper Simulate only where you must

If a closed-form formula exists, use it: it is exact, instant and shows how the answer depends on each input. Simulation earns its place when payoffs depend on the path, when several risk factors interact, or when the instrument has embedded options. The cost is that you must assume distributions, so the result is bounded by the quality of those assumptions. Historical simulation and bootstrapping (lessons 2 and 3) avoid that by drawing on observed data, at the price of never going beyond it.

Memorize this

MemorizeMonte Carlo in four steps

StepWhat you do
1. Setuppayoff, horizon, distribution, P0P_0, σ, rfr_f
2. Generatedraw Z; r~=(rf−σ2/2)Δt+σΔtZ\tilde r = (r_f - \sigma^2/2)\Delta t + \sigma\sqrt{\Delta t}Z
3. EvaluatePt=Pt−1er~P_t = P_{t-1}e^{\tilde r}; payoff on each path
4. Resultsaverage payoff × e−rfTe^{-r_f T}

Memory hook Grow at rfr_f, discount at rfr_f, every path equally likely.

Know it cold Drift is rf−σ2/2r_f - \sigma^2/2 in log terms: never zero, never the share’s own expected return.

MemorizeStrengths and limits

StrengthsLimits
No formula needed (path dependence, embedded options)Only as good as the assumed model
Forward looking: unseen extremesComputationally intensive
Handles correlation and non-normal shapesComplex to set up
Precise with enough trialsLess insight into cause and effect

Memory hook "Garbage in, garbage out." The simulation draws only from what you tell it.

Know it cold Use a formula where one exists. Simulate where it does not.

Monte Carlo in the four steps
Monte Carlo simulationthe same four steps as every simulation
  • 1. Setup payoff, horizon, distribution and parameters: price, volatility, risk-free rate
  • 2. Scenario generation draw Z from a standard normal; turn it into a log return
  • 3. Scenario evaluation build the price path, compute the payoff
  • 4. Results average the payoffs, discount at the risk-free rate
Monte Carlo: strengths and limits
Monte Carlo simulationa complement to analytical methods
  • Strengths Memorize
    • Wide applicability non-linear payoffs, fat tails, changing volatility
    • Correlation handling joint moves of many assets, lesson 5
    • Forward looking scenarios history never produced
    • Precision with enough trials
    • Non-normal distributions skew and kurtosis can be modeled
  • Limits Memorize
    • Computationally intensive large runs are slow and costly
    • Model dependency wrong distributions or correlations, wrong results
    • Complexity needs modeling expertise
    • Parameter estimates volatility and correlation must come from somewhere
    • Less insight into cause and effect a formula shows why; a simulation shows what
Risk-neutral log-return step Use it
r~t=(rf−σ22)Δt+σΔt Z,Pt=Pt−1 er~t\tilde r_t = \left(r_f - \tfrac{\sigma^2}{2}\right)\Delta t + \sigma\sqrt{\Delta t}\,Z, \qquad P_t = P_{t-1}\,e^{\tilde r_t}
Quick example

Price 80.00, σ = 25%, rfr_f = 3%, a half-year step, ZZ = 1.2. Drift (0.03−0.03125)×0.5=−0.000625(0.03 - 0.03125) \times 0.5 = -0.000625; shock 0.25×0.5×1.2=0.21210.25 \times \sqrt{0.5} \times 1.2 = 0.2121; 80×e0.211580 \times e^{0.2115} = 98.84.

On your calculator
  1. 0.25x²÷2=+|-+0.03=×0.5=STO1 −0.000625
  2. 0.5√x×0.25×1.2+RCL1= 0.2115
  3. 2NDe^x×80= 98.84

x² square · +|- change sign · STO store · √x square root · RCL recall a stored number · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 0.03ENTER0.25ENTER×2÷−0.5×0.5g√x0.25×1.2×+ 0.2115
  2. ge^x80× 98.84

ENTER enter (on the HP, puts the number on the stack) · g blue shift key · √x square root · e^x e to the power x

Asian option payoff, one path Use it
VT=max⁡(PT−Pˉ, 0)V_T = \max\left(P_T - \bar P,\, 0\right)
Quick example

Final price 41.00, average over the life 38.50: payoff = 2.50. A path ending below its average pays 0.

Monte Carlo estimate of value Use it
V^0=e−rfT 1N∑i=1Npayoffi\hat V_0 = e^{-r_f T}\,\frac{1}{N}\sum_{i=1}^{N}\text{payoff}_i
Quick example

Five payoffs at a six-month expiry: 1.86, 0, 0.87, 0, 2.50; average 5.23 ÷ 5 = 1.046; rfr_f = 4%: 1.046×e−0.021.046 \times e^{-0.02} = 1.03. A real run uses thousands.

On your calculator
  1. 1.86+0.87+2.5=÷5=×0.02+|-2NDe^x= 1.0253

+|- change sign · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 1.86ENTER0.87+2.5+5÷0.02CHSge^x× 1.0253

ENTER enter (on the HP, puts the number on the stack) · CHS change sign · g blue shift key · e^x e to the power x

How it is asked

  1. What comes first?

    Which step comes first in a Monte Carlo valuation?

    Setup: the payoff, inputs and distributions. Drawing numbers is step 2.

  2. Main limitation

    The most important limitation of Monte Carlo simulation is…

    Less insight into cause and effect; results depend on the assumed model. Not "needs historical data", not "no what-if analysis".

  3. Risk-neutral drift

    In a risk-neutral simulation the share grows on average at…

    The risk-free rate (log drift rf−σ2/2r_f - \sigma^2/2). Zero drift is the trap.

  4. When to simulate

    Which needs simulation: a plain bond, a European call with known volatility, or a pool of prepayable mortgages?

    The prepayable mortgages: path dependence, no closed form.

Exam traps

  • Believing Monte Carlo reveals cause and effect. It estimates outcomes; analytical methods give the insight into why.
  • Believing more trials fix a wrong model. They add precision, not accuracy.
  • Starting with the random draws. Setup (payoff, inputs, distributions) comes first.
  • Confusing Monte Carlo (draws from an assumed distribution) with bootstrapping (draws from observed data).
  • Using zero drift, or the share's own expected return, in a risk-neutral valuation. The share grows at the risk-free rate.
  • Forgetting to discount the average payoff, or discounting each step at a different rate.

Checkpoint

7 exam-style questions. About 90 seconds each.

  1. 1The most important limitation of Monte Carlo simulation is that:

  2. 2Which step comes first in a Monte Carlo valuation?

  3. 3Increasing the number of trials in a Monte Carlo simulation most likely:

  4. 4Compared with an analytical pricing formula, Monte Carlo simulation is best described as:

  5. 5A share trades at 50.00, its volatility is 20% and the risk-free rate is 5% (continuously compounded). In a one-year, one-step risk-neutral simulation, a trial draws Z = −0.6. The simulated price is closest to:

  6. 6In a risk-neutral Monte Carlo valuation of an option, the simulated share price is assumed to grow, on average, at:

  7. 7Which instrument most needs Monte Carlo simulation rather than a closed-form formula to be valued?

Key takeaways

  • Four steps: set up, generate draws, evaluate each path, average and discount.
  • Risk-neutral: grow the share at $r_f$ (log drift $r_f - \sigma^2/2$), discount at $r_f$, every path equally likely.
  • Essential where no closed-form formula exists: path-dependent options, embedded options, prepayable mortgages.
  • Forward looking and flexible, but computationally heavy and only as good as its assumptions.
Risk-neutral log-return step Use it
r~t=(rf−σ22)Δt+σΔt Z,Pt=Pt−1 er~t\tilde r_t = \left(r_f - \tfrac{\sigma^2}{2}\right)\Delta t + \sigma\sqrt{\Delta t}\,Z, \qquad P_t = P_{t-1}\,e^{\tilde r_t}
Quick example

Price 80.00, σ = 25%, rfr_f = 3%, a half-year step, ZZ = 1.2. Drift (0.03−0.03125)×0.5=−0.000625(0.03 - 0.03125) \times 0.5 = -0.000625; shock 0.25×0.5×1.2=0.21210.25 \times \sqrt{0.5} \times 1.2 = 0.2121; 80×e0.211580 \times e^{0.2115} = 98.84.

On your calculator
  1. 0.25x²÷2=+|-+0.03=×0.5=STO1 −0.000625
  2. 0.5√x×0.25×1.2+RCL1= 0.2115
  3. 2NDe^x×80= 98.84

x² square · +|- change sign · STO store · √x square root · RCL recall a stored number · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 0.03ENTER0.25ENTER×2÷−0.5×0.5g√x0.25×1.2×+ 0.2115
  2. ge^x80× 98.84

ENTER enter (on the HP, puts the number on the stack) · g blue shift key · √x square root · e^x e to the power x

Asian option payoff, one path Use it
VT=max⁡(PT−Pˉ, 0)V_T = \max\left(P_T - \bar P,\, 0\right)
Quick example

Final price 41.00, average over the life 38.50: payoff = 2.50. A path ending below its average pays 0.

Monte Carlo estimate of value Use it
V^0=e−rfT 1N∑i=1Npayoffi\hat V_0 = e^{-r_f T}\,\frac{1}{N}\sum_{i=1}^{N}\text{payoff}_i
Quick example

Five payoffs at a six-month expiry: 1.86, 0, 0.87, 0, 2.50; average 5.23 ÷ 5 = 1.046; rfr_f = 4%: 1.046×e−0.021.046 \times e^{-0.02} = 1.03. A real run uses thousands.

On your calculator
  1. 1.86+0.87+2.5=÷5=×0.02+|-2NDe^x= 1.0253

+|- change sign · 2ND second function (the shifted label above a key) · e^x e to the power x

  1. 1.86ENTER0.87+2.5+5÷0.02CHSge^x× 1.0253

ENTER enter (on the HP, puts the number on the stack) · CHS change sign · g blue shift key · e^x e to the power x

All Quantitative Methods formulas, every lesson

Practice exam-style questions on Simulating Prices and Returns

Questions about this lesson?

Where this comes back

Questions candidates ask

What is Monte Carlo simulation in finance?

It is a method that draws a large number of random scenarios from assumed probability distributions, computes the outcome in each and summarizes the results. It values complex securities with no formula and estimates the distribution of portfolio gains and losses. To value an option it simulates risk-neutral price paths and discounts the average payoff at the risk-free rate.

What are the limitations of Monte Carlo simulation?

Results depend on the assumed model, distributions and correlations; it is computationally heavy and complex to set up; and as a statistical estimate it gives less insight into cause and effect than a formula. It does not need extensive historical data, and it can run what-if analyses.

How is Monte Carlo simulation used in retirement planning?

Each trial draws random annual returns for the portfolio, applies the planned withdrawals and records whether the money lasts. Thousands of trials turn one guess into a probability of success, which is more useful than a single average projection.

Why is the risk-free rate used in Monte Carlo option valuation?

Option values come from a riskless hedge, so the simulation runs in a risk-neutral world: the share grows at the risk-free rate and the average payoff is discounted at the same rate. Growing the example call's share at a 10% expected return instead of 4% gives about 9.60 rather than 7.35.

Spotted an error? Tell us and we will fix it.

  1. Historical, bootstrap or Monte Carlo: the four-step engine
  2. Historical simulation and historical value at risk
  3. Bootstrapping: simulating from the data you have
  4. Monte Carlo simulation
  5. Simulating two correlated assets: the Cholesky step

Ask Sensei Listen instead

Questions on Monte Carlo simulation

Learn with Sensei, out loud The voice tutor, in early access

Sensei teaches the lesson aloud and stops when you interrupt: "wait, why is the geometric mean lower?" It answers with the lesson's own example, then quizzes you by voice. Every account can try Sensei on one module, with one voice question.

USD 149 a month founding price (regular USD 199), kept for as long as you stay subscribed. Everything in Plus included.

In active development and improving every day. Send feedback · Plans and pricing

Analyst Dojo Plus

Your free review list holds 10 items.

Plus keeps everything you save, for USD 19 a month. To make room on the free plan, remove something from your review list.

See Plus

Lessons, checkpoints and the lesson questions in practice stay free. Compare plans