simbel: calculate the best estimate in life insurance with ... · introduction package description...

30
SimBEL: Calculate the best estimate in life insurance with Monte-Carlo techniques Quentin Guibert Univ Lyon, Université Claude Bernard Lyon 1, ISFA, Laboratoire SAF EA2429, F-69366, Lyon, France Prim’Act, Paris, France Email: [email protected] R in Insurance 2017 8th June 2017, Paris, France Joint work with G. de Kervénoaël and M. Tammar (Prim’Act)

Upload: others

Post on 01-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

SimBEL: Calculate the best estimate in life insurance withMonte-Carlo techniques

Quentin Guibert

Univ Lyon, Université Claude Bernard Lyon 1, ISFA, Laboratoire SAF EA2429, F-69366, Lyon, FrancePrim’Act, Paris, France

Email: [email protected]

R in Insurance 20178th June 2017, Paris, France

Joint work with G. de Kervénoaël and M. Tammar (Prim’Act)

Page 2: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Best estimate calculation

I Under Solvency II, liabilities in life insurance are valued based on a marketconsistency principle (Kemp, 2009; Vedani et al., 2017), taking intoaccount:

I financial options and guarantees,

I future management actions, e.g. profit sharing rules,

I the policyholder’ behavior,

I both undertaking and financial risks.

I A stochastic Asset Liability Management (ALM) model based onMonte-Carlo balance sheet projection is generally implemented tocompute the best estimate of liabilities (see art. 77 directive Solvency II)

BEt = E

[∑u>t

δuCFu

]I δu, the stochastic deflator at time u ;

I CFu, the net payment cash-flows at time u.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 2/26

Page 3: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

European Literature

I Profit sharing rules (see e.g. Grosen and Løchte Jørgensen, 2000;Bacinello, 2001; Ballotta et al., 2006; Kling et al., 2007).

I ALM (see e.g. Bauer et al., 2006; Hainaut, 2009).

I Policyholder’s behavior (see e.g. Planchet and Thérond, 2007; Milhaudet al., 2011; Bauer et al., 2006; Eling and Kochanski, 2013).

I The French valuation model is rarely described, but is quite complex asinsurers have a higher leeway to distribute profit sharing (Borel-Mathurinet al., 2015).

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 3/26

Page 4: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

AimsI In France, most of such valuation models are developed by commercial

firms or directly by insurers. They are no available for students,researchers, ...

I No package to forecast assets and liabilities is available for insuranceobligations.

I An ALM model requires algorithms to forecast both assets and liabilities ata very granular level under the local gaps. It is coupled with an EconomicScenarios Generator (ESG).

I With large asset and liability portfolios, the computation can be very timeconsuming.

I Our aims:I Develop a flexible R-package to compute easily the best estimate of a life

participating contract, especially a French euro-denominated contract.

I Usable for the Solvency Capital Requirement(SCR) computation.

I Flexible architecture allowing to project both data and assumptions as it isrequired for example for the Own Risk Solvency Assessment (ORSA) purpose.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 4/26

Page 5: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

The R-package SimBEL

I The package is implemented in an oriented object fashion in S4.

I An access to the last development version on GitHub is available ondemand.

I The user guide and a large documentation (in French at the moment) isavailable.

I To install the package

l i b r a r y ( dev too ls )l i b r a r y ( g i t h u b i n s t a l l )i n s t a l l _ g i thub ( " xxx " , auth_token = " yyy " )

I To load the package

l i b r a r y (SimBEL)

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 5/26

Page 6: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Overview of the calculation process

The best estimate is calculated following this general process (Laurent et al.,2016)

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 6/26

Page 7: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Overview of the structure (only cash flows projection)

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 7/26

Page 8: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

1 Liability moduleI Both saving and retirement products with participation can be modeled.

I The liability side is modeled using model points, which represent the technicalcharacteristics of each contract.

I An user should provide additionally:I Technical assumptions (tables with mortality rates and static lapse rates,

parameters for dynamic lapses),

I expenses assumptions,

I the current value of other provisions.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 8/26

Page 9: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

1 Liability moduleI Both saving and retirement products with participation can be modeled.

I The liability side is modeled using model points, which represent the technicalcharacteristics of each contract.

I An user should provide additionally:I Technical assumptions (tables with mortality rates and static lapse rates,

parameters for dynamic lapses),

I expenses assumptions,

I the current value of other provisions.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 8/26

Page 10: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

1 Liability moduleI Both saving and retirement products with participation can be modeled.

I The liability side is modeled using model points, which represent the technicalcharacteristics of each contract.

I An user should provide additionally:I Technical assumptions (tables with mortality rates and static lapse rates,

parameters for dynamic lapses),

I expenses assumptions,

I the current value of other provisions.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 8/26

Page 11: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

2 Asset moduleI Four asset classes are modeled:

I Fixed bonds (Gouv. and Corporate),

I Equities,

I Properties,

I Cash account.

I An user should provide:I ESG tables for asset projection,

I a reference portfolio for future reinvestments,

I an investment strategy,

I the current value for asset provisions,

I fees on asset.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 9/26

Page 12: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

2 Asset moduleI Four asset classes are modeled:

I Fixed bonds (Gouv. and Corporate),

I Equities,

I Properties,

I Cash account.

I An user should provide:I ESG tables for asset projection,

I a reference portfolio for future reinvestments,

I an investment strategy,

I the current value for asset provisions,

I fees on asset.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 9/26

Page 13: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

3 Balance sheet modulesI Asset and liability are linked together with an object called a Canton.

I When projecting a Canton, ALM and surplus appropriation scheme areapplied.

4 Best estimate moduleI Project a Canton for each simulation.

I Calculate the best estimate based on the initial situation of a canton.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 10/26

Page 14: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Main functionalities

3 Balance sheet modulesI Asset and liability are linked together with an object called a Canton.

I When projecting a Canton, ALM and surplus appropriation scheme areapplied.

4 Best estimate moduleI Project a Canton for each simulation.

I Calculate the best estimate based on the initial situation of a canton.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 10/26

Page 15: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Loading dataI Lots of data and parameters are required.

I A module is designed to feed all these data from a repository containedcsv files.

I Create a Canton for each shock defined in Solvency II standard formula.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 11/26

Page 16: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Loading data

I To load the addresses for data repositories.

roo t <− new( " I n i t i a l i s a t i o n " , r oo t _address = getwd ( ) )roo t <− set_ a r c h i t e c t u r e ( roo t )

I To load data related to initialize a Canton.

i n i t _SimBEL( rac ine )

I To create and save a Canton for each shocked situation as defined by thestandard formula.

i n i t _scenar io ( rac ine )

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 12/26

Page 17: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Canton class

I A Canton stores the current picture of the balance sheet and allparameters to project it.

canton@annee # Number o f p r o j e c t i o n yearscanton@hyp_canton # Some general assumptionscanton@mp_esg # E x t r a c t i o n o f an ESG tab le f o rthe cu r ren t p r o j e c t i o n year and s imu la t i on

I To call the Asset portfolio.

canton@ptf_ f i n

I To call the Liability portfolio.

canton@ptf_ p a s s i f

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 13/26

Page 18: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Liability classes

I Two classes: euro-denominated French saving and pension guarantees.

I Each instantiation of these classes is a product with specific features interms of expenses and contractual profit sharing rate.

I Liabilities are projected on an annual basis.

I Example for a saving product

ee1 <− canton@ptf_passif@eei [ [ 1 ] ] # The f i r s tsaving productc lass ( ee1 ) # " EpEuroInd "

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 14/26

Page 19: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Liability classesI Model points are stored in a data.frame object.

s t r (ee1@mp)

’ data . frame ’ : 15 obs . o f 29 v a r i a b l e s :# num_mp : i n t 1 2 3 . . .# . . .# age : i n t 40 40 40 . . .# gen : i n t 1900 1900 1900 . . .# num_ tab_mort : Factor w / 1 l e v e l "TM2" : 1 1 1 . . .# chgt_enc : num 0.007 0.007 0.007 . . .# . . .# pm : i n t 900 11600 12000 . . .# nb_ con t r : i n t 1 1 1 . . .# anc : i n t 0 0 0 . . .# . . .# t x _ c i b l e : Factor w / 1 l e v e l " Meth1 " : 1 1 1 . . .# prime : i n t 0 0 0 . . .# t x _ tech : num 0 0 0 . . .# . . .

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 15/26

Page 20: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Liability cash flows

I Technical assumptions are attached to the liability portfolio.

canton@ptf_passif@ht # A l l t e c h n i c a l assumption# The m o r t a l i t y t ab l e ’TM1’canton@ptf_passif@ht@tables_mort [ [ "TM1" ] ]

I To compute premiums

prem <− ca lc _primes ( ee1 )

I To compute lapse and mortality rates

ra tes <− ca lc _proba_ f l u x ( ee1 , p t f _passif@ht )

I To compute minimal revalorisation rates and target rates

t x _min <− ca lc _ t x _min ( ee1 )t a r g e t <− ca lc _ t x _ c i b l e ( ee1 , l i s t ( p t f _passif@ht ,

l i s t _ rd = l i s t ( 0 . 0 2 , 0 . 0 1 , 0 . 0 1 , 0 ) ) )

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 16/26

Page 21: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Liability cash flows

I To compute benefits

ben <− ca lc _ p res t ( ee1 , rates , t x _min , an = 1 ,method = " normal " , t x _soc = 0.155)

I To compute mathematical reserves

pm <− ca lc _pm( ee1 , prem [ [ " f l u x " ] ] , ben [ [ " f l u x " ] ] ,t a rge t , t x _min , an = 1 , method = " normal " ,

t x _soc = 0.155)

I To forecast liability portfolio over 1 year

p r o j <− p r o j _annee_av_pb ( an = 1 , x = p t f _ pass i f ,t x _soc = 0.155 , coef_ i n f = 1 ,l i s t _ rd = l i s t ( 0 . 02 ,0 .01 ,0 .01 ,0 ) )

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 17/26

Page 22: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Liability cash flows

I Cash-flows and mathematical reserves are aggregated by product

# Outputs# Cash−f l ows by productp r o j [ [ " f l u x _agg " ] ]# Mathematical reserves and the number o f con t rac t sp r o j [ [ " s tock_agg " ] ]

I These outputs can be used to build some checks.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 18/26

Page 23: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Asset cash-flows

I Four asset classes: their dynamics are given by the ESG tables.

I To print asset allocation.

p r i n t _ a l l o c ( canton@ptf_ f i n )

I For each class, the current "picture" of assets is stored in a data.frame.

# Bond p o r t f o l i ocanton@ptf_ f in@pt f _ o b l i g

I To calculate cash-flows and market values for bonds

# Coupons and te rm ina l cash−f l owsca lc _ f l u x _annee ( canton@ptf_ f in@pt f _ o b l i g )# Market valueca lc _vm_ o b l i g ( canton@ptf_ f in@pt f _ ob l ig ,canton@mp_esg@yield_curve )

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 19/26

Page 24: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Canton forecasting

I A Canton can be very easily projected over 1 year:I Asset and liabilities cash-flows,

I Apply ALM and profit sharing rules,

I Compute P&L and other balance sheet items,

I Set the value of an updated Canton.

r e s u l t _ p r o j _an <− p r o j _an ( canton , nb_annee ,pre_on = FALSE)

canton_updated <− r e s u l t _ p r o j _an [ [ " canton " ] ]# Ex t rac t cash f lows by productr e s u l t _ p r o j _an [ [ " ou tput_ p r o d u i t " ] ] [ [ " f l u x " ] ]# Ex t rac t f i n a n c i a l r e s u l t sr e s u l t _ p r o j _an [ [ " r e s u l t _ f i n " ] ]

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 20/26

Page 25: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Best estimate calculationI A best estimate objet is defined with a Canton and ESG tables

c lass ( be )[ 1 ] "Be"# The i n i t i a l i z e d Cantonbe@canton# ESG tab lesbe@esg

I Compute Monte-Carlo simulations

# To run s imu la t i on #10run_be_simu ( be , 10L , pre_on = F)# To run a l l the s imu la t i onsbe_ r e s u l t s <− run_be ( be , pre_on = F)# Ex t rac t the amount o f best est imatebe_ r e s u l t s [ [ " be " ] ] @tab_be# Ex t rac t the average cash−f l owsbe_ r e s u l t s [ [ " be " ] ] @tab_ f l u x

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 21/26

Page 26: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Performances

I Some functions are developed using the library Rccp.

I The function run_be () can be speed up and allows parallel computingwith the package doParallel.

I Our performances are rather good with R !

Table: Performances with 1,000 simulations in minutes by using 1 core (Intel CoreI7-5500U 2.40GHz) and 8 GB RAM.

Number of model points Number of Saving and Computationfor each Asset class Retirement model points (for each) time100 100 13.2100 1000 14.0100 10000 24.71000 100 13.81000 1000 15.01000 10000 26.1

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 22/26

Page 27: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

Introduction Package description Implementation Future works

Perspectives

I Increase performances.

I Include UL products and contract an ohter specificities.

I Add new asset classes (e.g. floating rate bonds).

I Develop a toolkit with indicators for the results analysis.

I Take the inputs from the user with more security.

I Extend our group of developers.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 23/26

Page 28: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

References

Profit sharing algorithm

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 24/26

Page 29: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

References

References I

Bacinello, A. (2001). Fair Pricing of Life Insurance Participating Policies with a MinimumInterest Rate Guaranteed. ASTIN Bulletin, 31(2), 275–297.

Ballotta, L., Haberman, S., and Wang, N. (2006). Guarantees in With-Profit and UnitizedWith-Profit Life Insurance Contracts: Fair Valuation Problem in Presence of the DefaultOption. Journal of Risk and Insurance, 73(1), 97–121.

Bauer, D., Kiesel, R., Kling, A., and Ruß, J. (2006). Risk-neutral valuation of participatinglife insurance contracts. Insurance: Mathematics and Economics, 39(2), 171–183.

Borel-Mathurin, F., Darpeix, P.-E., Guibert, Q., and Loisel, S. (2015). Main Determinantsof Profit Sharing Policy in the French Life Insurance Industry. PSE Working Papers2015-16, Paris School of Economics, Paris.

Eling, M. and Kochanski, M. (2013). Research on lapse in life insurance: what has beendone and what needs to be done? Journal of Risk Finance, 14(4), 392–413.

Grosen, A. and Løchte Jørgensen, P. (2000). Fair valuation of life insurance liabilities:The impact of interest rate guarantees, surrender options, and bonus policies.Insurance: Mathematics and Economics, 26(1), 37–57.

Hainaut, D. (2009). Profit sharing: a stochastic control approach. Bulletin Françaisd’Actuariat, 9(18), 65–78.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 25/26

Page 30: SimBEL: Calculate the best estimate in life insurance with ... · Introduction Package description ImplementationFuture works The R-package SimBEL I The package is implemented in

References

References II

Kemp, M. (2009). Market Consistency: Model Calibration in Imperfect Markets. Wiley, 1edition.

Kling, A., Richter, A., and Ruß, J. (2007). The interaction of guarantees, surplusdistribution, and asset allocation in with-profit life insurance policies. Insurance:Mathematics and Economics, 40(1), 164–178.

Laurent, J.-P., Norberg, R., and Planchet, F., editors (2016). Modelling in Life Insurance –A Management Perspective. EAA Series. Springer International Publishing.

Milhaud, X., Loisel, S., and Maume-Deschamps, V. (2011). Surrender triggers in lifeinsurance: what main features affect the surrender behavior in a classical economiccontext? Bulletin Français d’Actuariat, 11(22), 5–48.

Planchet, F. and Thérond, P.-E. (2007). Allocation d’actifs selon le critère demaximisation des fonds propres économiques en assurance non-vie : présentation etmise en oeuvre dans la réglementation française et dans un référentiel de typeSolvabilité 2. Bulletin Français d’Actuariat, 7(13), 10–38.

Vedani, J., Karoui, N. E., Loisel, S., and Prigent, J.-L. (2017). Market inconsistencies ofmarket-consistent European life insurance economic valuations: pitfalls and practicalsolutions. European Actuarial Journal, pages 1–28.

Guibert, de Kervénoaël and Tammar R in Insurance, 8 June 2017 26/26