Why Simulate Aggregate Losses With a Copula?
When risks have different loss distributions, a single correlation coefficient does not by itself specify how their losses behave together. A copula provides a way to combine chosen marginal distributions with a model for dependence. Simulation then turns that specification into loss vectors: each simulated row contains one possible outcome for every component, and summing across the row gives one possible aggregate loss.
This method is useful when an aggregate distribution is difficult to derive analytically, especially when component distributions are skewed, discrete, or otherwise unlike normal distributions. The copula governs how the component outcomes move together; the marginal distributions govern the loss scale and shape. The simulation procedure is aligned with the CAS Exam 9 (Risk Management for Actuaries) syllabus.
From Latent Variables to Component Losses
For a Gaussian copula with \(m\) components, begin with a valid \(m\times m\) correlation matrix \(R\). Generate a vector \(W\) of independent standard normal variables. If \(C\) satisfies \(R=CC^\mathsf{T}\), set \(Z=CW\). The components of \(Z\) are standard normal with correlation matrix \(R\). Transform each component with the standard normal distribution function \(\Phi\): \(U_j=\Phi(Z_j)\). Each \(U_j\) is uniform on \((0,1)\), and their joint dependence is the Gaussian copula specified by \(R\).
For two risks with latent correlation \(\rho\), a convenient construction uses independent standard normal variables \(A\) and \(E\):
The square-root term is essential. Since \(A\) and \(E\) are independent and each has variance 1, the variance of \(Z_2\) is \(\rho^2+(1-\rho^2)=1\). Also, \(\operatorname{Cov}(Z_1,Z_2)=\rho\). Thus both latent variables are standard normal and their correlation is \(\rho\), as required.
The result follows directly for a continuous, strictly increasing \(F_X\). For any loss value \(x\), monotonicity gives \(Q_X(U)\le x\) exactly when \(U\le F_X(x)\). Therefore
The generalized inverse extends the same distributional result to margins with jumps, where an ordinary inverse may not exist. After generating \(U_1,\ldots,U_m\), apply the appropriate \(Q_{X_j}\) to each component and add the resulting losses. The latent correlation matrix is not generally the correlation matrix of the losses: nonlinear transformations, particularly with skewed or discrete margins, can change the observed loss correlations.
A Practical Simulation Sequence
A simulation should keep the dependence construction and the marginal transformations distinct. For every simulated trial, generate a fresh vector of independent latent inputs, transform the vector through the copula, map each uniform through its component loss quantile, and add the component losses. A row of the resulting data is one joint scenario—not a set of independent component samples.
Choose the copula, its dependence parameters, and the marginal loss distribution for each component. Check that the dependence matrix is a valid correlation matrix.
For a Gaussian copula, generate independent standard normals and apply a matrix factorization of the latent correlation matrix.
Apply \(\Phi\) to each standard normal component. Retain the pairing of uniforms within each trial.
Apply each component's inverse distribution function, then calculate \(S=\sum_{j=1}^{m}X_j\) for that trial.
The scenarios in the worked examples use stated latent inputs so that every transformation can be checked by hand. They illustrate the algorithm; in an actual simulation, the inputs are generated using a random-number generator.
Worked Example: One Gaussian-Copula Aggregate Scenario
A hypothetical insurer models two annual losses with a Gaussian copula whose latent correlation is \(\rho=0.36\). The first loss is uniform on \([0,100]\) dollars and the second is uniform on \([0,200]\) dollars. For one illustrative trial, take independent standard normal inputs \(A=0\) and \(E=1\). Find the uniforms, the two losses, and the aggregate. Use the displayed uniforms to four decimals and report money to the cent.
Method. Construct standard normal latent variables using the valid two-variable Gaussian construction, transform them with \(\Phi\), and apply the uniform-margin quantiles. This avoids the common mistake of using an incorrectly scaled latent variable.
First calculate the coefficient on \(E\):
Thus \(Z_1=A=0\), and \(Z_2=0.36(0)+0.93295(1)\approx0.93295\). The uniforms are \(U_1=\Phi(0)=0.5000\) and \(U_2=\Phi(0.93295)\approx0.8247\).
For a uniform loss on \([0,b]\), the quantile is \(Q(u)=bu\). Therefore \(X_1=100(0.5000)=\$50.00\), and \(X_2=200(0.8247)=\$164.94\). The aggregate for this scenario is \(S=\$50.00+\$164.94=\$214.94\).
Check. The latent variance of \(Z_2\) is \(0.36^2+0.93295^2\approx0.1296+0.8704=1\), consistent with the standard normal transform used to obtain \(U_2\). The component losses are within their specified ranges, and their sum is \(\$214.94\).
Repeated Trials and Aggregate Samples
Repeating the procedure produces a sample of aggregate losses \(S^{(1)},\ldots,S^{(N)}\). Each row must preserve the dependence of its component losses. The simulated collection can then be used to estimate features of the aggregate distribution, such as its mean or a quantile. The estimates depend on the model specification and the simulated outcomes; a large number of trials does not correct a misspecified copula or marginal distribution.
Worked Example: Three Dependent Scenarios With Uniform Loss Margins
A hypothetical two-risk portfolio uses a Gaussian copula with latent correlation \(\rho=0.5\). Its component losses are uniform on \([0,1000]\) dollars and \([0,500]\) dollars. For three illustrative trials, use the independent input pairs \((A,E)=(0,0),(1,0),(-1,0)\). Compute each aggregate using uniforms displayed to four decimals, and give money to the cent.
Method. For each row, calculate \(Z_1=A\) and \(Z_2=0.5A+\sqrt{0.75}E\), then transform to uniforms. The coefficient is \(\sqrt{0.75}\approx0.8660\).
For \((A,E)=(0,0)\), the latent values are \((Z_1,Z_2)=(0,0)\), so the uniforms are \((0.5000,0.5000)\). The component losses are \(1000(0.5000)=\$500.00\) and \(500(0.5000)=\$250.00\), giving an aggregate of \(\$750.00\).
For \((A,E)=(1,0)\), the latent values are \((1,0.5)\). Hence the uniforms are approximately \((\Phi(1),\Phi(0.5))=(0.8413,0.6915)\). The losses are \(1000(0.8413)=\$841.30\) and \(500(0.6915)=\$345.75\), for an aggregate of \(\$1,187.05\).
For \((A,E)=(-1,0)\), the latent values are \((-1,-0.5)\), giving uniforms \((0.1587,0.3085)\). The losses are \(1000(0.1587)=\$158.70\) and \(500(0.3085)=\$154.25\), for an aggregate of \(\$312.95\).
The three aggregate outcomes are therefore \(\$750.00\), \(\$1,187.05\), and \(\$312.95\). As a check, the component loss totals across the rows are \(\$1,500.00\) and \(\$750.00\); their combined total is \(\$2,250.00\), equal to the sum of the three aggregate outcomes. The average of these illustrative aggregates is \(\$2,250.00/3=\$750.00\). This small, deliberately chosen set of inputs demonstrates the transformations; it is not intended to quantify simulation error.
Discrete Margins and a Common Modeling Trap
A discrete loss margin can be simulated by applying its generalized inverse to a uniform. The resulting loss may repeat across trials even though the uniforms are continuous. This is expected: intervals of uniform values map to the same discrete outcome. In particular, a uniform must be compared with the cumulative probability thresholds in the correct order.
Worked Example: Aggregating Discrete Losses From Copula Uniforms
A hypothetical portfolio has two discrete annual losses. For the first component, \(P(X_1=0)=0.7\) and \(P(X_1=100)=0.3\) dollars. For the second, \(P(X_2=0)=0.4\) and \(P(X_2=200)=0.6\) dollars. Couple them with a Gaussian copula having latent correlation \(0.5\). Use the illustrative inputs \((A,E)=(1,0)\) and \((-1,0)\), and find the aggregate in each trial.
Method. First generate the uniforms as in the preceding example. Then apply the generalized inverse: \(Q_{X_1}(u)=0\) for \(u\le0.7\) and \(100\) for \(u>0.7\); \(Q_{X_2}(u)=0\) for \(u\le0.4\) and \(200\) for \(u>0.4\). This avoids treating a discrete loss as though its quantile were a continuous interpolation.
For \((A,E)=(1,0)\), the uniforms are \((0.8413,0.6915)\). Since \(0.8413>0.7\), \(X_1=100\). Since \(0.6915>0.4\), \(X_2=200\). The aggregate is \(100+200=300\) dollars.
For \((A,E)=(-1,0)\), the uniforms are \((0.1587,0.3085)\). Both are below their respective thresholds, so \(X_1=0\) and \(X_2=0\). The aggregate is \(0\) dollars.
Check. Each simulated component outcome is one of the values allowed by its specified marginal distribution. The corresponding aggregates, \(\$300\) and \(\$0\), are the sums of the component outcomes in their respective trials.
A frequent error is to set \(Z_2=0.36A+0.8E\) and call the latent correlation \(0.36\). With independent standard normal inputs, this gives \(\operatorname{Var}(Z_2)=0.36^2+0.8^2=0.7696\), not 1. Its correlation with \(Z_1=A\) is \(0.36/\sqrt{0.7696}\approx0.4104\), not \(0.36\). Consequently, \(\Phi(Z_2)\) is not uniform, and this construction does not produce the stated Gaussian copula. The correction is to use \(\sqrt{1-0.36^2}=\sqrt{0.8704}\) as the coefficient on \(E\). For the input \((A,E)=(0,1)\), the corrected second uniform is \(\Phi(\sqrt{0.8704})\approx0.8247\), not \(\Phi(0.8)\approx0.7881\).
Other errors can occur after the copula step. Applying the wrong component quantile assigns losses to the wrong margin; generating separate independent uniforms for each component discards the intended dependence; and adding losses from different trial rows does not form a valid joint scenario. A reliable check is to verify, in order, the latent variances and correlations, the uniform transforms, each component's marginal quantile, and the row-wise aggregate sum.
Check Your Understanding
Work each problem by following the latent-variable, uniform, marginal-quantile, and aggregation steps as appropriate.
- A two-risk Gaussian copula has latent correlation \(0.6\). With independent standard normal inputs \(A=0\) and \(E=1\), find \(Z_2\) and \(U_2\) to four decimals. (Answer: \(Z_2=0.8000,\ U_2=0.7881\).)
- A Gaussian copula has latent correlation \(0.25\). For \(A=1,E=0\), calculate \(Z_1,Z_2\) and the uniforms to four decimals. (Answer: \(Z_1=1,\ Z_2=0.2500,\ U_1=0.8413,\ U_2=0.5987\).)
- Use dependent uniforms \((0.30,0.80)\) and hypothetical uniform loss margins \(X_1\sim\operatorname{Uniform}(0,400)\), \(X_2\sim\operatorname{Uniform}(0,250)\). Find both losses and their aggregate. (Answer: \(X_1=\$120.00,\ X_2=\$200.00,\ S=\$320.00\).)
- A discrete loss is \(0\) with probability \(0.6\) and \(\$500\) with probability \(0.4\). Using the generalized inverse, find the loss for \(u=0.60\) and for \(u=0.72\). (Answer: \(Q(0.60)=\$0,\ Q(0.72)=\$500\).)
- For a Gaussian copula with latent correlation \(0.5\), take \(A=1,E=0\). Component losses are uniform on \([0,600]\) and \([0,300]\). Using uniforms to four decimals, calculate the aggregate to the cent. (Answer: \(U_1=0.8413,\ U_2=0.6915;\ X_1=\$504.78,\ X_2=\$207.45,\ S=\$712.23\).)