Calibration of Interest Rate Models

Overview

The pricing of a financial derivative relies on a model that describes the underlying processes. Commonly used interest rate models include the Black-Karasinski model and the Libor Market Model. The models depend on one or more parameters that need to be determined by matching the model predictions to available market data. This is the process of calibration.

A calibrated model is therefore a model whose parameters have values that are consistent with market observations. Calibration involves finding values of the parameters such that the model is able to reproduce (as close as possible) the prices of calibration instruments observed in the market. For example, values of the Libor Market Model parameters (forward rate volatilities and correlations) are found by calibrating the model to market-quoted Black volatilities of caplets and European-style swaptions. FINCAD provides functions for the calibration of the following interest rate models:

·         One-Factor Short Rate Models: Hull-White, Ho-Lee, Black-Karasinski, Black-Derman-Toy (BDT, also: Lognormal Short Rate)[1]

·         Two-Factor Short Rate Models: Hull-White, Two-Additive-Factor Gaussian

·         Libor Market Model: standard log-normal, as well as enhanced LMM with Constant Elasticity of Variance (CEV) and Displaced Diffusion (DD) local volatility processes

For all of these interest rate models, the calibration instruments (the market data) are interest rate caplets/floorlets and European-style swaptions. The functional forms of the modeled processes and the parameters associated with each model are shown in Table 1. The Two-Factor Models and the LMM are described in more detail in the FINCAD Math Reference documents Multi-Factor Short Rate Models and Libor Market Model respectively. For additional information on all interest rate models, see Reference [1].

Table 1:  Models that are supported by FINCAD calibration functions

Model

Process model(s)

FINCAD calibration parameters

Comments

One-Factor Short Rate

Hull-White

Short rate mean reversion and volatility: ,

 is determined from the initial term structure.

Ho-Lee

 

Short rate volatility:

Same as Hull-White with .

Black-Karasinski

 

Short rate mean reversion and volatility: ,

 is determined from the initial term structure.

BDT

(lognormal)

Short rate volatility:

Same as Black-Karasinski with .

Two-Factor Short Rate

Hull-White

Reversions and volatilities: and correlation:

 is determined from the initial term structure.

Two-Additive-Factor Gaussian

Reversions and volatilities: ; and correlation:

Deterministic shift, , is determined from the initial term structure.

Libor Market Model

Standard lognormal

 with:

Instantaneous lognormal volatility and correlation are sub-parameterized.

CEV

 with:

Instantaneous local volatility and correlation are sub-parameterized.

DD

 with:

Instantaneous local volatility and correlation are sub-parameterized.

 

Formulas & Technical Details

In the calibration of a model to market data, a minimization algorithm seeks to find parameter values that minimize the differences between the model predictions and the market data. The overall difference between the model and the market data can be quantified with an error metric, which is a function of the differences of each model prediction to the corresponding calibration instrument, and the uncertainties associated with these instruments. The FINCAD calibration functions provide three different possibilities to define this error metric:

The most commonly used error metric is the  statistic (a weighted L-2 norm), which is defined as

.

where

 is the total number of calibration instruments,

is the market observation of the -th calibration instrument with weight , and

is the corresponding model prediction with the parameter values given by . The positive weights  are usually related to the data uncertainties  via , but as discussed below these weights may also be defined differently.

The definition of the weighted L-1 norm

is similar to the  statistic, This error metric is the weighted sum of the absolute difference between the model predictions and the market data.

The third error metric defined in the FINCAD calibration functions is the weighted L-∞ norm or Kolmogorov-Smirnov statistic:

This statistic is the value of the largest deviation between the model predictions and the market data. The weighted L-∞ norm therefore measures the most significant deviation of the model prediction from the market data. In contrast, the weighted L-2 and L-1 norms measure the sum of all deviations of the model predictions from the market data.

Note that all three error metrics are always larger or equal to zero.

The FINCAD interest rate calibration functions define the market observation  as the instrument’s price and analogously the model prediction  is the price of the corresponding instrument. In the market, however, quotations of caplet and European swaption prices are available as implied Black volatilities, so the FINCAD calibration functions convert Black volatility to price before calculating the error metric.

Minimization algorithm

The calibration algorithm finds model parameters that minimize the error metrics discussed above. There are a large variety of minimization algorithms available. The FINCAD calibration functions implement the well-known Levenberg-Marquardt and downhill simplex algorithms [2] as well as the differential evolution algorithm [3]. The Levenberg-Marquardt algorithm is an iterative algorithm that navigates parameter space in an intelligent way to find the minimum of the error metric. This navigation requires the calculation of partial derivatives of the error metric with respect to the model parameters.

The downhill simplex algorithm is an iterative algorithm that does a simple search of parameter space. It does not require the calculation of partial derivatives but needs more iterations to find an error metric minimum.  For more information on the Levenberg-Marquardt and downhill simplex algorithms see Reference [2].

The differential evolution algorithm starts out with many random sets of trial parameter values [3]. These parameter sets are then iteratively combined to form new sets such that the new parameter sets result in smaller error metrics. This iteration (or evolution) of the parameter sets thus finds the parameter values that minimize the error metric. While differential evolution is computationally more intensive than Levenberg-Marquardt and downhill simplex, it is more likely to find the global minimum.

In all three algorithms the search for the best parameter values requires many evaluations of the error metric. It is thus important that the calculations of model-predicted prices (the  above) be fast.  For this reason, closed-form expressions for the prices of caplets and European swaptions are used when calibrating all models, except in the case of the One-Factor Short Rate Black-Karasinski and Lognormal models that require the use of trinomial interest rate trees.

Calibration instruments

In order to perform a calibration, the user must choose appropriate market data with regards to the specific pricing application. These market data should be chosen such that the data span a time period that is similar to the time period of the pricing application and such that the instruments are similar. For example, if the user wishes to price a 10-year semi-annual Bermudan swaption effective today, then he would calibrate the model using market quotes for the 0.5×9.5, 1×9, 1.5×8.5,…, 9.5×0.5 European swaptions.

Weighting of the instruments

In addition to the market-quoted Black volatilities of the calibration instruments, the user may also enter estimated uncertainties in the quotes. The uncertainty is inversely proportional to the weight that the instrument has in the calibration. The larger the weight (or the smaller the uncertainty) the closer the prediction must be to the market data. For example, a relatively illiquid swaption may be temporarily misaligned with other swaptions in the swaption matrix [1]. This illiquid swaption represents poor quality data which should be de-weighted with respect to the good quality liquid data. In this case, one would assign a larger uncertainty (a smaller weight) to the illiquid swaption than to the liquid swaptions, so that the model parameters are primarily calibrated with respect to the good quality data.

If estimates of the uncertainties are not available, the user may choose constant weights or vega-weights for the instrument prices. The former choice means that all instruments have the same weight in the calibration.[2] Constant weighting is useful when all calibration data is similarly liquid, for example a set of at-the-money swaptions with close but different expiry dates.

In the case of vega-weighting the instruments are weighted by their corresponding values of vega.[3] Therefore an instrument that is out-of-the-money will have a smaller weight than at-the-money instruments that are more liquid.

Parameter ranges

The user must also enter upper and lower boundaries for the model parameters. These inputs represent the search constraints for finding the error metric minimum. For example, if the value of the  correlation parameter in the Libor Market Model has a lower bound of 0.0 and an upper bound of 0.2, then the minimization algorithm will attempt to find a value for this parameter within this interval. If the user enters the same value for the upper and lower boundaries of a parameter, then the parameter is held fixed at this value during the calibration process.  The user can thus constrain the calibration to intervals of reasonable parameter values. Conversely it is possible to vary the upper and lower boundaries of the model parameters in a number of calibrations in order to search different ranges of parameter values for the best-fit values.

Initial parameter values

The FINCAD functions require that the user specify initial parameter values for the minimization. These inputs specify where the Levenberg Marquardt and downhill simplex minimization algorithms start their search for the error metric minimum. These initial guesses are ideally close to the parameter values that minimize the error metric. The user may also confirm a calibration result by re-running a calibration with the calibrated parameters found in a previous calibration. The initial values have to be within the boundaries of the parameter ranges. Note that the differential evolution algorithm does not use the initial parameter values.

Minimization parameters

The minimization parameter table specifies the maximum number of iteration steps and the tolerance at the error metric minimum. The Levenberg Marquardt and downhill simplex algorithms often converge in less than 200 iteration steps, whereas differential evolution may require a larger number of steps. The tolerance provides a threshold for the convergence or stopping condition. In the Levenberg Marquardt and downhill simplex algorithms the minimization is stopped when the error metric is decreasing from one iteration step to the next by less than the value given by the tolerance. In the differential evolution algorithm the stopping condition is based on the distribution of error metrics of the set of parameter vectors, see Reference [4] for a discussion of similar stopping criteria.

Time estimate

The FINCAD functions can provide an order of magnitude estimate of the time required for the calibration. This can be useful when using the differential evolution algorithm which is computationally very intensive and can thus take a long time. The time estimate is returned in seconds.

Recommendations and notes

The error metric is a function of the market data and the model parameters.  The error metric therefore defines a surface in parameter space. The three minimization algorithms find the error metric minimum if the surface is smooth and if there is only a single (a global) minimum. Depending on the complexity of the model and the amount of noise in the data, however, the error metric surface will have local minima in addition to the global minimum. For such surfaces, it is possible for the Levenberg-Marquardt and downhill simplex algorithms to terminate at a local minimum. In such cases the differential evolution algorithm provides a more reliable method for minimization.

A successful calibration is indicated by

·         convergence flag = 0 (indicating convergence of the error minimization algorithm).

·         fitted model parameter values that are well inside the parameter ranges entered by the user (indicating that the error minimization algorithm was able to find an error minimum in parameter space without getting stuck at a boundary).

Even if the above conditions are met, it is recommended that the user enter the calibrated parameters into the FINCAD pricing functions in order to re-price the calibration instruments and compare with the original market data. In general, for a good calibration, the calculated model errors (the difference between the model prediction of the prices and the market prices) should be both positive and negative and distributed evenly about zero (i.e., there should be no positive or negative bias in the model errors).

It is also recommended that the user attempt the calibration with various sets of initial parameter values and parameter ranges so that the calibration is performed with several different sets of initial parameter values and different allowed ranges. The user should select the calibration with the smallest error metric, because in the obtained sample this error metric is the most likely to correspond to a global minimum and therefore the best calibration.

If the calibration has to be redone often with only small changes in the market data, the user could carry out the calibration using differential evolution initially. Subsequent incremental calibrations can then be done with Levenberg-Marquardt or downhill simplex using the calibration result from the differential evolution as initial parameters. Occasionally the user should re-calibrate with differential evolution to confirm the parameter values found with one of the other algorithms.

FINCAD Functions

aaCalibrateCaplets_BK(d_v, blvol_tbl, acc, df_crv, intrp, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the Black-Karasinski (or Lognormal) one-factor term structure model to a given set of quoted market caplet and/or floorlet Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateCaplets_HW(d_v, blvol_tbl, acc, df_crv, intrp, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of the Hull-White (or Ho-Lee) one-factor term structure model to a given set of market caplet and/or floorlet Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateCaplets_LMM(d_v, blvol_tbl, acc, df_crv, intrp, model_vol, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of the Hull-White (or Ho-Lee) one-factor term structure model to a given set of market caplet and/or floorlet Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateCaplets_MF(d_v, blvol_tbl, acc, df_crv, intrp, model_type,

Calibrates the parameters of a functional form for the instantaneous volatilities in the Libor Market Model to a given set of market caplet and/or floorlet Black volatilities.  The Libor Market Model can be enhanced with a local volatility process.  Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateSwaptions_BK(d_v, blvol_tbl, freq, acc, df_crv, intrp, d_rul, hl, iter_year, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of the Black-Karasinski (or Lognormal) one-factor term structure model to a given set of market swaption Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateSwaptions_HW(d_v, blvol_tbl, freq, acc, df_crv, intrp, d_rul, hl, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of the Hull-White (or Ho-Lee) one-factor term structure model to a given set of market swaption Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateSwaptions_LMM(d_v, blvol_tbl, freq, acc, df_crv, intrp, d_rul, hl, approx, model_vol, model_corr, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of functional forms for the instantaneous volatilities and correlations in the Libor Market Model to a given set of market swaption Black volatilities. The Libor Market Model can be enhanced with a local volatility process.  Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

 

aaCalibrateSwaptions_MF(d_v, blvol_tbl, freq, acc, df_crv, intrp, d_rul, hl, model_type, param_rng, param_ini, min_method, min_param, error_metric, weighting, table_type)

Calibrates the parameters of a multi-factor term structure model to a given set of market swaption Black volatilities. Black volatilities are converted to price prior to calibration. The calibration can be done with the Levenberg-Marquardt, downhill simplex, or differential evolution algorithms.

Description of Inputs

Input Argument

Type

Description

d_v

Date

Value (settlement) date

blvol_tbl

Table

Black volatility table.  This table can have 5 or 6 columns.  The first 5 columns are:  option type, effective date, terminating date, Black volatility, and exercise rate.

In the case of the aaCalibrateCaplets* functions, the option type corresponds to switch 20: 1 = caplet, 2 = floorlet

In the case of the aaCalibrateSwaptions* functions, the option type corresponds to switch 95: 1 = right to receive fixed, 2 = right to pay fixed 

In the case of the aaCalibrateSwaptions* functions, if the exercise rate is 0 then the swaption is assumed to be at-the-money (i.e., the exercise rate is set to the par swap rate).

An optional 6th column may be included which specifies the uncertainty (standard deviation) in each Black volatility.  If this column is missing, or if the data in this column is <= 0%, then the standard deviation is set to a default value of 1%. 

The uncertainty handling is also driven by the weighting switch 2063, see below. If the switch is set to 2 or 3 the 6th column is ignored and the weighting of the data is computed internally.

freq

Number

Fixed and floating leg payment (and reset) frequency for the underlying swap of each swaption in blvol_tbl.

acc

Number

Accrual method for valuation of options in blvol_tbl.

df_crv

Table

Discount factor curve.

intrp

Number

Interpolation method for discount factors.

d_rul

Number

Business day convention for valuation of swaptions in blvol_tbl.

hl

Table

Holiday list for valuation of swaptions in blvol_tbl.

iter_year

Number

Number of time steps per year when building a One-Factor Short Rate Black-Karasinski or Lognormal trinomial interest rate tree.

model_type

Number

Multi-factor short rate model type.

approx

Number

Approximate closed-form expression for swap rate volatility in terms of forward rate volatility in the Libor Market Model.

model_vol

Number

Parameterization of instantaneous lognormal or local volatility in the Libor Market Model.

model_cor

Table

Parameterization of instantaneous correlation in the Libor Market Model.

param_rng

Table

Model parameter range table.  This is a 2×M table where M is the number of model parameters.  For the one-factor short rate models, M = 2 (); for the two-factor short rate models, M = 5 (e.g., ); for the Libor Market Model, M = 6 (); and for the Libor Market Model enhanced with local volatility, M = 7 ().  The 1st and 2nd rows of the parameter range table are used to specify lower and upper bounds on the parameter values.  If the lower and upper bounds of a parameter have the same value, then the parameter is held fixed at this value during the calibration.

param_ini(*)

Table

Initial parameter range table. This is a 1xM table where M is the number of model parameters. This table sets the initial parameter values for calibration with the Levenberg-Marquardt or downhill simplex algorithms. The table is ignored if the error minimization method is differential evolution.

min_method

Number

Error minimization algorithm.

min_param

Table

Minimization parameter table. This one-row table has at least two columns, the maximum number of iteration steps and the tolerance for the minimization. In the case of differential evolution a fractional number of iteration steps seeds the random number generator with a fixed seed. Three additional columns are optional for differential evolution: The number of population members per parameter (NP), the amplification factor (F), and the crossover probability (CR).

error_metric

Number

Error metric used in the calibration.

weighting

Number

Weighting of market data in error metric.

table_type

Number

Type of output table.

Description of Outputs

If the table_type input is equal to ‘time estimate for calibration’, the output is a single cell with an order-of-magnitude estimate of the time in seconds required for the calibration.

Otherwise, the output of the calibration functions is a 1-row table with the following columns:

Col

Output Statistic

Type

Description

1

time

Number

Time for fit

2

number of internal function calls

Number

Number of iterations used by the iterative calibration algorithm.

3

calibration converged

Number

Convergence flag that indicates whether or not the calibration converged on a solution for the model parameters.

4

error metric

Number

Error metric for the calibrated model parameter values.

5 to M+4

model parameters

Number/Rate

Calibrated values of the M model parameters.

Example

Suppose we are interested in calculating the price and risk statistics of a 10-year semi-annual Bermudan swaption using the Libor Market Model.  To get accurate price and risk statistics for the Bermudan, we should calibrate the Libor Market Model to the semi-annual caplets and/or European swaptions that have the same exercise dates as the Bermudan.  Suppose we have access to a number of market quotes for the Black volatilities of the 1×9, 1.5×8.5, …., 9.5×0.5 European swaptions struck at the money, where time zero corresponds to the effective date of the Bermudan (22-May-2000).  (Note that the last 9.5×0.5 European swaption is actually a caplet.)  From the various quotes for each swaption, we can estimate an uncertainty in each Black volatility. The Black volatility table is constructed as below, with exercise rate = 0% to indicate “at the money”:

Black Volatility Table

option type

effective date

terminating date

Black volatility

exercise rate

uncertainty

1

22-May-2001

22-May-2010

15.170729%

0.000%

0.70%

1

22-Nov-2001

22-May-2010

15.331810%

0.000%

0.60%

1

22-May-2002

22-May-2010

15.415442%

0.000%

0.60%

1

22-Nov-2002

22-May-2010

15.468907%

0.000%

0.50%

1

22-May-2003

22-May-2010

15.510277%

0.000%

0.50%

1

22-Nov-2003

22-May-2010

15.501956%

0.000%

0.50%

1

22-May-2004

22-May-2010

15.539473%

0.000%

0.50%

1

22-Nov-2004

22-May-2010

15.621364%

0.000%

0.50%

1

22-May-2005

22-May-2010

15.643770%

0.000%

0.40%

1

22-Nov-2005

22-May-2010

15.713499%

0.000%

0.40%

1

22-May-2006

22-May-2010

15.766221%

0.000%

0.40%

1

22-Nov-2006

22-May-2010

15.824947%

0.000%

0.40%

1

22-May-2007

22-May-2010

15.886927%

0.000%

0.40%

1

22-Nov-2007

22-May-2010

15.955530%

0.000%

0.40%

1

22-May-2008

22-May-2010

16.024347%

0.000%

0.40%

1

22-Nov-2008

22-May-2010

16.013255%

0.000%

0.40%

1

22-May-2009

22-May-2010

16.176638%

0.000%

0.40%

1

22-Nov-2009

22-May-2010

16.114566%

0.000%

0.50%

We choose the standard LMM with a 4-parameter linear-exponential form for instantaneous lognormal volatility and a 2-parameter exponential form for instantaneous correlation. Based on observations of historical correlation, we choose to retain the correlation structure by freezing the exponential parameter of instantaneous correlation () at a value of 0.1 (see the Libor Market Model FINCAD Math Reference document). The model parameter range table is set up as follows:

Model Parameter Range Table

a

b

c

d

beta1

beta2

-1.0

0.0

0.0

0.0

0.0

0.1

1.0

0.5

5.0

0.5

1.0

0.1

The initial parameters are set up such that they are at the midpoints of these intervals. The fixed parameter  is set to 0.1:

Initial Model Parameter Table

a

b

c

d

beta1

beta2

0

0.25

2.5

0.25

0.5

0.1

Note that this table is ignored by the differential evolution algorithm.

 

We wish to value the Bermudan swaption on 14-Feb-2000.  The day count is 30/360 and the business day convention is modified following adjusted.  We choose the Rebonato approximation for calculation of swap rate volatility in terms of forward rate volatility in the Libor Market Model (see the Libor Market Model FINCAD Math Reference document), and we choose the  statistic as our error metric with an error tolerance of 0.001. We fix the maximum number of iteration steps at 500:

Minimization Parameter Table

max iteration steps

tolerance

500

0.001

We use differential evolution to reduce the possibility of terminating the calibration in a local minimum.

All inputs to the aaCalibrateSwaptions_LMM function are summarized below.

aaCalibrateSwaptions_LMM

Argument

Description

Example Data

Switch

d_v

Value (settlement) date

14-Feb-2000

 

blvol_tbl

Black volatility table

Black volatility table shown above

 

freq

Fixed and floating leg payment (and reset) frequency for the underlying swap of each swaption in blvol_tbl.

2

semi-annual 

acc

Accrual method for valuation of options in blvol_tbl.

4

30/360

df_crv

Discount factor curve.

Discount factor curve, shown below 

 

intrp

Interpolation method for discount factors.

1

linear

d_rul

Business day convention for valuation of swaptions in blvol_tbl.

4

modified following business day

hl

Holiday list for valuation of swaptions in blvol_tbl.

Holiday list, shown below

 

approx

Approximate closed-form expression for swap rate volatility in terms of forward rate volatility in the Libor Market Model.

1

Rebonato

model_vol

Parameterization of instantaneous volatility in the Libor Market Model.

1

4 parameters: linear-exponential lognormal volatility

model_cor

Parameterization of instantaneous correlation in the Libor Market Model.

1

Type 1 – 2 parameter exponential

param_rng

Model parameter range table.

shown above

 

param_ini

Initial model parameter table

shown above

 

min_method

Error minimization algorithm.

3

Differential evolution

min_param

Minimization parameters table

shown above

 

error_metric

Error metric

1

 statistic

weighting

Weighting of Black volatilities

1

user input of volatility uncertainties

table_type

Output table type

1

time estimate for calibration

 

t_43_6 – Discount Factor Curve

 

t_26_3 – Holiday List

 

Grid Date

Discount Factor

 

Date

14-Feb-2000

1.00000000

 

25-Dec-2005

15-Feb-2000

0.99986634

 

1-Jan-2006

15-Aug-2000

0.97583485

 

25-Dec-2006

15-Feb-2001

0.95212637

 

1-Jan-2007

15-Aug-2001

0.92936652

 

25-Dec-2007

15-Feb-2002

0.90678702

 

1-Jan-2008

15-Aug-2002

0.88511098

 

25-Dec-2008

15-Feb-2003

0.86360669

 

1-Jan-2009

15-Aug-2003

0.84296283

 

 

15-Feb-2004

0.82248256

 

 

15-Aug-2004

0.80271444

 

 

15-Feb-2005

0.78321202

 

 

15-Aug-2005

0.76448994

 

 

15-Feb-2006

0.74591621

 

 

15-Aug-2006

0.72808566

 

 

15-Feb-2007

0.71039639

 

 

15-Aug-2007

0.69341491

 

 

15-Feb-2008

0.67656799

 

 

15-Aug-2008

0.66030689

 

 

15-Feb-2009

0.64426435

 

 

15-Aug-2009

0.62886370

 

 

15-Feb-2010

0.61358509

 

 

15-Aug-2010

0.59891781

 

 

14-Feb-2011

0.58439810

 

 

14-Feb-2012

0.55648080

 

 

14-Feb-2013

0.52982607

 

 

14-Feb-2014

0.50451573

 

 

14-Feb-2015

0.48041449

 

 

Results

Before the calibration we estimate the required time. In the first call to the function we set the table_type input to ‘time estimate for calibration’. The function output is

time estimate for calibration

2203

given in seconds or about 36 minutes. We then run the calibration (we change the table_type input to ‘calibration’). The results from the calibration are given below. The parameter  remains frozen at 0.1, and the fitted values of all other parameters are between the lower and upper bounds as specified in the model parameter range table. The convergence flag is 0, which indicates that the calibration converged.  None of the parameter values are close to the initial boundaries in the model parameter range table, which provides further indication that the algorithm found the function minimum in parameter space.  Therefore, this calibration was successful. 

time for fit

no. iter

conv. flag

error metric

a

b

c

d

beta1

beta2

694.6

314

0

0.093

-0.143

0.267

2.764

0.162

0.528

0.1

These parameter values can be input into the Libor Market Model European swaption pricing function, aaSwaption2_eu_LMM_ff, to verify the quality of the calibration.  As expected, the differences between the model-predicted Black volatilities and the input Black volatilities (column 3) are within the input uncertainties in Black volatilities (column 4).  The differences do not seem to be biased in the positive or negative direction, again indicating that this is a successful calibration.

Market Black volatility (see Black volatility table above)

Model-predicted Black volatility using aaSwaption2_eu_LMM_ff

Difference between model and market

Input uncertainty in Black volatility (see Black volatility table above)

15.170729%

15.263%

0.092%

0.70%

15.331810%

15.326%

-0.006%

0.60%

15.415442%

15.375%

-0.041%

0.60%

15.468907%

15.423%

-0.046%

0.50%

15.510277%

15.469%

-0.041%

0.50%

15.501956%

15.509%

0.007%

0.50%

15.539473%

15.560%

0.020%

0.50%

15.621364%

15.619%

-0.003%

0.50%

15.643770%

15.667%

0.023%

0.40%

15.713499%

15.723%

0.010%

0.40%

15.766221%

15.777%

0.010%

0.40%

15.824947%

15.833%

0.008%

0.40%

15.886927%

15.889%

0.002%

0.40%

15.955530%

15.949%

-0.007%

0.40%

16.024347%

16.007%

-0.018%

0.40%

16.013255%

16.067%

0.053%

0.40%

16.176638%

16.113%

-0.063%

0.40%

16.114566%

16.133%

0.019%

0.50%

In subsequent calibrations to market data where for example the Black volatilities are updated, we could use the parameter values found in this calibration as initial parameters and carry out the fit with the less time consuming Levenberg-Marquardt algorithm.

Related Functions

aaCaplet_HW, aaCaplet_BK, aaCaplet_MF, aaCaplet_LMM

Values a caplet using a Hull-White/Ho-Lee or Black-Karasinski/Lognormal One-Factor Short Rate Model, or a Multi-Factor Short Rate Model, or the Libor Market Model.

 

aaSwaption_eu_HW, aaSwaption_eu_BK, aaSwaption_eu_MF, aaSwaption2_eu_LMM_ff

Values a European swaption using a Hull-White/Ho-Lee or Black-Karasinski/Lognormal One-Factor Short Rate Model, or a Multi-Factor Short Rate Model, or the Libor Market Model.

References

[1]          Brigo, D. and Mercurio, F. (2001) Interest Rate Models Theory and Practice, Berlin: Springer.

[2]          Press, W. H. (1992) Numerical Recipes in Fortran, Second Edition, Cambridge: Cambridge University Press

[3]          Storn, R. (1997) Differential Evolution, A Simple and Efficient Heuristic Strategy for Global Optimization over Continuous Spaces, Journal for Global Optimization, Vol. 11, Dordrecht, pp. 341-359.

[4]          Zielinski, K., Peters, D. and Laur R. (2005) Run Time Analysis regarding Stopping Criteria for Differential Evolution and Particle Swarm Optimization, Proceedings of the 1st International Conference on Experiments/Process/System Modeling/Simulation/Optimization, Athens, Greece.

 

 

Disclaimer

 

With respect to this document, FinancialCAD Corporation (“FINCAD”) makes no warranty either express or implied, including, but not limited to, any implied warranty of merchantability or fitness for a particular purpose. In no event shall FINCAD be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of this document or the information contained in it. This document should not be relied on as a substitute for your own independent research or the advice of your professional financial, accounting or other advisors.

 

This information is subject to change without notice. FINCAD assumes no responsibility for any errors in this document or their consequences and reserves the right to make changes to this document without notice.

 

Copyright

 

Copyright © FinancialCAD Corporation 2008. All rights reserved.



[1] The Ho-Lee and the Black-Derman-Toy Model can be calibrated using the Hull White and the Black-Karasinski Models respectively and fixing the parameter a at zero.

[2] The FINCAD functions compute the weights as the inverse of the average of the input prices.

[3] The vega weights are scaled such that the weights represent prices.