# 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 EIOPA_RFR_20190531.zip, 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.

File/Folder |
Notes |
---|---|

smithwilson-overview.ipnb |
A Jupyter notebook showing how to read or create the model. |

model |
The smithwilson model. |

smith-wilson-py |
Pure python implementation by Dejan Simic. |

plot_smithwilson.py |
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 Creating a Project 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.

## Model Components¶

The **smithwilson** model contains only one space
named `SmithWilson`

.

The main space in the Smith-Wilson model |