SmithWilson¶
The main space in the Smith-Wilson model
SmithWilson
is the only space in the Smith-Wilson model.
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 space are named consistently with the mathematical symbols in the technical paper.
References
- log¶
log function from the standard math library
- exp¶
exp function from the standard math library
- N¶
Number of durations for which the observed spot rates are available
- spot_rates¶
List of the observed spot rates (annual compound)
- UFR¶
The ultimate forward rate (continuous compound)
- alpha¶
The convergence parameter \(lpha\)
Cells
|
Zero-coupon bond prices extrapolated by the Smith-Wilson method. |
|
The extrapolated annual compound sport rates. |
|
The Wilson functions. |
|
The |
|
Observed zero-coupon bond prices at time \(u_i\). |
|
The |
|
Ultimate Forward Rate (UFR) discount factors |
The |
|
|
Time (\(u_i\)) |
|
The \(\zeta_i\) parameters fitted to the observed spot rates. |
The |
- u(i)[source]¶
Time (\(u_i\))
u()
is a series of discrete time points.i
is a 1-based index. By default,u()
just returnsi
.For i = 1, …,
N
,u()
corresponds to \(u_i\) in the technical paper, The time to maturities of the observed zero-coupon bond prices.spot_rates
, the observed spot rates must exist at eachu(i)
from i = 1 toN
. Note thatspot_rates
is 0-based, so the sport rate atu(i)
isspot_rates[i-1]
.- Parameters:
i – The time index (1, 2, …)
- m(i)[source]¶
Observed zero-coupon bond prices at time \(u_i\).
m()
is calculated fromspot_rates
as \((1 + spot\_rates[i-1])^{-u_i}\)- Parameters:
i (int) – Time index (1, 2, …,
N
)
- mu(i)[source]¶
Ultimate Forward Rate (UFR) discount factors
mu()
is defined as \(e^{-UFR\cdot u_i}\).- Parameters:
i (int) – Time index (1, 2, …)
- W(i, j)[source]¶
The Wilson functions.
W()
corresponds to formula (2) on page 16 in the technical paper defined as:\[W(t, u_j)= \ e^{-UFR\cdot (t+u_j)}\cdot \ \left\{ \ \alpha\cdot\min(t, u_j) \ -0.5\cdot e^{-\alpha\cdot\max(t, u_j)}\cdot( \ e^{\alpha\cdot\min(t, u_j)} \ -e^{-\alpha\cdot\min(t, u_j)} \ ) \ \right\}\]where \(t = u_i\).
- zeta_vector()[source]¶
The
zeta()
vector.zeta_vector()
returns \(\zeta\) parameters calculated by formula (5) on page 17 in the technical paper, which is\[\bf \zeta= W^{-1}(p-\mu)\]
- zeta(i)[source]¶
The \(\zeta_i\) parameters fitted to the observed spot rates.
- Parameters:
i (int) – Time index (1, 2, …,
N
)
- P(i)[source]¶
Zero-coupon bond prices extrapolated by the Smith-Wilson method.
P()
corresponds to formula (1) on page 16 or formula (6) on page 18 in the technical paper, defined as:\[P(t) = e^{-UFR\cdot t}+\sum_{j=1}^{N}\zeta_{j}\cdot W(t, u_j)\]substituting \(t\) with \(u_i\).
The values of
P()
fori=1, ..., N
should be the same as the values ofm()
, the observed bond prices.- Parameters:
i (int) – Time index (1, 2, …)
- R(i)[source]¶
The extrapolated annual compound sport rates.
R()
corresponds to \(R_t\) defined as:\[R_t = \left(\frac{1}{P(t)}\right)^\left(\frac{1}{t}\right)-1\]on page 18 in the technical paper, substituting \(t\) with \(u_i\).
The values of
R()
fori=1,...,N
should be same as the values of the observed spot ratesspot_rates
for 0, … ,N-1.- Parameters:
i (int) – Time index (1, 2, …)