Project smithwilson

The smithwilson project includes the smithwilson model, which extrapolates observed risk-free interest rates using the Smith-Wilson method.

The Smith-Wilson method is used for extrapolating risk-free interest rates under the Solvency II framework. The method is described in “QIS 5 Risk-free interest rates – Extrapolation method”, a technical paper issued by CEIOPS(the predecessor of EIOPA). The technical paper is available on EIOPA’s web site. Cells in this model are named consistently with the mathematical symbols in the technical paper.

This project is inspired by a pure Python implementation of Smith-Wilson yield curve fitting algorithm created by Dejan Simic. His original work can be found here. A copy of the original work is included in this project under smith-wilson-py folder for your reference.

The model contains default input values as references (refs), such as spot_rates, N, UFR and alpha. By default, these values are set equal to the values used in Dejan’s reference model. The original source of the input data is Switzerland EIOPA spot rates with LLP 25 years available from the following source.

Source: RFR_spot_no_VA tab in EIOPA_RFR_20190531_Term_Structures.xlsx, archived in, avaialble on EIOPA’s Risk-Free Interest Rate Term Structures web site.

Project files and folders

A smithwilson project folder is created by the lifelib-create command. The table below lists files and folders included in the project.




A Jupyter notebook showing how to read or create the model.


The smithwilson model.


Pure python implementation by Dejan Simic.

An example script to plot forward rates with various alpha.

How to use the model

Create a project folder by executing the following command in the WinPython Command Prompt as explained in Copying a Library section. You should pass your own project path as the last argument.

> lifelib-create --template smithwilson C:\Users\fumito\mysmithwilson

A Jupyter notebook is included in the created folder. The notebook shows how to read in the model included in the project. It also shows how to create the same model from scratch.

Each formula in the model is explained in SmithWilson space page.

Jupyter notebook

A live version of the Jupyter notebook below is available online, thanks to Binder.

Launch this sample now! launch binder

Space Details

The smithwilson model contains only one space named SmithWilson.


The main space in the Smith-Wilson model