- Is 1,000x faster
- Uses 93% fewer lines of code
- Takes 90% less time to implement
Julia: Helping to Prevent the Next Global Economic Crisis
In 2008-2009, the global economy went into meltdown.
Millions of Americans lost their homes, banking systems imploded in Iceland and Ireland, unemployment in Greece skyrocketed from 7% to 28%, property prices in Spain declined by 30-50% and the total global cost has been estimated at up to $22 trillion, more than US GDP.
One of the hardest hit sectors was insurance. After the crisis, the European Union passed strict new Solvency II requirements to ensure the insurance industry has the necessary resources to avoid and mitigate any future such crisis. The regulations were finalized in 2014 and went into effect in 2016.
The 2016 Solvency II requirements determine everything from how much capital each insurance company is required to maintain to how their assets can be distributed. This has a major impact on insurers’ asset portfolios and expected financial performance. European insurers were required to rebuild their risk analysis models to ensure compliance.
The new Solvency II rules significantly increased the complexity and quantitative requirements of insurers’ risk modeling and analysis, requiring greater speed, transparency and effective risk management including daily simulations and a massive increase in computations.
Aviva is one of Europe’s largest insurance companies. Their legacy risk modeling system was built using IBM Algorithmics in 2012. But by 2016, that system wasn’t fast enough or sophisticated enough for Solvency II compliance.
Aviva decided to upgrade their systems to Julia for a variety of reasons:
- Speed - Capacity - ability to handle dramatic increases in data volumes and model complexity - Functionality - Improved performance and productivity - Open source - reliable, robust, software is constantly updated and improved with no licensing fees, easy to customize - Empower Aviva actuaries and quants - eliminate dependence on software firms and updates to proprietary code - Cloud-based - pay-as-you-use - reduce fixed infrastructure costs
This enabled Aviva to shift their technology model from buying to building their own.
According to Aviva:
- The Julia models ran about 1,000 times faster than IBM Algorithmics
- Aviva managed to reduce the number of lines of code from ~14,000 lines in IBM Algorithmics to just ~1,000 lines in Julia - a 93% reduction
- 93% fewer lines of code means:
- Fewer mistakes
- Less programming time and more efficiency
- Transparency and simplicity for updates, analysis and error checking
- Elegant, readable, inspectable code that is easy for regulators and co-workers to follow
- Easier maintainability of programs
- Faster run times means faster feedback to end users or internal customers, making them more productive
- The server cluster size required to run Aviva’s risk model simulations fell 95% from 100 servers to 5 servers. The faster run time is now making it easier for more users to use the application, and server count is increasing as a result.
- These factors plus reduced licensing fees moving from a proprietary program (IBM Algorithmics) to an open-source language (Julia) resulted in overall savings of millions of pounds per year
According to Tim Thornham, Aviva’s Director of Financial Modeling, “Solvency II compliant models in Julia are one thousand times faster than IBM Algorithmics, use 93% fewer lines of code and took one-tenth the time to implement.”
Further expansion of Julia usage at Aviva
Aviva’s new capital models were built in Julia, and has been successfully running in production for >9 months. These Julia based models were used compute their 2016 year end results. Aviva has deployed applications written in Julia into production for capital allocation models for life insurance, general insurance and other instruments worldwide, and is now applying Julia to risk analytics, credit management and asset management.