Modern Actuarial Risk Theory  Using R
Rob Kaas

Modern Actuarial Risk Theory  Using R
is a textbook about nonlife insurance mathematics. It contains the standard material like utility theory, individual and collective model and basic ruin theory. Other topics are risk measures and premium principles, bonusmalus systems, ordering of risks, credibility theory and Generalized Linear Models, applied to rating and IBNR problems.
As to the level of the mathematics, the book would fit in a bachelor's or master's program in quantitative economics or mathematical statistics.
The book emphasizes the implementation of these techniques through the use of R.
R is a free software environment for statistical computing and graphics, available on a wide variety of platforms. To download, visit its homepage.
This free but powerful software is rapidly developing into the de facto standard for statistical computation, not just in academic circles but also in practice. With R, one can do simulations, find maximum likelihood estimators, compute distributions by inverting transforms, and much more.
Internet pages associated with this book:
Support for teachers A manual with solutions to most of the exercises in the book is available, as a pdf. To get this file, contact me, providing some details like a homepage of yourself or of your institute so I can verify that I'm not sending the answers to sneaky students. I also would like some information about the course for which you intend to use the book.
Feedback The authors very much appreciate getting feedback about the book. Please write to me.
We are grateful to the many users who spotted errors and notified us.
p. xi, 179, 191, 194, 374, 375: change Höffding into Hoeffding
p. 16, l. 1: change φ(x) into φ(d)
p. 30, l. −7: change "σ^{2} < ∞" into "0 < σ^{2} < ∞"
p. 38, ex. 2.4.15: after the first sentence, add ", and X and Y are independent"
p. 51, l. 13: change a(n+1) into −a(n+1)
p. 57, l. 9: scratch the final sentence of Thm 3.6.1 (there is also the inaccuracy because of the use of the trapezoidal rule)
p. 69, 2nd half:
delete "; see also Exercise 3.9.12";
change "precision parameter" into "shape parameter";
in the script, line 2, change "lambda" into "shape";
below the script, change "0.626" into "0.62", "4.89" into "4.94", "3.06" into "3.04"
p. 80, l. 9: change f(s) in the numerator into p(s);
also, change s=1,2,... into s=2,3,...
p. 80, ex. 3.6.1: change argument "T" into "TRUE"
p. 112, Exer. 4.3.10: Theorem 11.3.2 should be 1.3.2
p. 124, l. 4−5: Delete "Let ... and"
p. 164, l. 5: change "3.7" into "3.8"
p. 170, l. 9: change "iid" into "identically distributed"
p. 192, (7.70), final integral: change H(t,d−t) into H(d−t,t)
p. 197, ex. 7.3.15: in the second line, replace all ≤ signs by ≥
p. 217, l. 11: replace this line by: "w_{jΣ}/w_{ΣΣ} for X_{jw} is equal to the credibility weight z_{j}/z_{Σ}"
p. 224, formula (8.58): the estimates should be 0.101 of λ, 1.63 of α, 16.1 of τ, 0.076 of λ_{1}, 0.357 of λ_{2}, and 0.911 of p
p. 229, exer. 8.5.8: change `Verify' into `Find'.
p. 245, formula (9.9): in the denominator, replace Var[S_{ij}] by E[S_{ij}]
p. 263, ex. 9.5.2: replace the Rcommands by
g < glm(nCl~Re*Sx, poisson, offset=log(Expo), data=aggr); anova(g, test="Chisq")
In the next sentence, interchange "aggregated data" and "full data"
p. 266, item 6, l. 3: 2009 should be 2019
p. 277, l. −4: scratch β_{j}
p. 278, l. −5: replace 3.20 by 3.23
p. 280, formula (10.17): replace by 13056 × 1.101^{i−1} × 3.342^{j≠1} × 0.497^{j−1}
p. 281, Remark 10.4.1, l. −6: replace "mean λμ_{2}" by "variance λμ_{2}"
p. 282, just above first script: replace Exercise 10.3.3 by Exercise 10.2.1
p. 293, ex. 10.4.7, l. 4: Table 10.7 should be Table 10.6
p. 305, l. 13: replace "σ^{2} = φV(μ)" by "σ^{2} = φV(μ)/w, with w the weight and"
ibid., formula (11.17): after the first two summation signs, add "w_{i}"
p. 309, l. 6: scratch "ratio"
ibid., l. 8: scratch "ratio" as well as "and saturated model"
ibid., l. 15: delete "other values of p, the proof is omitted, but for"
p. 350, l.−4: the first 0.95 should be 1.95
p. 350, l.−3: replace "1+p/2" by "(1+p)/2"
p. 9, l. −1: change "∫ gF" into "∫ fG"
p. 13, Fig. 1.3: The boundary (μ(d),σ^{2}(d)), d>0 of the gray area of possible I(.) should be a graph below the diagonal, not above it. This can be inferred from the fact that the retained claims for proportional reinsurances have a variance proportional to their squared mean
p. 14, exercise 1.2.9: replace "P^{−}" by "P^{+}" (2x)
p. 63, (3.72) and (3.73): change "n_{i}!" into "y_{i}!"
p. 66, 2nd script: change "max=T" into "maximum=T"
p. 99 and 111, in the script: in the call of uniroot, change "low=" into "lower=", "up=" into "upper=".
R 2.6.0 and higher insist on the full versions of these arguments
p. 63, l.1: replace "3.9.17" by "3.9.16"
p. 69, p. 380: "SuppDist" should be "SuppDists"
p. 71, below (3.97): replace "Z is mixture" by "Z is a mixture"
p. 95, l.7: replace "Corollary 4.3.5" by "Theorem 4.3.6"
p. 197, exercise 7.3.19: "(0,½)" should be "[0,½]"
p. 198, exercise 7.4.7: "3.7.6" should be "3.8.6"
p. 201, script of exercise 7.7.7: replace "mu.V" by "mu.Z" (3x), "Sigma.V" by "Sigma.Z" (4x)
p. 222, below script: replace "a.." by "a.hat.old" and "a." by "a.hat"
p. 244, 2nd table, bottom line: replace "29.??" by "28.??" (twice)
p. 251, nexttolast line of paragraph starting with "From the output...": replace "0.464+0.58443" by "0.4643+0.5844"
p. 260, Table 9.9: The loss percentages should actually be:
53 58 58 59 62 64 63 57 59 62 53 52 50 53
58 60 58 58 58 57 57 55 56 54 53
56 57 56
58 57 55
119 49 73
52 67
p. 264, exercise 9.6.6: in the secondtolast line, replace "nCl" by "TotCl" (3 times).
Also, replace "nCl=0" by "TotCl==0" (with a double equals sign).
In fact, the whole sentence starting with "In a Gamma family" can be scratched; there are no problems in this situation with current versions of R.
p. 264, exercise 9.6.7: replace "under 56%" by "up to 56%"
p. 271, l.−8: "1+j−1" should be "i+j−1"
p. 278, l.−7: Add the following paragraph:
"Note that it cannot be ruled out that there actually is a calendar year effect, if only because model I is already significantly better than II if a significance level 6% is chosen instead of 5%. Doing "plot(k,residuals(glm(Nij~i+j, poisson)))" reveals that the residuals for k=3 are all well below zero. Indeed adding one extra parameter γ_{3} decreases the deviance substantially. Whether this improvement may be called statistically significant on 5% level is another matter, because specifically choosing this calendar year k=3 was inspired by looking at the data. So, actually, the deviance difference is the maximum of many (one for all models implicitly considered) marginally χ^{2} distributed random variables that, though probably related, are not comonotonic. Therefore the probability of a Type I error is no longer 5%"
p. 278, Table 10.7: In every number that has more digits than appropriate, change `10.' back into `9.'. In fact the fitted values in the table should read:
2010 102.3 140.1 59.4 25.2 10.7 4.5 1.9 0.8
2011 101.6 139.2 59.1 25.0 10.6 4.5 1.9 0.8
2012 124.0 169.9 72.1 30.6 13.0 5.5 2.3 1.0
2013 150.2 205.8 87.3 37.0 15.7 6.7 2.8 1.2
2014 170.7 233.9 99.2 42.1 17.8 7.6 3.2 1.4
2015 159.9 219.1 92.9 39.4 16.7 7.1 3.0 1.3
2016 185.2 253.8 107.6 45.7 19.4 8.2 3.5 1.5
2017 168.0 230.2 97.6 41.4 17.6 7.4 3.2 1.3
p. 278, p. 279, p. 281: To the `Year of origin' column in Tables 10.7, 10.8 and 10.10, add 10 years to conform with Table 10.1. So change `2000' into `2010', and so on
p. 293, exercise 10.5.2, l. 3: "Exercise 10.2.4" should be "Exercise 10.2.1"
p. 308, l.10: replace "maximizing the expressions" by "minimizing the expressions"
p. 320, 1st line of script: replace "require(statmod)" by "require(tweedie)"
p. 361, l.4: "1982" should be "1972"
p. 361, l.14: replace "in described" by "is described"
Page maintained by Rob Kaas.
Latest update of this page: April 2019