Keywords

1 Introduction

Dynamic multi-curve term structure models, as the one discussed in this book, often use given interest rate curves as initial data. The classical (single curve) example is the HJM oder LMM model, where

$$\begin{aligned} \mathrm {d} f(t,T) = \mu (t,T) \mathrm {d}t + \varSigma (t,T) \mathrm {d}W(t) \text {,} \qquad f(t_{0},T) = f_{0}(T) \text {.} \end{aligned}$$

While research on multi-curve interest rates models was and is very active, see, e.g., [5, 6, 15, 20,21,22], references therein and the other chapters of in this book, the construction of the initial interest rate curve, here \(f_{0}(T)\), naturally does not get a similar strong attention. However, a good curve construction is of high importance for practitioners, since it has a strong impact on the delta-hedge (that is, the first-order interest rate risk).

The market standard of (forward) curve construction is to calibrate an interpolated curve to given market instruments, often via an iterative procedure (bootstrapping). With respect to the interpolation of (interest rate) forward curves, a common approach is to represent a forward curve in terms of (pseudo-)discount factors (aka. synthetic discount factors) and apply an interpolation scheme on these discount factors. While this approach is in general not backed by an economic concept, it also introduces several (self-made) problems, e.g., the interpolation of (so-called) overlapping instruments, see Sect. 5.3.

In this paper we focus on the curve construction, provide an open source implementation and suggest appealing alternative interpolation schemes motivated from the multi-curve setup: direct interpolation of the forward curve or direct interpolation of the forward value curve, where the forward value is the product of a forward and the associated discount factor. While linear interpolation of the forward is a common scheme,Footnote 1 the interpolation of the forward value appears to be a new approach.

Nevertheless, the paper puts both methods on a solid foundation by deriving the schemes from the multi-curve definition of forward curves. Both interpolation schemes ease some of the complications associated with synthetic discount factors.

Once the curves and interpolations are defined, we are considering the problem of calibrating a set of curves to given market quotes. The value of an instrument is in general determined by a whole collection of curves, e.g., one or two discount curves and zero or more forward curves. To simplify the implementation, we define a generalized swap, which allows to represent most calibration instruments (FRAs, swaps, tenor basis swaps, cross-currency swaps, etc.) by a single class.

2 Foundations, Assumptions, Notation

Under well-known assumptions the valuation of a future cash flow can be written as an expectation,Footnote 2 that is the time \(t_{0}\)-value \(V(t_{0})\) is

$$\begin{aligned} V(t_{0}) \ = \ N(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N}} \left( \frac{V(T)}{N(T)} \ \vert \ \mathscr {F}_{t_{0}} \right) \quad \text {for}\ t_{0} \le T, \end{aligned}$$
(1)

where V(T) is the time T cash-flow, N is the value process of a traded asset (or collateral account) which can serve as a numéraire and \(\mathbb {Q}^{N}\) is the equivalent martingale measure associated with N. Equation (1) is the starting point for curve construction in the following sense: If the above valuation formula holds, then the value of a linear function of future cash-flows is the linear function of the values of the single cash flows. In other words: we can represent the valuation of so-called linear products by a basis consisting of the values of elementary products. This basis of elementary products is the set of curves, where “the curve” is formed by the parameter T.

Note that here and in the following, we consider the valuation for a fixed \(t_{0}\). We are not concerned with the description of a dynamic model (describing \(t \mapsto V(t)\) as a stochastic process).

Definition 1

Let I denote an index, that is, I(T) is an \(\mathscr {F}_{T}\)-measurable random variable and \(d>0\) is some payment offset, then we define the (time \(t_{0}\)-)valuation curve with respect to T as the map

$$\begin{aligned} T \mapsto C(T) \ := \ N(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N}} \left( \frac{I(T)}{N(T+d)} \ \vert \ \mathscr {F}_{t_{0}} \right) \text {.} \end{aligned}$$
(2)

For \(I \equiv 1\) and \(d = 0\) the curve in (2) represents the curve of (synthetical) zero-coupon bond prices \(T \mapsto P(T;t_{0})\), also known as discount curve.Footnote 3 For arbitrary indices I (with fixed payment offset d Footnote 4), the curve \(T \mapsto C(T) / P(T;t_{0})\) is known as the forward curve. Obviously both curves depend on N and \(t_{0}\).

Note that the specific stochastic behavior of I and N does not play a role when looking at \(t_{0}\) only in the sense that we are only interested in the time \(t_{0}\)-expectation. That is, we could define \(t \mapsto N(t)\) and \(t \mapsto I(t)\) to be \(\mathscr {F}_{t_{0}}\)-measurable for all times t and still generate any given discount curve and forward curve, respectively. There is no arbitrage constraint with respect to t yet, since for different t the index I(t) represents different assets (underlyings).

Thus, with respect to the processes 1 / N and I / N we just require that they fulfill regularity assumptions such that (2) exists.Footnote 5

On the other hand, the interpretation of the curve as a curve of valuations in the sense of (2) does play a role, when we consider the construction of the curve via interpolation of observed market prices. Here, the linearity of the expectation operator \(\mathrm {E}\) allows to link market prices to different points of the curve.

Curves, like discount curves and forward curves solve, among others, two important problems:

  • Valuation of linear instruments. This is performed by decomposing instruments into the value of single cash flows (zero coupon bonds and FRAs), which then allows to synthesize the valuation of linear functions of the individual cash flows (e.g., swaps).

  • Valuation of a time T cash-flow as interpolation of valuations of cash flows at discrete times \(\{ T_{i} \}_{i=0}^{n}\) (where \(T_{i} \ge t_{0}\) for all i), e.g., swaps referencing cash flows on illiquid maturities.

Thus, curves are simply a methodology to interpolate on the cash flows with respect to their payment time.Footnote 6 Apart from this, the curves also represent the initial data for advanced term structure models (like the LIBOR market model). Hence, careful construction of curves is also key to (interest rate) derivatives valuation, when interpolated curves are the initial values of a dynamic model.

For details on the evolution of multi-curve construction see the recent book by Henrard, [18] (citing a preprint of the present paper). A very detailed description of multi-curve bootstrapping, which also details market conventions and convexity adjustments of the calibration instruments, can be found in [2]. For market conventions also see [17]. Here, we do not consider a possible convexity adjustment due to different market conventions (they should be part of the valuation formulas) and rather focus on the curves and their interpolation schemes. Also, we do not need to consider a bootstrapping, since we set up the calibration as a system of equations passed to a multi-dimensional optimization algorithm.

Usually (and here), the curves are used to interpolate at the fixed time \(t_{0}\) only. If a curve interpolation should also be used for times \(t > t_{0}\) within a dynamic multi-curve model, then this may impose additional constraints on the admissible interpolations schemes. For example, (2) implies that linear interpolation of time-t zero-coupon bond prices for \(t > t_{0}\) implies linear interpolation of the time-t zero-coupon bond prices, which in turn implies a special interpolation of forward rates in a LIBOR market model, see Sect. 19.5 in [10]. In this case the linear interpolation of the discount curve and forward value curve would not introduce an arbitrage violation, given that the interpolation points are the same for all times. In practice term-structure models are often constructed with their own curve interpolations, such that the interpolation used for the initial data differs from the interpolation used for the simulated curves (while the model is still calibrated and arbitrage-free given that the drift is specified accordingly). In the following we focus on the interpolation of the initial data—that is, the time-\(t_{0}\) curves, which is of greater importance for the deltas of interpolated products, where only the linear part matters.

In the above valuation formula (1) it is assumed that V and N are expressed in the same currency. If the two are in different currency, one of them has to be converted by an exchange rate, which we will denote by FX. Let V be in currency \(U_{2}\) and the numéraire N in currency \(U_{1}\), then the valuation formula is given by

$$\begin{aligned} V(t_{0}) \ = \ FX^{\frac{U_{2}}{U_{1}}}(t_{0}) \cdot N(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N}} \left( \frac{V(T)}{FX^{\frac{U_{2}}{U_{1}}}(T) \cdot N(T)} \ \vert \ \mathscr {F}_{t_{0}} \right) \text {,} \end{aligned}$$

where \(FX^{\frac{U_{2}}{U_{1}}}(t)\) denotes the time t exchange rate for one unit of currency \(U_{1}\) into one unit of currency \(U_{2}\). Furthermore, \( FX^{\frac{U_{1}}{U_{2}}} \ = \ \left( FX^{\frac{U_{2}}{U_{1}}} \right) ^{-1}\).

As discussed in [12], the valuation of a collateralized claim can be written as an expectation with respect to a specific numéraire, namely the collateral account \(N = N^{\mathsf {C}}\).Footnote 7 We denote the currency of the collateral numéraire by \([\mathsf {C}]\). Let U denote the currency of the cash flow V(T). Assume that the cash flow V(T) is collateralized by units of \(N^{\mathsf {C}}\). In this case the Eq. (1) holds with the numéraire \(N = N^{\mathsf {C}}\), \(U_{2} = U\), \(U_{1} = [C]\) (given that V(t) is the collateral amount in the account \(N^{\mathsf {C}}\)).

Remark 1

From the above we see that collateralization in a different currency can be interpreted twofold:

  1. 1.

    We may consider a payment converted to collateral currency and valued with respect to the collateral numéraire \(N^{\mathsf {C}}\), or, alternatively,

  2. 2.

    we may consider a payment in the currency U collateralized with respect to the collateral account \(N^{U,\mathsf {C}} := FX^{\frac{U}{[\mathsf {C}]}} \cdot N^{\mathsf {C}}\).

We will adopt the latter interpretation, which will also make the valuation look more consistentFootnote 8

$$\begin{aligned} V(t_{0}) \ = \ N^{U,\mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{U,N^{\mathsf {C}}}} \left( \frac{V(T)}{N^{U,\mathsf {C}}(T)} \ \vert \ \mathscr {F}_{t_{0}} \right) \text {.} \end{aligned}$$
(3)

Note that this interpretation will then give rise to a new discount curve: the discount curve associated with \(N^{U,\mathsf {C}}\), being the discount curve of a foreign currency (U) cash flow collateralized by a C.

Remark 2

For an uncollateralized product the role of the collateral account is taken by the funding account and the corresponding numéraire is the funding account. Since the valuation formulas are identical to the case of a “special” collateral account (agreeing with the funding account), we will consider an uncollateralized product as a product with a different collateralization.

In the following we use the notation U for the currency unit of a cash flow, i.e., we may consider \(U = 1\)€ or \(U = 1 \$\). We will need this notation only when we consider cross-currency basis swaps. The symbols V and N (as well as P defined below) will denote value processes including the corresponding currency unit, e.g., \(V(t_{0}) = 0.25\)€. The symbol V refers to the value of the product under consideration, while N denotes the numéraire, e.g., the OIS accrued collateral account. The symbol X denotes a real number while I denotes a real valued stochastic process, both can be considered as rates, i.e., unit-less indices, e.g., \(X = 2.5\,\%\). For example X will denote the fix rate in a swap, I will denote the floating rate index in a swap, U denotes the currency unit of the two legs, N will be used to define the discount factor and the value of the swap. The value of the swap is then denoted by V.

3 Discount Curves

Consider a fixed constant cash flow X, paid in currency U in time T, collateralized by an account \(\mathsf {C}\). Since X is a constant and the expectation operator is linear, we can express the time-\(t_{0}\) value \(V(t_{0})\) of this cash flow as

$$\begin{aligned} V(t_{0}) \ = \ X \cdot P^{U,\mathsf {C}}(T;t_{0}) \text {,} \end{aligned}$$
(4)

where

$$\begin{aligned} P^{U,\mathsf {C}}(T;t_{0}) \ := \ N^{U, \mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N^{U, \mathsf {C}}}} \left( \frac{1 \cdot U}{N^{U,\mathsf {C}}(T)} \ \vert \ \mathscr {F}_{t_{0}} \right) \end{aligned}$$
(5)

defines the value of a theoretical zero coupon bond. Note that Eq. (4) can be used in two ways. First, for given market prices we may determine \(P^{U,\mathsf {C}}(T;t_{0})\)—that is we calibrate the curve \(T \mapsto P^{U,\mathsf {C}}(T;t_{0})\). Second, for given \(P^{U,\mathsf {C}}(T;t_{0})\) we may value a constant cash flow.

This defines the discount curve:

Definition 2

Let \(P^{U,\mathsf {C}}(T;t_{0})\) denote the time \(t_{0}\) value expressed in currency unit U of a unit cash-flow of 1 unit of the currency U in T, collateralized by a collateral account \(\mathsf {C}\). In this case we call \(T \mapsto P^{U,\mathsf {C}}(T;t_{0})\) given by (5) the discount curve for cash flows in currency U collateralized by the account C.

Remark 3

By assumption (of a frictionless no-arbitrage market, (1)) the value of a fixed constant future cash-flow X is a linear function of its amount. Hence, we have that the time \(t_{0}\) value of a cash flow X in T and currency U, collateralized with an account C is

$$\begin{aligned} X \cdot P^{U,\mathsf {C}}(T;t_{0}) \text {.} \end{aligned}$$

In other words, the discount curve allows us to valuate all fixed (deterministic) cash flows in a given currency, collateralized by a given account.

The discount factor \(P^{U,\mathsf {C}}(T;t_{0})\) represents the price of an (idealized) zero-coupon bond. Although a zero-coupon bond is usually not a market-traded asset, we may represent market-traded coupon bonds as a linear combination of zero-coupon bonds, and vice versa. If \(\mathsf {C}\) denotes some cash-collateral account, there is no such thing as a collateralized bond, but in that case \(P^{U,\mathsf {C}}(T;t_{0})\) has the natural interpretation of representing the time-t value of a collateralized unit currency time-T cash flow. In any case, \(P^{U,\mathsf {C}}(T;t_{0})\) can be considered a linear function of traded asset (within its collateralization scheme).

4 Forward Curves

The same approach can now be applied to a payoff of a cash flow \(X \cdot I(T_{1})\), paid in currency U in time \(T_{2}\) (\(T_{1} \le T_{2}\)), collateralized by account \(\mathsf {C}\), where X is a constant and I is an adapted process representing index.Footnote 9 Its value is

$$\begin{aligned} V(t_{0}) \ = \ N^{U,\mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N^{U, \mathsf {C}}}} \left( \frac{X \cdot I(T_{1}) \cdot U}{N^{U, \mathsf {C}}(T_{2})} \ \vert \ \mathscr {F}_{t_{0}} \right) \text {.} \end{aligned}$$

We can express the value as \(V(t_{0}) \ = \ X \cdot F_{I}^{U,\mathsf {C}}(T_{1},T_{2};t_{0}) \cdot P^{U,\mathsf {C}}(T_{2};t_{0})\), where

$$\begin{aligned} F_{I}^{U,\mathsf {C}}(T_{1},T_{2};t_{0}) \ = \ N^{U,\mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N^{U,\mathsf {C}}}} \left( \frac{I(T_{1}) \cdot U}{N^{U,\mathsf {C}}(T_{2})} \ \vert \ \mathscr {F}_{t_{0}} \right) \big / P^{U,\mathsf {C}}(T_{2};t_{0}) \text {.} \end{aligned}$$
(6)

This definition allows us to derive \(F_{I}^{U,\mathsf {C}}(T_{1},T_{2};t_{0})\) from given market prices. Conversely, given \(P^{U,\mathsf {C}}(T_{2};t_{0})\) and \(F_{I}^{U,\mathsf {C}}(T_{1},T_{2};t_{0})\) we may value all linear payoff functions of \(I(T_{1})\) paid in \(T_{2}\).

In (6) the forward depends on the fixing time \(T_{1}\) and the payment time \(T_{2}\). However, the offset of the payment time from the fixing time \(d = T_{2} - T_{1}\) can be viewed as a property of the index (a constant) and hence, the forward represents a curve \(T \mapsto F_{I}^{U,\mathsf {C}}(T,T+d;t_{0})\).

Definition 3

Let \(t \mapsto I(t)\) denote an index, that is I is an adapted stochastic real valued process. Let

$$\begin{aligned} V_{I}^{U,\mathsf {C}}(T,T+d;t_{0}) := N^{U,\mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N^{U,\mathsf {C}}}} \left( \frac{I(T) \cdot U}{N^{U,\mathsf {C}}(T+d)} \ \vert \ \mathscr {F}_{t_{0}} \right) \end{aligned}$$

denote the time \(t_{0}\)-value of a payment of I(T) paid in \(T+d\) in currency U, collateralized by an account \(\mathsf {C}\) (where \(d \ge 0\)). We assume that I and N is such that the expectation exists for all T. Then we define the forward of a payment of I(T) paid in \(T+d\) in currency U, collateralized by an account C as

$$\begin{aligned} F_{I}^{U,\mathsf {C}}(T;t_{0}) \ := \ \frac{V_{I}^{U,\mathsf {C}}(T,T+d;t_{0})}{P^{U,\mathsf {C}}(T+d;t_{0})} \text {.} \end{aligned}$$

Remark 4

The forward curve allows us to value a future payment of the index I by

$$\begin{aligned} V_{I}^{U,\mathsf {C}}(T,T+d;t_{0}) \ = \ F_{I}^{U,\mathsf {C}}(T;t_{0}) \cdot P^{U,\mathsf {C}}(T+d;t_{0}) \end{aligned}$$

and by assumption (of a frictionless no-arbitrage market, (1)), the forward curve allows us to evaluate all linear cash flows \(X \cdot I\) (in currency U, collateralized by an account \(\mathsf {C}\)) by \(X \cdot F_{I}^{U,\mathsf {C}}(T;t_{0}) \cdot P^{U,\mathsf {C}}(T+d;t_{0}) \text {.}\)

Note that \(F_{I}^{U,\mathsf {C}}\) is not a classical single curve forward rate, related to some discount curve. Due to our definition of the forward curve, the curve includes all valuation effects related to the index, in particular a possible convexity adjustment. For example: if we would consider an in-arrears index and an in-advance index we would obtain two different forward curves which differ by the in-arrears convexity adjustment!

4.1 Performance Index of a Discount Curve (or “Self-Discounting”)

The OIS swap pays the performance of an account, accruing with the overnight rate, that is:

Definition 4

(Overnight Index Swap) Let \(N^{\mathsf {C}}(t)\) denote the account accruing at the overnight rate r(t), \(N^{\mathsf {C}}(t_{0}) = 1 U\), i.e. on a given time discretization (accrual periods) \(\{t_{i}\}_{i=0}^{n}\)

$$\begin{aligned} N^{\mathsf {C}}(t_{k}) \ := \ \prod _{i=0}^{k} (1 + r(t_{i}) \varDelta t_{i}) \ \approx \ \exp \left( \int _{t_{0}}^{t_{k}} r(s) \mathrm {d}s \right) . \end{aligned}$$

The overnight index swap pays a fix coupon and receives the performance \(I_{i}^{\mathsf {C}}\) of the accrual account, that is

$$\begin{aligned} I_{i}^{\mathsf {C}}(T_{i},T_{i+1}) \ := \ \frac{N^{\mathsf {C}}(T_{i+1})}{N^{\mathsf {C}}(T_{i})}-1. \end{aligned}$$

in \(T_{i+1}\) with a quarterly tenor \(T_{0}, T_{1}, \ldots \).

The time-\(t_{0}\) linear forward of the index above is \(\frac{P^{U,\mathsf {C}}(T_{i};t_{0}) - P^{U,\mathsf {C}}(T_{i+1};t_{0})}{P^{U,\mathsf {C}}(T_{i+1};t_{0})}\) (and dividing by \(T_{i+1}-T_{i}\) this gives the linear forward rate). Hence, this is the same situation as for single curve interest rate theory swaps.

The OIS swap is collateralized with respect to the account \(N^{\mathsf {C}}\). Due to this, it is sometimes called “self-discounted”. However, we may give an appealing alternative view, defining the forward curve from the discount curve (and not the other way around):

Let us consider a discount factor curve \(P^{U,\mathsf {C}}(T;t)\) as seen in time t. The curve allows the definition of a special index, namely the performance rate of the collateral account \(\mathsf {C}\) in currency U over a period of period length d:

Let \(I^{\mathsf {C}}(T_{i}) \ := \ \frac{1 - P^{U,\mathsf {C}}(T_{i}+d;T_{i})}{P^{U,\mathsf {C}}(T_{i}+d;T_{i})}\), where \(P^{U,\mathsf {C}}(T_{i}+d;T_{i})\) is the discount factor for the maturity \(T_{i}+d\) as seen in time \(T_{i}\). The index \(I^{\mathsf {C}}(T_{i})\) is the payment we have to receive in \(T_{i}+d\) collateralized with respect to the collateral account \(\mathsf {C}\), such that \(1+I^{\mathsf {C}}(T_{i})\) in \(T_{i+1}\) has the same value as 1 in \(T_{i}\). This index has a special property, namely that its forward can be expressed in terms of the discount factor curve \(P^{U,\mathsf {C}}\) too: The time \(t_{0}\) forward of \(I^{\mathsf {C}}(T_{i})\) is \(F^{U,\mathsf {C}}(T_{i};t_{0})\) where

$$\begin{aligned} F^{U,\mathsf {C}}(T_{i};t_{0}) \cdot P^{U,\mathsf {C}}(T_{i}+d;t_{0})&\ = \ N^{U,\mathsf {C}}(t_{0}) \cdot \mathrm {E}^{\mathbb {Q}^{N^{U,\mathsf {C}}}} \left( \frac{I^{\mathsf {C}}(T_{i}) \cdot U}{N^{U,\mathsf {C}}(T_{i}+d)} \ \vert \ \mathscr {F}_{t_{0}} \right) \\&\ = \ P^{U,\mathsf {C}}(T_{i};t_{0}) - P^{U,\mathsf {C}}(T_{i}+d;t_{0}) \text {.} \end{aligned}$$

Consequently this index has the special property that its forward can be expressed by the associated discount factors evaluated at different maturities.

Definition 5

(Forward associated with a Discount Curve) Let \(P^{U,\mathsf {C}}(T_{i}+d;t_{0})\) denote a discount curve. For a given period length d we define the forward \(F^{d,U,\mathsf {C}}(T_{i};t_{0})\) as

$$\begin{aligned} F^{d,U,\mathsf {C}}(T_{i};t_{0}) \ := \ \frac{P^{U,\mathsf {C}}(T_{i};t_{0}) - P^{U,\mathsf {C}}(T_{i}+d;t_{0})}{P^{U,\mathsf {C}}(T_{i}+d;t_{0}) \cdot d} \text {.} \end{aligned}$$
(7)

\(F^{d,U,\mathsf {C}}(T_{i};t_{0})\) is the forward associated with the performance index of \(P^{U,\mathsf {C}}\) over a period of length d.

Remark 5

The above definition relates a forward curve and discount factor curve. Note however, that we define a forward from a discount factor curve and that this definition is backed by a clear interpretation of the underlying index. Conversely, we may define a discount curve from a forward curve “implicitly” such that the relation (7) holds. Note however, that a generalization of this relation should be considered with care, since the associated product may not exist.

The definition above is an idealization in the sense that we assume that interval points over which the performance is measured correspond to the payment dates. In practice (EONIA is an example) there might be some small deviations from this assumption (e.g. payment offsets of a few days). In this case (7) does not hold (but may be still considered an approximation).

Products like the OIS swaps are sometimes called “self-discounting” since the discounting is performed on a curve corresponding to the index they fix. From the above, we find an alternative (and maybe more natural) interpretation, namely that the swap pays the performance index of its collateral account, i.e., it pays the index associated with the discount curve.

5 Interpolation of Curves

In this section we consider a discount curve \(P^{U,\mathsf {C}}\) and an associated forward curve \(F^{U,\mathsf {C}}\). To simplify notation we set \(D(T) := P^{U,\mathsf {C}}(T;t_{0})\) and \(F(T) := F^{U,\mathsf {C}}(T;t_{0})\).

Forwards and discount factors are linked together by Definition 3, which says that the time-\(t_{0}\) value of a forward contract \(V(t_{0},T)\) with fixing in T is the product of the forward F(T) and the associated discount factor \(D(T+d)\), i.e., \(V(t_{0},T) \ = \ F(T) \cdot D(T+d)\). Note that \(T \mapsto V(t_{0},T)\) and \(T \mapsto D(T)\) are value curves, i.e., for a fixed T the quantities \(V(t_{0},T)\) and D(T) are values of financial products. However, F(T) is a derived quantity, the forward.

Since V and D represent values of financial products, there is a natural interpretation for a linear interpolation of different values \(V(T_{i})\) and of different values of \(D(T_{i})\), since this would correspond to a portfolio of such products. Note that defining an interpolation method for V and D implies a (possible more complex) interpolation method of F.

On the other hand, it is common practice to define an interpolation method for a rate curve (both forward curve and discount factor curve) via zero rates, sometimes even regardless of the nature of the curve, which then implies the interpolation of the value curves D and V. Some of these interpolations will result in natural interpolations on the value process V, others not. Other examples for interpolations of F and D are:

  • log-linear interpolation of the forward, log-linear interpolation of the discount factor: the case is equivalent to log-linear interpolation of the value.

  • linear interpolation of the forward, log-linear interpolation of the discount factor: the case is equivalent with a linear interpolation of the value, with an interpolation weight being a function of the discount factor ratio.

In [16] interpolations on the discount factors, on the logarithm of discount factors, on the yield and directly on the forwards were discussed. Highlighting some disadvantages of cubic splines, they introduced two new interpolation methods (monotone convex spline and minimal cubic spline) which overcome most of the shortfalls of the other interpolations. In [19] some issues of these methods were pointed out, favoring a harmonic spline interpolation. In [1] a modified Bessel spline on the logarithm of the discount factors was proposed.

Based on the formal setup presented in the present paper, the stability of cumulated error of a dynamic hedge was considered as a criterion for the interpolation methods and compared for a large collection of methods in [13].

At this point, we would like to stress the importance of the interpolation entity, that is, whether we interpolate on a forward or on a synthetic discount factor (in the sense of Definition 5). While the interpolation method (e.g., linear compared to spline) is often in the focus (discussing locality versus smoothness, [16]), the choice of the interpolation entity has a strong impact on the delta hedge, see Table 1.

Depending on the application, it is popular to represent a curve by a parametric curve. This is done especially for discount curves. Examples are the Nelson–Siegel (NS) and the Nelson–Siegel–Svensson (NSS) parametrization. Our benchmark implementation in [11] allows to use NS or NSS in the calibration.Footnote 10

5.1 Implementing the Interpolation of a Curve: Interpolation Method and Interpolation Entities

In this paper we focus on interpolation schemes based on given interpolation points. Implementing the interpolation of a curve that way, it is convenient to distinguish the interpolation method, e.g., linear interpolation of interpolation points \(\{ ( T_{i},x_{i} ) \}\), and the interpolation entity, that is, a (bijective) transformation from (Tx) to the actual curve. For example, for discount curves one might consider a linear interpolation of the zero rate. In this case the interpolation method is linear interpolation and the interpolation entity is \((T , x(T)) \ = \ (T, \frac{\log (D(T))}{T})\) for \(T > 0\), where D denotes the discount curve. Given \(0 < T_{i} \le T \le T_{i+1}\) and discount factors \(D(T_{j})\), a linear interpolation of the zero rates would then imply the interpolation

$$\begin{aligned} D(T) \ := \ \exp \left( \left( \frac{T-T_{i}}{T_{i+1}-T_{i}} \frac{\log (D(T_{i+1}))}{T_{i+1}} + \frac{T_{i+1}-T}{T_{i+1}-T_{i}} \frac{\log (D(T_{i}))}{T_{i}} \right) \cdot T \right) \text {.} \end{aligned}$$

In our benchmark implementation [11], this functionality is provided for a large number of interpolation methods (constant, linear, Akima, spline, etc.) and interpolation entities (value, log-value, log-value-per-time) by the class net.finmath. marketdata.model.curves.Curve.Footnote 11 For forward curves we provide two additional interpolation entities: forward and synthetic discount factor (see below).

5.2 Interpolation Time

For both, parametric curves (like NSS) and non-parametric interpolation schemes, it is important to specify the convention used to transform product maturities (dates) to real numbers (time T). For example, we might use a daycount convention (like ACT/365) and measure T as a daycount fraction between evaluation date and maturity date, that is \(T := \mathrm {dcf}(\text {evaluation date}, \text {maturity date})\). Clearly, a change in the time parametrization will change the interpretation of the curve parameters (for a parametric curve). Also, some daycount convention actually introduces non-linear time transformations.

5.3 Interpolation of Forward Curves

5.3.1 The Classical Approach

For forward curves, a common approach is to consider an interpolation of the forward as an independent entity (like for the discount curve). For interest rate forwards, a popular interpolation scheme (coming from the single curve interpretation of interest rates forwards) is to represent the forward in terms of synthetic discount factors. That is, if d denotes a period length associated with the forward and if \(F(T_{i})\) is given for \(T_{i} = i \cdot d\), then one might consider interpolation of (pseudo-)discount factor \(D^{F}(T_{i}) \ := \ \prod _{k=0}^{i-1} ( 1 + F(T_{k}) \cdot d)^{-1}\), possibly considering another transformation on \(D^{F}(T)\) to define the actual interpolation entity. See [3] for a corresponding multi-curves bootstrap algorithm.

It is obvious that this definition of the interpolation entity for forward curve is complex, results in problems for non-equidistant interpolation points and is—without further assumptions—not backed by a meaningful interpretation. First, in a multi-curve setup this approach lacks an economic justification. Second, it may introduce problems:

  • The common approach of a linear interpolation of the logarithm of the synthetic discount factor representing the forward curve results in an almost piecewise constant interpolation of the forward, see [13]. This may result into “jumps” when products are aging.

  • The use of synthetic discount factors defines a forward with fixing time T in terms of (interpolated) discount factors at times T and \(T+d\) (where d is the period length). The method is a common practice (also considered in [1]). However, considering forwards for overlapping periods, this may introduce oscillations and result in implausible delta-hedges (see Table 1).

5.3.2 Alternative Interpolation Schemes for Forward Curves

The definition of the forward curve in the multi-curve setup suggests an appealing alternative for the creation of an interpolated forward: Like a discount factor curve, the curve \(V(T) \ = \ F(T) \cdot D(T+d)\) represents the value of a financial product. Hence, we may consider the interpolation of V like we did for the curve D. For example, if we consider linear interpolation of the value curve V, we interpolate the forward curve F by considering the interpolation entity \(F(T) \cdot D(T+d)\) with a given discount curve D, i.e., we have

$$\begin{aligned} F(T) \ := \ \frac{1}{D(T+d)} \left( \frac{T-T_{i}}{T_{i+1}-T_{i}} F(T_{i+1}) D(T_{i+1}+d) + \frac{T_{i+1}-T}{T_{i+1}-T_{i}} F(T_{i}) D(T_{i}+d) \right) \end{aligned}$$

for \(T_{i} \le T \le T_{i+1}\) and given points \(F(T_{j})\).

Given that log-linear interpolation is a popular interpolation scheme for discount curves one may consider log-linear interpolation of V. This interpolation scheme has the restriction that the forward is required to be positive. Since negative interest rates are possible, this interpolation scheme is not appropriate for interest rate curves.

5.4 Assessment of the Interpolation Method

The assessment of the quality of performance of an interpolation method is difficult. Some basic criteria (like continuity, locality, etc.) have been reviewed in [16]. Locality, i.e., how does a local change in input data affect the curve, is a desired property from a hedging perspective. In [13] a long-term dynamic hedging is used to asses the performance of an interpolation scheme. The results in [13] suggest that among the local methods, linear interpolation of the forward curve and log-linear interpolation of the discount curve were the best performing schemes when using the cumulated dynamic hedge error as a primary criterion.

6 Implementation of the Calibration of Curves

A curve (discount curve or forward curve) is used to encode values of market instruments. A forward curve together with its associated discount curve, allows to value all linear products (linear payoffs) in the corresponding currency under the corresponding collateralization.

The standard way to calibrate a curve is, hence, to obtain given market values of (linear) instruments (e.g., swaps). For each market value a single “point” in a single curve is calibrated. Hence the total number of calibrated curve interpolation points (aggregated across all curves) equals the number of market instruments.

By “sorting” and combining the calibration instruments, the corresponding equations can be brought into the form of a system of equations with a triangular structure, i.e., the value of the nth calibration instrument only depends on the first n curve points. This allows for an iterative construction of the curve.

However, here (and in the associated reference implementation [11]) we propose the calibration of the curves using a multi-variate optimization algorithm, like the Levenberg–Marquardt algorithm or a Differential Evolution algorithm. This approach brings several advantages, e.g., the freedom to specify the calibration instruments and the ability to extend the approach to over-determined systems of equations. In addition, we can handle the case of curve-interdependence, for example to calibrate certain discount curves from cross-currency swaps. This comes at the cost of slower performance in terms of required calculation time.

What remains is to specify the valuation equations for the calibration instruments. To simplify implementation, we may generalize the definition of a “swap” comprising plain swaps, tenor basis swaps and cross-currency swaps.

6.1 Generalized Definition of a Swap

Many of the following calibration instruments (from OIS swaps to cross-currency basis-swaps) fit under a generalized definition of a swap. The swap consists of two legs. Each leg consists of several periods \([T_{i},T_{i+1}]\). To ease notation, we do not distinguish between period start time, period end time, fixing time of the index and payment time. We assume that for the period \([T_{i},T_{i+1}]\) index fixing is in \(T_{i}\) and payment is in \(T_{i+1}\). This is done purely to ease notation, the generalization to distinguished times is straightforward.

Definition 6

(Swap Leg) A swap leg pays a multiple \(\alpha \) of the index I fixed in \(T_{i}\) plus some fixed payment X, both in currency unit U collateralized by the collateral account \(\mathsf {C}\) and paid in time \(T_{i+1}\). Here \(\alpha \) and X are constants (possibly zero). The value of the swap leg can be expressed in terms of forwards and discount factors as

$$\begin{aligned} V_{SwapLeg}^{U,\mathsf {C}}(\alpha I,X,\{T_{i}\}_{i=0}^{n}) \ = \ \sum _{i=0}^{n-1} \left( \alpha F^{U,\mathsf {C}}(T_{i}) + X \right) \cdot P^{U,\mathsf {C}}(T_{i+1}) \text {,} \end{aligned}$$

where \(F^{U,\mathsf {C}}\) denotes the forward curve of the index I paid in currency U collateralized with respect to \(\mathsf {C}\) and \(P^{U,\mathsf {C}}\) denotes the corresponding discount curve.

A swap leg with notional exchange has the payments as in Definition 6 together with an additional payment of \(-1\) in \(T_{i}\) and \(+1\) in \(T_{i+1}\). The value of the swap leg with notional exchange can be expressed in terms of forwards and discount factors as

$$\begin{aligned} V_{SwapLeg}^{U,\mathsf {C}}(\alpha I,X,\{T_{i}\}_{i=0}^{n})&= \sum _{i=0}^{n-1} \left( \left( \alpha F^{U,\mathsf {C}}(T_{i}) + X \right) \cdot P^{U,\mathsf {C}}(T_{i+1}) \right. \\&\qquad \quad \left. + P^{U,\mathsf {C}}(T_{i+1}) - P^{U,\mathsf {C}}(T_{i}) \right) \text {,} \end{aligned}$$

where \(F^{U,\mathsf {C}}\) denotes the forward curve of the index I paid in currency U collateralized with respect to \(\mathsf {C}\) and \(P^{U,\mathsf {C}}\) denotes the corresponding discount curve.

Definition 7

(Swap) A swap exchanges the payments of two swap legs, the receiver leg and the payer leg. We allow that the legs have different indices, different fixed payments, different payment times, different currency units, but are collateralized with respect to the same account \(\mathsf {C}\). The swaps receive a swap leg with value \(V_{SwapLeg}^{U_{1},\mathsf {C}}(\alpha _{1} I_{1},X_{1},\{ T^{1}_{i} \}_{i=0}^{n_{1}})\) and pay a leg with value \(V_{SwapLeg}^{U_{2},\mathsf {C}}(\alpha _{2} I_{2},X_{2},\{ T^{2}_{i} \})\). Since the currency unit of the two legs may be different, the value of the swap in currency \(U_{1}\) is

$$\begin{aligned} V_{Swap} = V_{SwapLeg}^{U_{1},\mathsf {C}}(\alpha _{1} I_{1},X_{1},\{ T^{1}_{i} \}_{i=0}^{n_{1}}) - V_{SwapLeg}^{U_{2},\mathsf {C}}(\alpha _{2} I_{2},X_{2},\{ T^{2}_{i} \}_{i=0}^{n_{2}}) \cdot FX^{\frac{U_{1}}{U_{2}}} \end{aligned}$$

Many instruments can be represented (and hence valued) in this form. We will now list a few of them.

6.2 Calibration of Discount Curve to Swap Paying the Collateral Rate (aka. Self-Discounted Swaps)

Discount curves can be calibrated to swaps paying the performance index of their collateral account. For example, a swap as in Definition 7 where both legs pay in the same currency \(U = U_{1} = U_{2}\). In a receiver swap the receiver leg pays a fixed rate C, and the payer leg pays an index I. Thus the value of the swap can be expressed in terms of the discount factors \(P^{U,\mathsf {C}}(T_{i+1};t)\) only, which allows to calibrate this curve using these swaps. Overnight index swaps are an example.

For the swap paying the performance of the collateral account we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ 0 \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i};t_{0}) \ = \ 0 \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i};t_{0}) \ = \displaystyle \frac{P^{U,\mathsf {C}}(T^{2}_{i};t_{0}) - P^{U,\mathsf {C}}(T^{2}_{i+1};t_{0})}{P^{U,\mathsf {C}}(T^{2}_{i+1};t_{0}) (T^{2}_{i+1}-T^{2}_{i})} \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {calibrated} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {calibrated} \text {.} \end{array} \end{aligned}$$

In a situation where the number of interpolation points matches the number of swaps (e.g., a bootstrapping), we calibrate the time T discount factor \(P^{U,\mathsf {C}}(T;t_{0})\) with \(T = \max (T^{1}_{n} , T^{2}_{n})\) being the last payment time from a given swap.

6.3 Calibration of Forward Curves

Given a calibrated discount curve \(P^{U,\mathsf {C}}\) we consider a swap with payments in currency U collateralized with respect to the account \(\mathsf {C}\), paying some index I and receiving some fixed cash flow C. An example is swaps paying the 3M LIBOR rate. For such a swap we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ 0 \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ 0 \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ F^{U,\mathsf {C}}(T^{2}_{i}) \ = \ \text {calibrated} \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {given} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {given} \text {.} \end{array} \end{aligned}$$

From one such swap we calibrate the time T forward \(F^{U,\mathsf {C}}(T)\) of I(T) with \(T = T^{2}_{n-1}\) (the last fixing time).

Given a calibrated discount curve \(P^{U,\mathsf {C}}\) and a calibrate forward curve \(F_{1}^{U,\mathsf {C}}\) belonging to the index \(I_{1}\), both in currency U and collateralized with respect to the account \(\mathsf {C}\), we consider a swap collateralized with respect to the account \(\mathsf {C}\), paying some index \(I_{2} = I\) in currency U, receiving the index \(I_{1}\) in currency U. An example is tenor basis swaps paying the 6M LIBOR rate, receiving the 3M LIBOR rate. For such a swap we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C_{1} \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ C_{2} \ = \ \text {const.} \ = \ \text {given} \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ F_{1}^{U,\mathsf {C}}(T^{1}_{i}) \ = \ \text {given} \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ F_{2}^{U,\mathsf {C}}(T^{2}_{i}) \ = \ \text {calibrated} \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {given} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ P^{U,\mathsf {C}} \ = \ \text {given} \text {.} \end{array} \end{aligned}$$

From one such swap we calibrate the time T forward \(F_{2}^{U,\mathsf {C}}(T)\) of I(T) with \(T = T^{2}_{n-1}\) (the last fixing time of index \(I_{2}\)).

6.4 Calibration of Discount Curves When Payment and Collateral Currency Differ

6.4.1 Fixed Payment in Other Currency

Given a calibrated discount curve \(P^{U_{1},\mathsf {C}}\) we consider a swap collateralized with respect to the account \(\mathsf {C}\), paying some index \(I_{1}\) in currency \(U_{1}\), and receiving some fixed cash flow \(C_{2}\) in currency \(U_{2}\). An example for such a swap is a cross-currency swap paying floating index I in collateral currency and receiving fixed \(C_{2}\) in a different currency.Footnote 12 For such a swap we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C_{1} \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ C_{2} \ = \ \text {const.} \ = \ \text {given} \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ \text {given} \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ 0 \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ P^{U_{1},\mathsf {C}} \ = \ \text {given} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ P^{U_{2},\mathsf {C}} \ = \ \text {calibrated} \text {.} \end{array} \end{aligned}$$

We calibrate the discount factor \(P^{U_{2},\mathsf {C}}(T;t_{0})\) with \(T = T^{2}_{n}\) (last payment time in currency \(U_{2}\)).

6.4.2 Float Payment in Other Currency

If instead of a fixed payment we have that an index \(I_{2}\) is paid in an other currency \(U_{2}\) we may encounter the problem that the swap has two unknowns, namely the discount curve \(P^{U_{2},\mathsf {C}}\) for payments in currency \(U_{2}\) collateralized with respect to \(\mathsf {C}\) and the forward curve \(F_{2}^{U_{2},\mathsf {C}}\) of the index \(I_{2}\) paid in currency \(U_{2}\) collateralized with respect to \(\mathsf {C}\). The two curves can be obtained jointly from two different swaps: first a fix-versus-float swaps in currency \(U_{2}\) collateralized by \(\mathsf {C}\), and second, a cross-currency swap exchanging the index \(I_{2}\) with an index \(I_{1}\) in currency \(U_{1}\) for which the forward \(F_{1}^{U_{1},\mathsf {C}}\) is known. For the first instrument we denote the fixed payment by \(C_{1}\), \(C_{2}\). For the second instrument we denote the fixed payment by \(s_{1}\), \(s_{2}\) (usually a spread). For the first instrument we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C_{1} \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ C_{2} \ = \ \text {const.} \ = \ \text {given} \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ 0 \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ \text {calibrated} \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ P_{2}^{U_{2},\mathsf {C}} \ = \ \text {calibrated} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ \text {calibrated} \text {.} \end{array} \end{aligned}$$

For the second swap we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ s_{1} \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ s_{2} \ = \ \text {const.} \ = \ \text {given} \text {,} \\ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ F_{1}^{U_{1},\mathsf {C}}(T^{1}_{i}) \ = \ \text {given} \text {,} &{} F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ F_{2}^{U_{2},\mathsf {C}}(T^{2}_{i}) \ = \ \text {calibrated} \text {,} \\ P_{1}^{U_{1},\mathsf {C}} \ = \ \text {given} \text {,} &{} P_{2}^{U_{2},\mathsf {C}} \ = \ \text {calibrated} \text {.} \end{array} \end{aligned}$$

We calibrate the discount factor \(P^{U_{2},\mathsf {C}}(T;t_{0})\) with \(T = T^{2}_{n}\) and the forward \(F_{2}^{U_{2},\mathsf {C}}\)(T) with \(T = T^{2}_{n-1}\).

Often market data are not available to calibrate the forward \(F_{2}^{U_{2},\mathsf {C}}\), but the forward \(F_{2}^{U_{2},\mathsf {C}_{2}}\) collateralized with respect to a different account \(\mathsf {C}_{2}\) is available. The two forwards differ by a possible convexity adjustment. One possible approximation (which would follow from the assumption that forwards are independent of their collateralization) is to use \(F_{2}^{U_{2},\mathsf {C}} \approx F_{2}^{U_{2},\mathsf {C}_{2}}\).

The joint calibration of the two curves can be decomposed into two independent calibration steps, which would then allow to re-use a traditional bootstrap algorithm, see, e.g., [4].

Calibration of Discount Curves as Spread Curves

We consider a swap leg with notional exchange and tenor \(\{T_{i}\}_{i=0}^{n}\), paying an index I plus some constant \(X = s(T_{n}) = const\). Here \(s(T_{n})\) has the interpretation of a maturity-dependent spread. If this leg is in currency U and with respect to a collateral account (here funding account) \(\mathsf {D}\), then its value is

$$\begin{aligned} V_{SwapLeg}^{U,\mathsf {D}}(\alpha I,X,\{T_{i}\}_{i=0}^{n})&= \sum _{i=0}^{n-1} \left( \left( \alpha F^{U,\mathsf {D}}(T_{i}) + X \right) \cdot P^{U,\mathsf {D}}(T_{i+1}) \right. \\&\qquad \quad \left. + P^{U,\mathsf {D}}(T_{i+1}) - P^{U,\mathsf {D}}(T_{i}) \right) \text {.} \end{aligned}$$

An example of such an instrument is an (uncollateralized) floating rate bond, paying a 3M rate plus some spread. If we assume that the forward \(F^{U,\mathsf {D}}(T_{i})\) is known, this instrument can be used to calibrate the discount curve \(P^{U,\mathsf {D}}\). In fact \(I+X\) represents the performance of the funding account associated with \(P^{U,\mathsf {D}}\).

If the forward \(F^{U,\mathsf {D}}(T_{i})\) is not known, we encounter the same problem as for cross-currency swaps, namely that the forward curve \(F^{U,\mathsf {D}}(T_{i})\) and the discount curve \(P^{U,\mathsf {D}}\) need to be calibrated jointly to two instruments. The first one is a swap which is collateralized with respect to the funding account \(\mathsf {D}\), i.e., it is an uncollateralized swap. The second is the funding floater.

For the first instrument, the uncollateralized swap, we have

$$\begin{aligned} \begin{array}{ll} X_{1} \ = \ C_{1} \ = \ \text {const.} \ = \ \text {given} \text {,} &{} X_{2} \ = \ C_{2} \ = \ \text {const.} \ = \ \text {given} \text {,} \\ F_{1}^{U,\mathsf {D}}(T^{1}_{i}) \ = \ 0 \ = \ \text {given} \text {,} &{} F_{2}^{U,\mathsf {D}}(T^{2}_{i}) \ = \ F^{U,\mathsf {D}}(T^{2}_{i}) \ = \ \text {calibrated} \text {,} \\ P_{1}^{U,\mathsf {D}} \ = \ P^{U,\mathsf {D}} \ = \ \text {calibrated} \text {,} &{} P_{2}^{U,\mathsf {D}} \ = \ P^{U,\mathsf {D}} \text {.} \end{array} \end{aligned}$$

For the second instrument, the funding floating rate bond (uncollateralized swap leg with notional exchange) we have

$$\begin{aligned}&X_{1} \ = \ S \ = \ \text {const.} \ = \ \text {given} \text {,} \\&F_{1}^{U,\mathsf {D}}(T^{1}_{i}) \ = \ F^{U,\mathsf {D}}(T^{1}_{i}) \ = \ \text {calibrated} \text {,} \\&P_{1}^{U,\mathsf {D}} \ = \ P^{U,\mathsf {D}} \ = \ \text {calibrated} \text {.} \end{aligned}$$

Remark 6

The calibration of the funding curve \(P^{U,\mathsf {D}}\) is analog to the calibration of the cross-currency discount curve \(P^{U_{2},\mathsf {C}}\).

In the above, we consider the funding floater as a floating rate bond. Note however, that bonds (in contrast to swaps) do not permit negative coupons, hence they have an implicit floor. There are ways to solve this problem: either one has to incorporate an option premium in the calibration procedure (which does require a model for the volatility) or one considers only market data of fixed bonds together with uncollateralized swaps (which likely requires some assumption since usually this calibration instrument is not observed). See the following section.

6.5 Lack of Calibration Instruments (for Difference in Collateralization)

The calibration of cross-currency curves (forward curve and discount curves for currency \(U_{2}\) with collateralization in currency \(U_{1}\), see Sect. 6.4) and the calibration of un-collateralized curves (forward curves and discount curves for uncollateralized products, see section “Calibration of Discount Curves as Spread Curves”) may require market data which are not available, e.g., the forward of an index I paid in currency \(U_{2}\) collateralized in a different currency or by a different account. This issue has been pointed out by [14].

In this case the curve can be obtained by adding additional assumptions. Two simple examples are:

  • the market rates are assumed to be independent of the type of collateralization, or

  • the forward rates are assumed to be independent of the type of collateralization.

The two assumptions lead to different results, since they imply different correlations which will lead to different (convexity) adjustments. For details on the example see [11], where a sample calculation with assuming identical market rates for 3M swaps collateralized in USD-OIS or EUR-OIS results in a difference of around 1 or 2 basis points (0.01 %) for the forward curves.

6.6 Implementation

The definition of the various calibration instruments indicated that an iterative bootstrapping algorithm (there the curve is built in a step-by-step process solving only one dimensional problems in one variable) is no longer straightforward. This is due to the interdependence of discount and forward curves. While this problem may be solved in some cases via a pre-processing (see [4]), we suggest a different route: we propose to solve the calibration problem via a single optimization run on the full multi-dimensional problem. This also allows to calibrate curve in the sense of a best fit in cases where we use more calibration instruments than curve points, resulting in an overdetermined system.

We provide an object-oriented implementation at [11] implementing the Java classes for Curves, DiscountCurves, ForwardCurves, Solver, SwapLeg and Swap.

A detailed discussion of the implementation can be found in the associated JavaDocs and is left out here to shorten the presentation.

7 Redefining Forward Rate Market Models

Having discussed the setup of curves, we would like to conclude with a remark on how the curves are integrated into term-structure models, specifically, how the multi-curve setup harmonizes with a classical single curve standard LIBOR market model, which can then be extended to a fully multi-curve model.

If \(N^{\mathsf {C}}\) denotes an accrual account, i.e., \(N^{\mathsf {C}}\) is a process with \(N^{\mathsf {C}}(t_{0}) = 1 U\) (e.g., a collateral account), then \(N^{\mathsf {C}}\) defines a discount curve, namely the discount curve \(T \mapsto P^{U,\mathsf {C}}(T;t_{0}) =: P^{\mathsf {C}}(T;t_{0})\) of fixed payments made in T, valued in t and collateralized by units of \(N^{\mathsf {C}}\).

Now let \(\{ T_{i} \}\) denote a given tenor discretization. As shown in Sect. 4.1 the period-\([T_{i},T_{i+1}]\) performance index \(I^{\mathsf {C}}(T_{i},T_{i+1})\) of the an accrual account, i.e., \(I^{\mathsf {C}}(T_{i},T_{i+1};T_{i}) \ := \ \frac{N^{\mathsf {C}}(T_{i+1})}{N^{\mathsf {C}}(T_{i})}-1\) has the property that its time t forward (of a payment of \(I^{\mathsf {C}}(T_{i},T_{i+1})\) made in \(T_{i+1}\), collateralized in units of \(N^{\mathsf {C}}\)) (following the definition of a forward from Definition 3) is given as \(F^{U,\mathsf {C}}(T_{i},T_{i+1};t) \ := \ \frac{P^{\mathsf {C}}(T_{i};t) - P^{\mathsf {C}}(T_{i+1};t)}{P^{\mathsf {C}}(T_{i+1};t_{0})}\).

This relation allows us to create a term-structure model for the curve \(P^{\mathsf {C}}\) which has the same structural properties as a standard single curve (LIBOR) market model. This model is given by a joint modeling of the processes \(L_{i}(t) := \frac{F^{U,\mathsf {C}}(T_{i},T_{i+1};t)}{T_{i+1}-T_{i}}\), e.g., as log-normal processes under the measure \(\mathbb {Q}^{N^{\mathsf {C}}}\) and the additional assumption that the process \(P^{\mathsf {C}}(T_{i};t)\) is deterministic on its short period \(t \in (T_{i-1},T_{i}]\).

From these two assumptions it follows that the processes \(L_{i}\) have the structure of a standard LIBOR market model and \(\mathbb {Q}^{N^{\mathsf {C}}}\) corresponds to the spot measure. Indeed we have \(\prod _{j=0}^{i-1} 1 + L_{j}(T_{j}) \cdot (T_{j+1}-T_{j}) \ = \ N^{\mathsf {C}}(T_{i})\).

What we have described is how to use the standard LIBOR market model as a term structure model for the collateral account \(N^{\mathsf {C}}\) (e.g., the OIS curve). Now, modeling all other rates (including LIBOR) can be performed by modeling (possibly stochastic) spreads over this curve. This is analog to a defaultable market model.

An alternative is to start with a stochastic model for the forward rates, where now the forward curve defines the initial value of the model SDEs, and then define the discount curve (numéraire) via deterministic or stochastic spreads. This approach has a practical advantage, since for LIBOR rates implied volatilities are more liquid than for OIS rates. See, e.g., [20] and references therein. An implementation of the standard LMM with a deterministic adjustment for the discount curve is provided by the author at [9].

8 Some Numerical Results

8.1 Impact of the Interpolation Entity of a Forward Curve on the Delta Hedge

Using our reference implementation [11], we investigate the interpolation of forward curves using different interpolation methods and interpolation entities. While interpolation of (synthetic) discount factors is—motivated from its single curve origin—a very popular interpolation method, it may result in very implausible deltas, if the curve is constructed from overlapping instruments. Table 1 shows the delta of an 8x11 FRA calculated on a curve constructed from 0x3, 1x4, 2x5, 3x6, 4x7, 5x8, 6x9, 7x10, 9x12 FRA (note that the 8x11 is missing in the curve construction). The plausible hedge would be to use the adjacent 7x10 and 9x12 FRAs. Using the interpolation entity DISCOUNTFACTOR we find non-zero deltas for instruments prior to the 7x10 FRA, summing up to zero. This effect stems from the error propagation inherent in the definition of the interpolation entity. The interpolation entity FORWARD does not show this effect.

Table 1 The delta of an 7Mx10M FRA with respect to different calibration instruments, where the 7Mx10M FRA is not part of the calibration instruments, hence interpolates

8.2 Impact of the Lack of Calibration Instruments for the Case of a Foreign Swap Collateralized in Domestic Currency

Based on the curve framework and the calibration instruments defined in this paper and implemented at [11] we have investigated the impact of the assumptions, which had to be made due to the lack of calibration instruments for foreign currency swaps. Since a foreign currency swap collateralized in domestic currency is (currently) not a liquid instrument, the foreign forward with respect to domestic collateralization cannot be calibrated. Hence, a model assumption is required. Two possible assumptions are: (1) the forward rate is independent from its collateralization—that is, use the foreign forward curve derived from instruments collateralized in foreign currency, or, (2) the market (swap) rates are independent from its collateralization—that is, use the foreign market (par-)swap rates form foreign currency swaps collateralized in foreign currency together with a domestic currency discount curve to calibrate a foreign currency forward rate curve with respect to domestic collateralization. Both approaches result in different forward curves. The impact can be assessed using the spreadsheet available at [11]. For 2012 market data the difference for an USD forward curve collateralized in EUR can be found to be around two basis points. While the first assumption (re-using the forward curve) is likely the more natural one, and maybe a market standard, the calculation shows that the assumption has a considerable impact on the resulting curve, see Fig. 1.

Fig. 1
figure 1

Forward curve (USD-3M) calibrated from swaps with different collateralization (USD-OIS and EUR-OIS) assuming independence of the market rates of from the type of collateralization

8.3 Impact of the Interpolation Scheme on the Hedge Efficiency

Also based on the framework presented here, the impact of the different interpolation schemes has been investigated in [13], where indication was found that among the local interpolation schemes, it is indeed better to use a different interpolation scheme for forward curves than for discount curves. For details we refer to [13].

9 Conclusion

We have presented the re-definition of discount curves and forward curves, which clearly distinguishes the two as different objects (with some relation for the special case of OIS curves). This re-definition results in curves, representing values with well-defined economic interpretations. We then discussed some interpolation schemes for these curves, where our re-definition suggests to apply different interpolation schemes for discount and forward curves. This stands in contrast to the classical approach where a forward curve had been represented via synthetic discount factors, using the same interpolation schemes for both types of curves.

We have presented the calibration, defining the calibration instruments. Based on this, we provide an open source, object-oriented implementation at [11].Footnote 13

Based on this benchmark implementation it was possible to assess the impact of assumptions, which had to be made due to the lack of calibration instruments, e.g., for the case of cross-currency swaps, and the impact of the different interpolation schemes. Indication was found that it is better to use a different interpolation scheme for forward curves than for discount curves. With respect to delta hedges one should favor forward interpolation over synthetic discount factor interpolation. Among forward interpolation, linear interpolation performed well with respect to the hedge performance.