Skip to content
View open-source-modelling's full-sized avatar
🧩
🧩

Highlights

  • Pro

Block or report open-source-modelling

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Open-Source Modelling

Open, tested algorithms for actuaries and risk managers, as an alternative to closed commercial software.

Everything here is free to use and fork under the MIT licence (the asset-liability model uses MPL-2.0). Each algorithm comes with its source paper or regulatory document, a worked example and tests, so you can check the result instead of trusting it.

Open-Source Modelling started in Milan in 2021. It is funded and maintained by Qnity Consultants.


Start here

Repository What it is
insurance_python Every Python algorithm in one place: yield curves, short-rate models, bootstrapping, time series
insurance_matlab The same algorithms for Matlab users
insurance_jupyter Notebooks that walk through the methods step by step
insurance_skills AI assistant skills for actuarial work, where the calculation runs in Python and the assistant is just the interface
Open_Source_Economic_Model A full asset-liability model (OSEM) for insurers and pension funds, with a methodology document
Light_Economic_Generator Simple economic stochastic generator with 3 different stochastic models

What's covered

Yield curves and Solvency II

  • Smith-Wilson interpolation and extrapolation, following EIOPA's technical documentation, with calibration of alpha
  • Nelson-Siegel-Svensson curve fitting
  • Checks that recalculate EIOPA's monthly risk-free rate curves
  • Every historical EIOPA curve since December 2014, in three CSV files

Interest rates and economic scenarios

Statistics and time series

  • Stationary bootstrap, with automatic block-length calibration
  • Singular spectrum analysis

Open data

Italian-language versions of several algorithms are in assicurazione_python.


AI workflows for actuarial teams

Teams are starting to use AI assistants such as Claude, Copilot and ChatGPT in their daily work, but there's been no shared place for insurance-specific tools. insurance_skills is that place: an open collection of reusable assistant skills.

Every skill follows one rule. The checks and calculations run in tested Python; the assistant is only the interface. You ask in plain English, and the answer comes from code you can read, so the model can't make up a number.

Skill What it does
historic-eiopa-yield-curve Returns any historic EIOPA risk-free rate curve, for any country, maturity and date since December 2014, including forwards, discount factors and stressed curves
spontaneous-testing-for-excel You list tests for a workbook in plain English on a TEST sheet. The skill runs each one and writes back what it checked and whether it passed, without touching anything else
validate-ul-fund-data Runs 22 checks on the shape, types and internal consistency of a periodic fund data extract. It returns a pass/fail report and a SHA-256 fingerprint of the file, so bad data is caught before a re-run
ranking_life_script Gives several AI models the same customer scenario and records how each one ranks a list of life insurers, and why. It measures how AI assistants perceive your company next to its peers

AI also does the heavy lifting in our open data. The SFCR tables are extracted from PDF reports with Mistral OCR, then validated with accounting integrity checks. Those checks have already caught a likely transposition error in a published report.

Each team's data is different, so fork a skill and adapt its rules. Does your team have a skill that works well? Share it. Contributions are very welcome.


Contributing

Suggestions, bug reports and new algorithms are welcome.

  • Found a bug or a question? Open an issue on the relevant repository.
  • Have an implementation or an AI skill your team uses? Get in touch and we'll help publish it in insurance_skills.

Support

We support the Open-Source Modelling development by taking paid project work. Open code is where a model starts. Making it hold up in reporting takes more work: validation, integration and training. Through Qnity Consultants we do exactly that for life insurers, pension funds and ALM teams.

📧 gregor@osmodelling.com · LinkedIn · qnityconsultants.com

Pinned Loading

  1. insurance_python insurance_python Public

    All Python algorithms published by Open Source Modelling in one place.

    Jupyter Notebook 49 10

  2. insurance_matlab insurance_matlab Public

    All Matlab algorithms published by Open Source Modelling in one place.

    MATLAB 8 1

  3. insurance_jupyter insurance_jupyter Public

    All Jupyter Notebooks implemented by Open Source Modelling in one place.

    Jupyter Notebook 10 2

  4. SFCR_using_Mistral_2025 SFCR_using_Mistral_2025 Public

    Solvency and Financial Condition Report (SFCR) tables for 22 Italian Life insurers; S.02.01.02, S.23.01.01, and S.25.01.21.

    Python 4 1

  5. insurance_skills insurance_skills Public

    Skills used by actuaries and risk managers in their daily work.

    Python 5

  6. Open_Source_Economic_Model Open_Source_Economic_Model Public

    Open-source asset-liability model.

    Jupyter Notebook 29 12