Non-life insurance mathematics Nils F. Haavardsson, University of Oslo and DNB Forsikring Agenda • • • • The motivation The sources of risk Portfolio liabilities by simple approximation Portfolio liabilities by simulation The main driver of financial regulation is to avoid bankruptcies and systemic risk Protecting policy holders across the EU Optimizing capital allocation by aligning capital requirements to actual risk Create an equal and consistent regulatory regime across the EU Create regulations that are consistent with the ones in comparable industries (particularly banking) Create an improved «platform» for proper regulation and supervision, based on increased transparency, more data and better documentation SCR Standard model Adj Market BSCR Health Interest rate SLT Health Equity Mortality H CAT Default Non-SLT Health Premium Reserve 16 Longevity Property 43 Spread Disability Morbidity Currency Lapse Concentration Lapse Op Life Non-life Mortality Premium Reserve Longevity Lapse Disability Morbidity NL CAT Intang Lapse Expenses Nat Cat Revision NP Reins. Mass accident 30 Expenses Accident conc. Revision L CAT Man made Pandemic NL CAT other https://eiopa.europa.eu/Publications/Standards/A__Technical_Specification_for_the_Preparatory_Phase__Part_I_.pdf Solvency • Financial control of liabilities under nearly worst-case scenarios • Target: the reserve – which is the upper percentile of the portfolio liability • Modelling has been covered (Risk premium calculations) • The issue now is computation – Monte Carlo is the general tool – Some problems can be handled by simpler, Gaussian approximations 10.2 Portfolio liabilities by simple approximation •The portfolio loss for independent risks become Gaussian as J tends to infinity. •Assume that policy risks X1,…,XJ are stochastically independent •Mean and variance for the portfolio total are then E ( ) 1 ... J and var( ) 1 ... J and j E ( X j ) and j sd ( X j ). Introduce 1 1 2 ( 1 ... J ) and ( 1 ... J ) J J which is average expectation and variance. Then d 1 J 2 X N ( , ) i J i 1 as J tends to infinfity •Note that risk is underestimated for small portfolios and in branches with large claims Normal approximations Let be claim intensity and z and z mean and standard deviation of the individual losses. If they are the same for all policy holders, the mean and standard deviation of Χ over a period of length T become E(Χ ) a0 J , sd(Χ ) a1 J where a0 T z and a1 T z2 z2 Poisson Some notions The rule of double variance Examples Random intensities Let X and Y be arbitrary random variables for which ( x) E (Y | x) and 2 var(Y | x) Then we have the important identities E (Y ) E{ ( X )} Rule of double expectation and var(Y ) E{ 2 ( X )} var{ ( X )} Rule of double variance 8 Poisson Some notions The rule of double variance Examples Random intensities Portfolio risk in general insurance Z1 Z 2 ... Z where , Z1 , Z 2 ,... are stochastic ally independen t. Let E ( Z1 ) Z where var( | ) Z2 Elementary rules for random sums imply E ( | N ) N z and var( | N ) N z2 Let Y and x in the formulas on the previous slide var( ) var{ E ( | N )} E{sd ( | N )}2 var( z ) E ( z2 ) z2 var( ) z2 E ( ) JT ( z2 z2 ) 9 Poisson Some notions The rule of double variance Examples Random intensities This leads to the true percentile qepsilon being approximated by qNO a0 J a1 J Where phi epsilon is the upper epsilon percentile of the standard normal distribution and a0 T z and a1 T z2 z2 10 Fire data from DNB 0.10 0.05 0.00 Density 0.15 0.20 0.25 density.default(x = log(nyz)) 0 5 10 N = 1751 Bandwidth = 0.3166 15 Normal approximations in R z=scan("C:/Users/wenche_adm/Desktop/Nils/uio/Exercises/Branntest.txt"); # removes negatives nyz=ifelse(z>1,z,1.001); mu=0.0065; T=1; ksiZ=mean(nyz); sigmaZ=sd(nyz); a0 = mu*T*ksiZ; a1 = sqrt(mu*T)*sqrt(sigmaZ^2+ksiZ^2); J=5000; qepsNO95=a0*J+a1*qnorm(.95)*sqrt(J); qepsNO99=a0*J+a1*qnorm(.99)*sqrt(J); qepsNO9997=a0*J+a1*qnorm(.9997)*sqrt(J); c(qepsNO95,qepsNO99,qepsNO9997); The normal power approximation ny3hat = 0; n=length(nyz); for (i in 1:n) { ny3hat = ny3hat + (nyz[i]-mean(nyz))**3 } ny3hat = ny3hat/n; LargeKsihat=ny3hat/(sigmaZ**3); a2 = (LargeKsihat*sigmaZ**3+3*ksiZ*sigmaZ**2+ksiZ**3)/(sigmaZ^2+ksiZ^2); qepsNP95=a0*J+a1*qnorm(.95)*sqrt(J)+a2*(qnorm(.95)**2-1)/6; qepsNP99=a0*J+a1*qnorm(.99)*sqrt(J)+a2*(qnorm(.99)**2-1)/6; qepsNP9997=a0*J+a1*qnorm(.9997)*sqrt(J)+a2*(qnorm(.9997)**2-1)/6; c(qepsNP95,qepsNP99,qepsNP9997); Percentile Normal approximations Normal power approximations 95 % 99 % 99.97% 19 025 039 22 962 238 29 347 696 20 408 130 26 540 012 38 086 350 Portfolio liabilities by simulation • Monte Carlo simulation • Advantages – More general (no restriction on use) – More versatile (easy to adapt to changing circumstances) – Better suited for longer time horizons • Disadvantages – Slow computationally? – Depending on claim size distribution? An algorithm for liabilities simulation •Assume claim intensities for J policies are stored on file 1 ,..., J •Assume J different claim size distributions and payment functions H1(z),…,HJ(z) are stored •The program can be organised as follows •Assume log normal distribution for claim size 0 for (i in 1 : Number_of_ simulation s) 1 { 2 Number_of_e vents - rpois(1, number_of_ events_per _year) 3 Z_per_event - rlnorm(Num ber_of_eve nts, theta, sigma) 4 simulations [i] - sum(Z_per_ event) 5 } An algorithm for liabilities simulation using mixed distribution •Assume p is given, representing the likelihood of being in the extreme right tail •With likelihood 1-p non-parametric sampling from the data in the normal range is used •With likelihood p sampling from a distribution selected for the extreme right tail is used. •The program can be organised as follows •Assume Weibull distribution for claim size in the extreme right tail 0 1 2 3 4 5 6 7 8 Not_extreme _Z - z[z Extreme_pe rcentile] for (i in 1 : Number_of_ simulation s) { Number_of_n ormal_even ts - rpois(1, number_of_ normal_eve nts_per_ye ar) Z_per_ normal_eve nt - sample(Not _extreme_Z , Number_of_ normal_eve nts, replace T) Number_of_ extreme_ev ents - rpois(1, number_of_ extreme_ev ents_per_y ear) Z_per_ extreme_ev ent - rweibull(N umber_of_e xtreme_eve nts, aphahat, betahat) simulations [i] - sum(Z_per_ normal_eve nt) sum(Z_per_ extreme_ev ent) } Experiments in R 1. Find the claim size distribution 1a. Try Gamma 1b. Weibull 2. Simulate portfolio liability using Monte Carlo 3. Simulate portfolio liability using normal approximation 4. Compare the results 18 An algorithm for liabilities simulation •Assume claim intensities for J policies are stored on file 1 ,..., J •Assume J different claim size distributions and payment functions H1(z),…,HJ(z) are stored •The program can be organised as follows (Algorithm 10.1) 0 Input : j jT ( j 1,.., J ), claim size models, H1 ( z ),..., H J ( z ) 1 * 0 2 For j 1,..., J do 3 Draw U* ~ Uniform and S * log( U* ) 4 Repeat whi le S * j 5 Draw claim size Z * 6 * * H j ( z ) 7 Draw U * ~ Uniform and S * S * log( U* ) 8 Return * Monte Carlo theory Suppose X1, X2,… are independent and exponentially distributed with mean 1. It can then be proved Pr( X 1 ... X n X 1 ... X n 1 ) n n! e (1) for all n >= 0 and all lambda > 0. •From (1) we see that the exponential distribution is the distribution that describes time between events in a Poisson process. •In Section 9.3 we learnt that the distribution of X1+…+Xn is gamma distributed with mean n and shape n •The Poisson process is a process in which events occur continuously and independently at a constant average rate •The Poisson probabilities on the right define the density function Pr( N n) n n! e , n 0,1,2,... which is the central model for claim numbers in property insurance. Mean and standard deviation are E(N)=lambda and sd(N)=sqrt(lambda) An algorithm for liabilities simulation •Assume claim intensities for J policies are stored on file 1 ,..., J •Assume J different claim size distributions and payment functions H1(z),…,HJ(z) are stored •The program can be organised as follows (Algorithm 10.1) 0 Input : j jT ( j 1,.., J ), claim size models, H1 ( z ),..., H J ( z ) 1 * 0 2 For j 1,..., J do 3 Draw U* ~ Uniform and S * log( U* ) 4 Repeat whi le S * j 5 Draw claim size Z * 6 * * H j ( z ) 7 Draw U * ~ Uniform and S * S * log( U* ) 8 Return *