smith_wilson_funcs#
Smith-Wilson functions
Functions
|
Calculate the calibration vector using a Smith-Wilson algorithm |
|
Interpolate or/and extrapolate rates for targeted maturities using a Smith-Wilson algorithm. |
|
Calculate the heart of the Wilson function. |
- SWCalibrate(r, M, ufr, alpha)[source]#
Calculate the calibration vector using a Smith-Wilson algorithm
b = SWCalibrate(r, T, ufr, alpha) calculates the vector b used for interpolation and extrapolation of rates.
- Parameters:
r – n x 1 ndarray of rates, for which you wish to calibrate the algorithm. Each rate belongs to an observable zero-coupon bond with a known maturity. Ex. r = [[0.0024], [0.0034]]
M – n x 1 ndarray of maturities of bonds, that have rates provided in input (r). Ex. u=[[1], [3]]
ufr – 1 x 1 floating number, representing the ultimate forward rate. Ex. ufr = 0.042
alpha – 1 x 1 floating number representing the convergence speed parameter alpha. Ex. alpha = 0.05
- Returns:
n x 1 ndarray array for the calibration vector needed to interpolate and extrapolate b = [[14], [-21]] rates
For more information see https://www.eiopa.europa.eu/sites/default/files/risk_free_interest_rate/12092019-technical_documentation.pdf
- SWExtrapolate(M_Target, M_Obs, b, ufr, alpha)[source]#
Interpolate or/and extrapolate rates for targeted maturities using a Smith-Wilson algorithm.
r = SWExtrapolate(T_Target,T_Obs, b, ufr, alpha) calculates the rates for maturities specified in M_Target using the calibration vector b.
- Parameters:
M_Target – k x 1 ndarray. Each element represents a bond maturity of interest. Ex. M_Target = [[1], [2], [3], [5]]
M_Obs – n x 1 ndarray. Observed bond maturities used for calibrating the calibration vector b. Ex. M_Obs = [[1], [3]]
b – n x 1 ndarray calibration vector calculated on observed bonds.
ufr – 1 x 1 floating number, representing the ultimate forward rate. Ex. ufr = 0.042
alpha – 1 x 1 floating number representing the convergence speed parameter alpha. Ex. alpha = 0.05
- Returns:
k x 1 ndarray. Represents the targeted rates for a zero-coupon bond. Each rate belongs to a targeted zero-coupon bond with a maturity from T_Target. Ex. r = [0.0024; 0.0029; 0.0034; 0.0039]
For more information see https://www.eiopa.europa.eu/sites/default/files/risk_free_interest_rate/12092019-technical_documentation.pdf
- SWHeart(u, v, alpha)[source]#
Calculate the heart of the Wilson function.
H = SWHeart(u, v, alpha) calculates the matrix H (Heart of the Wilson function) for maturities specified by vectors u and v. The formula is taken from the EIOPA technical specifications paragraph 132.
- Parameters:
u – n_1 x 1 vector of maturities. Ex. u = [1; 3]
v – n_2 x 1 vector of maturities. Ex. v = [1; 2; 3; 5]
alpha – 1 x 1 floating number representing the convergence speed parameter alpha. Ex. alpha = 0.05
- Returns:
n_1 x n_2 matrix representing the Heart of the Wilson function for selected maturities and parameter alpha. H is calculated as in the paragraph 132 of the EIOPA documentation.
For more information see https://www.eiopa.europa.eu/sites/default/files/risk_free_interest_rate/12092019-technical_documentation.pdf