Casualty Actuarial Society examination questions

Questions from actuarial society examinations

Author

Stephen J. Mildenhall

Published

2026-10-22 19:58 commit b7145b5+

This chapter works questions from actuarial society examinations. Each section names the examination sitting and the question number. The first question comes from the Casualty Actuarial Society’s Exam 9 and applies the percentile layer capital allocation of Bodoff (2007), which the monograph, Working with Aggregate Probability Distributions, treats at length in its chapter on Bodoff’s method.

1 Exam 9, Spring 2018, Question 15

An insurer has exposure to two independent perils, wind and earthquake:

  • Wind has a 15% chance of a $5 million loss, and an 85% chance of no loss.
  • Earthquake has a 1 % chance of a $15 million loss, and a 99% chance of no loss.

Using the capital allocation by percentile layer methodology with a 99.5% VaR capital requirement, determine how much capital should be allocated to each peril.

Solution.

The last row gives the percentile layer capital.

from aggregate import qd
from aggregate.pedagogy import bodoff_exhibit

cas15 = build('port CASq15 '
     'agg X1 1 claim dsev [0,  5] [0.85, 0.15] fixed '
     'agg X2 1 claim dsev [0, 15] [0.99, 0.01] fixed ')
qd(cas15)
# cas15.update(bs=1, log2=8, remove_fuzz=True, padding=1)
cas15.density_df = cas15.density_df.apply(lambda x: np.round(x, 10))
basic = bodoff_exhibit(cas15, reg_p=.995)
qd(basic, col_space=10)
df = cas15.density_df.query('S > 0 or p_total > 0')
Portfolio object: CASq15. Contains 2 aggregate components. Updated with
bucket size 1 and log2 = 11. Validation: not unreasonable.

            Mean     SD     CV   Skew P01 Median P99
unit  X                                             
X1    Freq     1      0      0                      
      Sev   0.75 1.7854 2.3805 1.9604   0      0   5
      Agg   0.75 1.7854 2.3805 1.9604   0      0   5
X2    Freq     1      0      0                      
      Sev   0.15 1.4925 9.9499 9.8494   0      0   0
      Agg   0.15 1.4925 9.9499 9.8494   0      0   0
total Agg    0.9  2.327 2.5856 3.4839   0      0  15

                     X1         X2      total
method                                       
EX                 0.75       0.15        0.9
sa VaR                5         15         15
sa TVaR               5         15       16.5
pct EX             12.5        2.5         15
coVaR                -0         15         15
alt coVaR        0.5625     14.438         15
naive coTVaR    0.71429     14.286         15
coTVaR             0.75         15      15.75
plc              5.0714     9.9286         15

The calculation of plc as the integral of \(\alpha\) for unit 1 is simply:

df.exi_xgta_X1.shift(1, fill_value=0).cumsum().loc[15] * cas15.bs
np.float64(5.071372239499997)