FRM Part I · FRM Exam Part I
Simulation and Bootstrapping: formula sheet
Key formulas
- Monte Carlo estimator
- Ê[g(X)] = (1 ÷ N) × Σ g(Xᵢ), i = 1 to N
- The simple average of the outcome over N independent trials. It converges to the true expected value as N grows.
- Standard error of the estimate
- SE = s ÷ √N
- s is the sample standard deviation of the trial outcomes. To halve the SE you need four times as many trials.
- Confidence interval for the estimate
- Estimate ± z × SE (z = 1.96 for 95%)
- Uses the normal approximation, which is reasonable for large N by the central limit theorem.
- GBM terminal price
- S_T = S₀ × exp[(μ − σ²/2) × T + σ × √T × Z], Z ~ N(0,1)
- For option pricing under risk-neutral valuation, replace μ with r (or r − q if there is a dividend yield q).
- Monte Carlo option price
- Price = e^(−rT) × (1 ÷ N) × Σ payoffᵢ
- Discount the average payoff at the risk-free rate. For a European call, payoffᵢ = max(S_T,ᵢ − K, 0).
- Simulated VaR
- VaR at confidence c = minus the (1 − c) quantile of simulated P&L
- With N trials at 99%, VaR is roughly the loss at rank 0.01 × N when losses are sorted from worst to best.
- Standard error of a simulated mean
- SE = σ ÷ √N
- σ is the standard deviation of the simulated outcomes (use the sample standard deviation s if σ is unknown). N is the number of independent replications.
- Confidence interval for the estimate
- x̄ ± z × σ ÷ √N
- z is 1.645 for 90%, 1.96 for 95% and 2.576 for 99% two-sided confidence, based on the normal approximation.
- Required number of simulations
- N = (z × σ ÷ E)²
- E is the target half-width of the confidence interval, the maximum acceptable error at the chosen confidence level.
- Scaling rule
- SE₂ ÷ SE₁ = √(N₁ ÷ N₂)
- To cut error by a factor k, multiply N by k². Holds when σ is unchanged.
- Standard error of a Monte Carlo estimate
- SE = σ ÷ √N
- Quadrupling N halves SE. This is the baseline that variance reduction improves on.
- Antithetic pair variance
- Var[(X₁ + X₂) ÷ 2] = (σ² ÷ 2) × (1 + ρ)
- X₁ and X₂ have the same variance σ². ρ is their correlation. ρ < 0 helps; ρ = 0 gives no gain over two independent draws.
- Control variate adjusted estimator
- X* = X − b(Y − E[Y])
- E[Y] must be known exactly. The adjusted estimator stays unbiased because E[Y − E[Y]] = 0.
- Optimal control coefficient
- b* = Cov(X, Y) ÷ Var(Y) = ρ × σX ÷ σY
- This is the regression slope of X on Y.
- Variance after optimal control
- Var(X*) = Var(X) × (1 − ρ²)
- Gain depends on the size of ρ, not its sign. ρ = 0.9 removes 81% of the variance.
- Bootstrap sample
- Draw n values from n observations, with replacement, each draw equally likely (probability 1/n)
- Each resample has the same size as the original sample. Repeat B times to get B statistics θ*₁, …, θ*_B.
- Bootstrap standard error
- SE(θ̂) ≈ √[ Σ (θ*_b − mean of θ*)² ÷ (B − 1) ], summed over b = 1 to B
- This is the sample standard deviation of the B bootstrap estimates. It is not the standard deviation of the raw data.
- Percentile confidence interval
- For a (1 − α) interval, use the α/2 and (1 − α/2) percentiles of the B bootstrap estimates
- For a 95% interval, use the 2.5th and 97.5th percentiles.
- Chance an observation is left out of one resample
- (1 − 1/n)ⁿ, which approaches e⁻¹ ≈ 0.368 as n grows
- So about 63.2% of the original observations appear at least once in a large resample.
- Bootstrap bias estimate
- Bias ≈ mean of θ* − θ̂
- θ̂ is the statistic from the original sample. Mean of θ* is the average of the bootstrap statistics.
- Bootstrap resampling rule
- Draw n observations with replacement from the original n observations; compute the statistic; repeat B times
- Each draw is from the empirical distribution. The bootstrap standard error is the standard deviation of the B statistics.
- Bootstrap i.i.d. condition
- Observations independent and identically distributed, and sample representative of the population
- If either part fails, the bootstrap can be unreliable.
- Simulation sampling error
- Standard error of a simulated mean ≈ s ÷ √N
- Quadrupling the number of simulations N roughly halves the standard error. It does not fix model risk.
- Bootstrap standard error
- SE = √[ Σ(θ*ᵢ − θ̄*)² ÷ (B − 1) ]
- θ*ᵢ is the statistic from resample i and θ̄* is the average across B resamples.
- Inverse transform method
- X = F⁻¹(U), where U ~ Uniform(0, 1)
- Works for any distribution whose CDF can be inverted. X then has CDF F.
- Standard normal from uniform
- Z = N⁻¹(U)
- Excel: NORM.S.INV(RAND()). U must lie strictly between 0 and 1.
- General normal draw
- X = μ + σ × Z
- Z is a standard normal draw. Use σ, not σ².
- Lognormal price draw
- S_T = S_0 × exp[(μ − σ²/2)T + σ√T × Z]
- Standard geometric Brownian motion over time T. Under risk-neutral pricing, use the risk-free rate (net of any yield) for μ.
- Correlated normals (two variables)
- Z₂ = ρ × ε₁ + √(1 − ρ²) × ε₂
- ε₁ and ε₂ are independent standard normals and Z₁ = ε₁. Then Corr(Z₁, Z₂) = ρ.
- Standard error of a simulation estimate
- SE = s ÷ √N
- s is the sample standard deviation of the outputs and N is the number of trials. Changing the seed does not change the expected SE.
Quick revision
- Monte Carlo estimate = average of the outcomes from N simulated paths.
- Standard error of the estimate = σ ÷ √N, where σ is the standard deviation of the outcome.
- To halve the standard error, you need four times as many simulations.
- Increasing N reduces sampling error only; it does not fix a wrong model.
- Antithetic variates use a draw and its mirror image (for example Z and −Z) to induce negative correlation and cut variance.
- Control variates use a related variable with a known expected value to adjust the estimate; the benefit grows with the correlation.
- Bootstrapping resamples observed data with replacement and assumes the observations are iid.
- Bootstrapping cannot create outcomes outside those present in the sample, so tail events may be missed.
- Simulation is useful for path-dependent and complex payoffs where no closed form exists.
- Pseudo-random numbers are deterministic given a seed, which allows results to be reproduced.
- Both methods are only as good as their inputs: model assumptions for simulation, representative data for bootstrapping.
Common mistakes
- Using the real-world expected return μ as the drift when pricing an option. Fix: For pricing, simulate under the risk-neutral measure with drift r (or r − q), then discount at r. For VaR, use the real-world drift (often set near zero over short horizons).
- Forgetting the −σ²/2 term in the GBM exponent. Fix: Write the exponent as (μ − σ²/2)T + σ√T Z every time. The correction keeps the expected terminal price at S₀ × e^(μT).
- Thinking that doubling N halves the standard error. Fix: Error falls with √N. Doubling N cuts error by about 29% (a factor of 1 ÷ √2). Halving error needs 4 times N.
- Using σ ÷ N instead of σ ÷ √N. Fix: Either use the standard deviation σ ÷ √N, or the variance σ² ÷ N. Never σ ÷ N.
- Saying variance reduction works by increasing the number of draws. Fix: Remember the point: same N, lower variance. The techniques change what is averaged, not how many draws are used.
- Using a control variate whose expected value is unknown or estimated. Fix: The control needs a known E[Y], often from a closed-form price. Otherwise the adjustment adds bias or noise.
- Resampling without replacement Fix: Remember that replacement is what makes each resample different. Without it, a full-size resample would just reproduce the original data.
- Using the data's standard deviation as the bootstrap standard error Fix: The bootstrap standard error is the standard deviation of the statistic across resamples, for example of the B resampled means.
- Saying more Monte Carlo draws fix a wrong model Fix: More draws shrink sampling error only. A misspecified distribution or correlation stays wrong.
- Claiming bootstrapping needs a normality assumption Fix: Standard bootstrapping is nonparametric. Its key assumptions are i.i.d. data and a representative sample.
Exam tips
- Questions often test the √N rule. Know that four times the trials halves the error, and be ready to compute the N needed for a target SE.
- Know the ordered steps: specify the model, generate random numbers, build scenarios, compute outcomes, repeat N times, summarize. Expect a question asking which step comes first or is missing.
- Check the drift in any pricing question. Risk-neutral drift is r (or r − q), and the discount factor uses r.
- For VaR, convert confidence to a rank with (1 − c) × N, and state VaR as a positive loss.
- Know the limits: Monte Carlo is slow for large portfolios, depends on the model assumed, and needs correlated draws for several risk factors.
- Memorise the √N rule as a scaling fact: error ÷ 2 means N × 4, error ÷ 10 means N × 100. Many questions are solved in seconds this way.
- Read carefully whether the given standard deviation is for one run or for the average. Only divide by √N for a single-run σ.
- If a question asks which change reduces error most efficiently, a variance reduction technique that lowers σ is often the better answer than raising N.