This is a cross post from my Medium
image courtesy lifelib
I’ve been researching new actuarial models (as one does) for life insurance in order to better understand what’s been done in the past and where we are going in terms of novel actuarial models and novel underwriting models. A key aspect of this work involves evaluating new tools and experimenting with them, with a particular focus on building APIs where possible.
Recently, I came across some work by Fumito Hamamura in Japan. Hamamura is the author of modelx and lifelib, two open source libraries that allow you to build actuarial models using Python 3.
While modelx itself is pretty interesting, particularly for actuaries who are transitioning from the traditional spreadsheet universe, lifelib is what excites me at the moment.
The great thing about the package is that it allows for greater model integrity right out of the box, as compared to say a spreadsheet that has to change hands multiple times with stakeholders and business units within the insurance value chain. The package can be set up on suitable centralized/local or cloud-based infrastructure. User access can then be moderated by a technology layer of choice. It goes without saying that version control and governance of the models written in lifelib can be more robust.
The models are also more extensible as they take advantage of object orientation in python.
From a philosophical perspective, I’m totally on board with pythonic actuarial science. When it comes to actuarial work, a lot of work has been done in the R community in terms of building packages that support the various needs of the actuarial community. It’s great to see attention being directed towards building python libraries that will unlock some of the best aspects of software engineering and enable actuaries and other stakeholders in the insurance value chain to build more robust and extensible models.
Quick tip, if you (like me) love Anaconda, make sure to create a new Python 3.7 env. to experiment with using
>> conda create --name myenv
>> conda activate myenv
(replace myenv with a name of your choice)
Also note that with Anaconda package manager, the following command will not pull the lifelib package to your env.
>> conda install lifelib
Instead use, within myenv
>> pip install lifelib
I’ll be experimenting with lifelib over the next few weeks. Wish me luck!