Why Simulate Annual Operational Loss?
An annual operational loss is the total of the losses from all events occurring during a year. Its distribution can be difficult to calculate directly, particularly when event severities are heavy-tailed or when the model includes several event types. Monte Carlo simulation offers a practical alternative: generate many annual outcomes from a specified frequency-severity model, then summarize those outcomes.
The simulation does not make an uncertain model certain. It estimates properties of the model that was specified. In particular, a simulated high quantile has two distinct sources of uncertainty: Monte Carlo error from using a finite number of random trials, and model uncertainty from choosing uncertain assumptions, parameters, or model structure. This tutorial quantifies the first; it does not resolve the second.
A basic model assumes that annual event counts are independent and identically distributed across simulated years; event severities are independent draws from a specified severity distribution; and counts and severities are independent. These assumptions must match the intended model. For example, if severity depends on the event count, or several event types are dependent, the simulation must represent that structure rather than silently impose independence.
From Model to Simulated Year
For a simple model, specify the count distribution and the severity distribution before generating losses. If \(N\sim\operatorname{Poisson}(\lambda)\), then \(P(N=n)=e^{-\lambda}\lambda^n/n!\) for \(n=0,1,\ldots\). If each event severity is exponential with mean \(\theta\), its distribution function is \(F_X(x)=1-e^{-x/\theta}\) for \(x\geq 0\). Inverse-CDF sampling uses a uniform random variable \(U\) on \((0,1)\): set \(X=F_X^{-1}(U)\). For this exponential model, \(X=-\theta\ln(1-U)\).
For a discrete count model, the inverse-CDF rule selects the smallest count \(n\) for which \(P(N\leq n)\geq U\). Once the count is selected, draw that many severities and add them. Repeating the process independently produces the annual-loss sample.
Generate a uniform variate and map it through the count distribution’s inverse CDF.
For the selected count, generate one severity from the specified distribution for each event.
Add all event severities. Record zero if no events occur.
Generate \(M\) annual totals, then calculate the target statistic and assess its simulation error.
Worked Example: Simulating One Annual Total
Suppose annual event count is Poisson with parameter \(\lambda=2\), and event severities are independent exponential random variables with mean \(\theta=\$1{,}000\). Counts and severities are independent. For one trial, use count uniform \(U_N=0.55\), then severity uniforms \(U_1=0.50\) and \(U_2=0.75\). Find the simulated annual aggregate.
Method: inverse-CDF sampling. First calculate the count probabilities needed to locate \(U_N\): \(P(N=0)=e^{-2}=0.1353\), \(P(N\leq1)=e^{-2}(1+2)=0.4060\), and \(P(N\leq2)=e^{-2}(1+2+2)=0.6767\). Since \(0.4060<0.55\leq0.6767\), the inverse-CDF rule gives \(N=2\).
For the exponential severity, \(X=-\theta\ln(1-U)\). Thus the first severity is \(-\$1{,}000\ln(1-0.50)=\$693.15\), rounded to cents. The second is \(-\$1{,}000\ln(1-0.75)=\$1{,}386.29\).
The simulated annual total is \(S=\$693.15+\$1{,}386.29=\$2{,}079.44\). The event count is two, as required by the count-uniform interval, and the aggregate equals the sum of the two sampled severities. This is one random outcome, not an estimate of the mean or a high quantile by itself.
Common mistake avoided: using a severity uniform to choose the event count, or applying the count draw as though it were a severity, mixes two separate sampling steps. The count and severity uniforms each serve the distribution from which they are drawn.
Estimating an Aggregate Quantile
Let \(F_S(s)=P(S\leq s)\) be the annual aggregate-loss distribution. For \(0<p<1\), define its \(p\)-quantile as \(q_p=\inf\{s:F_S(s)\geq p\}\). Given simulated annual totals, sort them as \(S_{(1)}\leq\cdots\leq S_{(M)}\). This tutorial uses the inverse empirical CDF convention: the estimate is the first sorted observation at which the empirical distribution reaches or exceeds \(p\).
Here \(I(\cdot)\) is one when the statement is true and zero otherwise, and \(\lceil Mp\rceil\) is the smallest integer at least \(Mp\). Other sample-quantile conventions interpolate between observations. State the convention when reporting a result; otherwise, two correctly calculated sample quantiles can differ slightly merely because their conventions differ.
Worked Example: Finding a Simulated 90th Percentile
A simulation of annual operational losses produces the following 20 sorted totals, in dollars: \(0,0,420,650,900,1{,}200,1{,}500,1{,}800,2{,}200,2{,}600,3{,}100,3{,}600,4{,}100,4{,}700,5{,}300,6{,}100,7{,}200,8{,}800,11{,}200,19{,}000\). Using the inverse empirical CDF convention, estimate the 90th percentile.
Method: empirical order statistic. There are \(M=20\) simulated totals and \(p=0.90\), so \(Mp=20(0.90)=18\), and \(k=\lceil18\rceil=18\). The 18th sorted value is \(\$8{,}800\). Therefore \(\widehat{q}_{0.90}=\$8{,}800\).
A check is that 18 of the 20 observations are no greater than \(\$8{,}800\), so the empirical CDF there is \(18/20=0.90\); the preceding distinct value, \(\$7{,}200\), has empirical CDF \(17/20=0.85\). The selected value is the first one reaching 0.90.
Common mistake and correction: using the 19th observation because 90% of 20 is “near 19” would produce \(\$11{,}200\). Under the stated convention the rank is \(\lceil20(0.90)\rceil=18\), not 19. With a small sample, that one-rank difference can materially change a tail estimate.
Quantifying Monte Carlo Error
A quantile estimate changes if the random simulation is repeated. Under a continuous aggregate distribution with a positive, smooth density \(f_S(q_p)\) near the true quantile, a large-sample approximation to its standard error is
The approximation requires independent simulated annual totals, a continuous distribution near \(q_p\), and a density that is positive and reasonably smooth there. In practice the density is unknown, so it must be estimated locally from the simulated distribution or from a suitable fitted model. A thin tail, a very small sample, or an unstable density estimate can make the resulting standard error unreliable.
When losses are discrete, there may be no usable density at the quantile. For instance, a model with fixed event severities can put positive probability at particular aggregate amounts. In that case, do not apply the density formula mechanically. A rank-based interval can instead use the binomial count: for the true \(p\)-quantile \(q_p\), the number of simulated outcomes at or below \(q_p\) has a \(\operatorname{Binomial}(M,p)\) distribution when the quantile is uniquely bracketed in a continuous distribution. Binomial tail probabilities can be used to choose lower and upper order-statistic ranks for a confidence interval. For discrete distributions, ties and the definition of the quantile need explicit attention; simulation does not remove that issue.
Worked Example: Approximate Error and Repeated-Run Check
A model is simulated in five independent batches, each with \(M=10{,}000\) annual totals. In one batch, the estimated 99th percentile is \(\$50{,}500\). Nearby estimated quantiles are \(\widehat q_{0.985}=\$48{,}000\) and \(\widehat q_{0.995}=\$53{,}000\). The five batch estimates of the 99th percentile, in thousands of dollars, are 49.8, 50.7, 50.1, 51.0, and 48.9. Estimate the single-batch standard error using the local-density approximation, then summarize the observed batch variability.
Method: local quantile slope and independent replication. Approximate the density near the 99th percentile by the probability change divided by the loss change: \((0.995-0.985)/(\$53{,}000-\$48{,}000)=0.010/\$5{,}000=0.000002\) per dollar.
The approximate standard error is \(\sqrt{0.99(0.01)/10{,}000}/0.000002 =\sqrt{0.00000099}/0.000002 =0.00099499/0.000002 =\$497.49\). An approximate 95% interval based on a normal approximation is \(\$50{,}500\pm1.96(\$497.49)\), or \(\$49{,}524.92\) to \(\$51{,}475.08\), rounded to cents. It is an approximation, conditional on the model and the density estimate.
For the five batches, the mean estimate is \((49.8+50.7+50.1+51.0+48.9)/5=250.5/5=50.1\) thousand dollars. Deviations from the mean are \(-0.3,0.6,0,0.9,-1.2\) thousand dollars. Their squared deviations sum to \(0.09+0.36+0+0.81+1.44=2.70\). The sample variance is \(2.70/(5-1)=0.675\) in squared thousands of dollars, so the sample standard deviation is \(\sqrt{0.675}=0.8216\) thousand dollars, or about \(\$821.58\).
The batch standard deviation is not expected to match the approximate standard error exactly, especially with only five batches. The comparison is a diagnostic: large disagreement can signal a noisy local density estimate, too few replications, or unstable tail behavior. It does not prove that either estimate captures model uncertainty.
Convergence Checks and Interpretation
A single increasing simulation run can be monitored by recording the estimated quantile at successively larger simulation sizes. A second check is to run several independent batches of the same size and compare their estimates. Useful records include the simulation size, random-number seed, model assumptions, quantile convention, estimated quantile, and an error measure or interval. Fixed seeds make a run reproducible; they do not make its estimate more accurate.
Convergence should be judged against a decision-relevant tolerance, not by looking for a perfectly smooth sequence. Quantile estimates need not move steadily toward the true quantile as \(M\) grows. In particular, rare severe events may be absent from one run and appear in another, causing a large jump. If increasing \(M\) or independent batches still produce material changes, the estimate is not yet stable enough for the intended use.
| Check | What it can reveal | What it cannot establish |
|---|---|---|
| Estimate at increasing simulation sizes | Whether the reported statistic is still shifting as more trials are added | That a stable estimate is based on a correct model |
| Independent batches of equal size | How sensitive the estimate is to a new random run | Parameter or structural model uncertainty |
| Local density or rank-based interval | Approximate finite-simulation uncertainty in a quantile | Protection from a misspecified tail or unmodeled dependence |
A common exam trap is to treat a high-quantile estimate as precise merely because a program returned many decimal places. Precision of display is not precision of estimation. Report sensible rounding, show the simulation size and error assessment, and distinguish Monte Carlo error from uncertainty in the frequency-severity assumptions. This approach is aligned with the CAS Exam 9 (Risk Management for Actuaries) syllabus.
Check Your Understanding
For each problem, use the stated model and quantile convention. Answers are provided for checking.
- Annual event count is Poisson with \(\lambda=1.5\). What is the probability of zero events in a year? (Answer: 0.2231)
- A simulation produces 15 sorted annual totals, in dollars: \(0,0,100,200,300,400,500,600,700,800,900,1{,}100,1{,}500,2{,}200,4{,}000\). Under the inverse empirical CDF convention, what is the estimated 80th percentile? (Answer: \(\$1{,}100\))
- For \(M=2{,}500\) independent annual simulations, estimate the standard error of the 95th percentile if the density at that quantile is estimated as \(0.00001\) per dollar. Use the continuous-density approximation. (Answer: \(\$435.89\), approximately)
- Four independent simulation batches give 99th-percentile estimates of 18, 20, 19, and 23 thousand dollars. Find their mean and sample standard deviation. (Answer: mean \(=\$20{,}000\); sample standard deviation \(=\$2{,}160.25\), approximately)
- A compound model has a discrete aggregate loss with a positive probability at the estimated 99th-percentile amount. Should the density-based quantile standard-error formula be used without adjustment? State the better direction. (Answer: No; use a rank-based/binomial order-statistic method that accounts for the discrete quantile and ties.)