# Fixed Income Modeling Review 8

Feynman-Kac formula, named after Richard Feynman and Mark Kac, establishes a link between parabolic partial differential equations (PDEs) and stochastic processes. Suppose $S(t)$ follows the stochastic process

$dS(t)=\mu(t,\omega)dt+\sigma(t,\omega)dW(t)$

and if $V$ is defined as

$V(t,S(t))=E^Q_t[H(T,S(T))]$

then $V$ satisfies

$\frac{\partial V}{\partial t}+\mu\frac{\partial V}{\partial S}+\frac{1}{2}\sigma^2\frac{\partial^2 V}{\partial S^2}=0$, $V(T,S(T))=H(T,S(T))$.

The theorem can be stated the other way around. Thus, Feynman-Kac formula could be applied to interest rate models, for example, under Hull-White model, zero coupon bond price $P(t,T)$ satisfies

$\frac{\partial P}{\partial t}+(\theta(t)-ar(t))\frac{\partial P}{\partial r}+\frac{1}{2}\sigma^2\frac{\partial^2 P}{\partial r^2}=r(t)P$, $P(T,T)=1$

we can deduce the analytic solution for $P(t,T)$ by using the theorem described above.

Another application of Feynman-Kac formula in finance is discretization: explicit schemes and implicit schemes. For explicit schemes, we use such discretization method:

$\left(\frac{\partial S}{\partial r}\right){i,j}\approx\frac{S{i,j+1}-S_{i,j-1}}{2\Delta r}$,
$\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx\frac{S{i,j+1}-2S_{i,j}+S_{i,j-1}}{(\Delta r)^2}$,
$\left(\frac{\partial S}{\partial t}\right){i,j}\approx\frac{S{i,j}-S_{i-1,j}}{\Delta t}$

substitute these into the PDE then the equation could be written as

$S_{i-1,j}=A_{i,j}S_{i,j+1}+B_{i,j}S_{i,j}+C_{i,j}S_{i,j-1}$

This kind of scheme has equivalence to trinomial tree valuation

$S_{i-1,j}=p_uS_{i,j+1}+p_mS_{i,j}+p_dS_{i,j-1}-r_j\Delta tS_{i,j}$

and setting the size of rate step $\Delta r=\sigma(3\Delta t)^{1/2}$ leads to the most efficient approximation, under which the scheme becomes 4th order w.r.t. to $r$.

While applying explicit finite difference methods, boundary conditions have very little effect. We need to have

$\sigma^2_{i,j}\frac{\Delta t}{(\Delta r)^2}\leq\frac{1}{2}$

hold cause otherwise small numerical errors can grow uncontrollably.

For implicit scheme, we discretize the PDE like this:

$\left(\frac{\partial S}{\partial r}\right){i,j}\approx\frac{S{i-1,j+1}-S_{i-1,j-1}}{2\Delta r}$,
$\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx\frac{S{i-1,j+1}-2S_{i-1,j}+S_{i-1,j-1}}{(\Delta r)^2}$,
$\left(\frac{\partial S}{\partial t}\right){i,j}\approx\frac{S{i,j}-S_{i-1,j}}{\Delta t}$

then Feynman-Kac formula becomes

$A_{i,j}S_{i-1,j+1}+B_{i,j}S_{i-1,j}+C_{i,j}S_{i-1,j-1}=S_{i,j}$

It has a relationship to trinomial trees:

$(1-r_j\Delta t)S_{i,j}\approx p_uS_{i-1,j+1}+p_mS_{i-1,j}+p_dS_{i-1,j-1}$

Since we use time $i-1$ value to calculate $S_{i,j}$, then if we want to do pricing backward, we need to solve a system of linear equations. Also, we need to care about the boundary conditions where we usually set $r_0=0$ and $r_M=r_\infty$ which is large enough. Hence, implicit scheme is slightly more difficult to implement than the explicit one. However, it is always stable and convergent. In practice, one method that is used very often is called Crank-Nicolson method which combines both explicit scheme and implicit scheme:

$\left(\frac{\partial S}{\partial r}\right){i,j}\approx(1-\theta)\frac{S{i,j+1}-S_{i,j-1}}{2\Delta r}+\theta \frac{S_{i-1,j+1}-S_{i-1,j-1}}{2\Delta r}$,
$\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx(1-\theta)\frac{S{i,j+1}-2S_{i,j}+S_{i,j-1}}{(\Delta r)^2}+\theta \frac{S_{i-1,j+1}-2S_{i-1,j}+S_{i-1,j-1}}{(\Delta r)^2}$,
$\left(\frac{\partial S}{\partial t}\right){i,j}\approx(1-\theta)\frac{S{i,j}-S_{i-1,j}}{\Delta t}+\theta \frac{S_{i,j}-S_{i-1,j}}{\Delta t}$

Although Crank-Nicolson method is a little bit harder to implement than both the explicit and implicit scheme, it is as stable as the fully implicit method and is the second-order accurate w.r.t. time step which is better than explicit and implicit schemes.

# Fixed Income Modeling Review 7

In finance, there are two major applications of the Monte Carlo simulation:

-- Generating stochastic paths for interest rates, exchange rates, and stock prices;
-- Numerical valuation of derivative instruments;

consider the risk-neutral pricing equation for security S with payoff $H(T)$

$S(t)=E_t[\exp(-\int^T_tr(s,\omega)ds)H(T,\omega)]$

we can generate a large number of equally probable sample paths then the security value at time $t=0$ can be approximated as

$S(0)=\frac{1}{N}\sum^N_{n=1}\exp(-\int^T_tr(s,\omega_n)ds)H(T,\omega_n)$.

For rate process $dr=\mu(r,t)dt+\sigma(r,t)dW(t)$, path generation is straightforward:

$r(t_{n+1})=r(t_n)+\mu(r(t_n),t_n)\cdot\Delta t+\sigma(r(t_n),t_n)\cdot\sqrt{\Delta t}\cdot \varepsilon_{n+1}$

where $\varepsilon_n$ is standard normal random number. For stochastic driver like this

$r(t)=F(\varphi(t)+u(t))$
$du=\mu(t,u)dt+\sigma(t,u)dW(t)$

we sample $u(t)$ first and set $r_n(t)=F(\varphi(t)+u_n(t))$.

When compared to the lattice valuation method, Monte Carlo approach has two important advantages:

-- Monte Carlo method easily handles path dependent instruments
-- Monte Carlo method is well suited to be used with multi-factor models

however, it also has drawbacks:

-- It is ill-suited for pricing interest rate derivatives with embedded exercise rights
-- It converges to true value very slowly
-- Longer rates along short rate paths cannot be implied from the paths
-- It does not give the same result twice since its value is random
-- Generating sample paths for high dimensional problems has considerable practical difficulties, which is an important feature of interest rate derivatives
-- MC has the opposite problem of recombining lattice: the full future is inaccessible

To implement Monte Carlo method, first we generate uniform random numbers then use methods such as Box-Muller or inverse transform to get normal random numbers. Because of the perfect foresight problem, zero coupon bonds prices cannot be computed without the use of either analytic pricing formulas or interest rate trees. Although MC method will not be used to calibrate the model, MC paths should be calibrated on the top of model calibration to make sure they price zero coupon bonds correctly. Instead of the continuous sampling as described above, we could first discretize the underlying continuous short rate process by means of a short rate lattice and then sample the lattice instead, which is call discrete sampling. The advantage of discrete sampling is that longer yields are readily available at each MC node and we also have a complete view of the stochastic future at each node on a path.

We want to decease the error of MC method as much as possible. One way is to increase the number of paths, the other is variance reduction. There are also two ways to do variance reduction: control variates and improving the sampling quality. The latter's advantage is it does not depend on characteristics of each instrument as the first one does. To improve the sampling quality, there is no other way better than improving the quality of Brownian motion sampled. Since we generate uniform random numbers first, then we can apply an approach called stratified sampling to improve their uniformity by

$u^*_n=\frac{n-1}{N}+\frac{u_n}{N}$

Based on the fact that Brownian motion is perfectly symmetric about zero, we generate Wiener sample paths which are symmetric to each other w.r.t. zero:

$W_{-n}(t)=-W_n(t)$
$V_{MC}=\frac{1}{N}\sum^N_{n=1}\frac{V(W_n)+V(W_{-n})}{2}$

and this is called antithetic sampling. After the sample paths $W_n(t_i)$ are generated, one can make a simple adjustment called moment matching to ensure the correct mean and standard deviation:

$W^*_n(t_i)=\sqrt{t_i}\cdot\frac{W_n(t_i)-M_i}{S_i}$

where $M_i$ and $S_i$ are the actual mean and standard deviation of the paths $W_n$ at time $t_i$.

# Fixed Income Modeling Review 6

To apply the theoretical models, let us first see how to use interest rate trees to price and calibrate. As mentioned in Review 5, markovian property of short rate models is needed to implement recombining lattice.

Usually, a short rate model can be written as

$r(t)=F(u(t)+\varphi(t))$
$du(t)=-au(t)dt+\sigma dW(t).$

Hence, we first discretize the process $u(t)$. Typically, people use binomial tree and trinomial tree but for mean reverting model, binomial tree cannot be used. The time step $\Delta t$ is arbitrary, the state step $\Delta u$ and branch probabilities $p_u$, $p_m$ and $p_d$ should be chosen in such a way that the discrete dynamics has the first few moments matched. Since we could solve

$u(t+\Delta t)=e^{-a\Delta t}u(t)+\sigma\int^{t+\Delta t}_te^{-a\Delta t}dW(s)$

then by moment-matching, we can set

$\Delta u=\sqrt{3V}$, $V=\sigma^2\frac{1-\exp(-2a\Delta t)}{2a}$

and we select the middle branching node at next step to be the closest one to the mean of the continuous process:

$k=\int[je^{-a\Delta t}+\frac{1}{2}$

Branching probabilities are determined as

$p_u=\frac{1}{6}+\frac{1}{2}(\beta^2+\beta)$
$p_m=\frac{2}{3}-\beta^2$
$p_d=\frac{1}{6}+\frac{1}{2}(\beta^2-\beta)$
$beta=je^{-a\Delta t}-k$

Once tree for the stochastic driver $u(t)$ is built, we need to convert it to the short rate tree according to the functions:

normal: $r(i,j)=r_0(i)+u(i,j)$
lognormal: $r(i,j)=r_0(i)\cdot\exp(u(i,j))$

where mean level vector $r_0(i)$ is calibrated to the term structure of zero coupon bond prices.

Since trees represent discretization of the rate dynamics, then within each time step the evolution of short rate is not described by tree and thus needs to be specified. Usually we assume short rate is constant within each period. To price derivatives, we do backwards

$S(t)=E^B_t[\exp(-\int_t^{t+\Delta t}r(s)ds)(S(t+\Delta t)+CF(t+\Delta t))]$

where $CF(t+\Delta t)$ is the cash flow at time $t+\Delta t$. And now the remaining problem is how to calibrate to get mean level vector $r_0(i)$. Denote prices of zero coupon bonds with maturities $t_i=i\Delta t$ by $P(i)$, then apply the following iterative search process forward:

(1) Set $r_0(0)=-\ln(P(1))/\Delta t$
(2) Search for the value of $r_0(1)$ such that lattice price of the zero coupon bond maturing at $t_2$ equals $P(2)$
(3) ...
(4) Assuming $r_0(0),\ldots,r_0(i-1)$ are done, search for the value of $r_0(i)$ to fit $P(i+1)$
(5) ...

We need to keep in mind that we always need to do numerical calibration for $r_0(i)$ even when there are analytic formulas for the no-arbitrage drift because the use of trees alters the continuous dynamics. To be more specific about step (2) and step (4), we introduce Arrow-Debreu Security which pays 1$once the node (i,j) is reached and pays nothing otherwise. Thus in trees we have $AD(i+1,j)=\sum_k AD(i,k)\exp(-r(i,k)\Delta t)P_{i,k\rightarrow i+1,j}$ One very useful property of Arrow-Debreu prices is that $P(0,t_i)=\sum_j AD(i,j)$ Recombining interest rate trees have a serious shortcoming that the rate history is totally lost and thus it is incompatible with any path dependent instrument. To overcome this problem, one can use the tower law and record the cash flows at the lattice nodes not when they are paid but rather when they are certain and express them with appropriate discounting. # Fixed Income Modeling Review 5 This topic is mainly about modeling of short rate $r(t)$ which plays a central role in the theory and practice because zero coupon bonds can be priced as $P(t,T)=E_t[\exp(-\int^T_tr(s)ds)]$ and so could discount factor. Assume there is only one source of uncertainty represented by a Brownian motion $W(t)$ under the risk-neutral measure $Q$. We want the stochastic process to be markovian which is referred to as path independence and hence allows for the use of recombining lattice. We don't want to use non-recombining lattice cause the number of nodes growing exponentially w.r.t. the number of time steps and thus is not practical. There are several important things we need to think about when choosing a model: -- Does the dynamics guarantee positive rates? -- What distribution does the dynamics imply for the short rate? -- Can the model be calibrated to fit today's structure of zero coupon bond prices, how easy, and does the calibration stable? -- Are the zero bond prices computable by means of analytic formulas? -- Are there analytic pricing formulas available for call/put bond option? -- Is the model mean-reverting? -- How do the volatility structures implied by the model look like? -- How suited is the model for building recombining lattices? If the parameters of a model are constant like $dr=a(b-r(t))dt+\sigma dW$ (Vasicek) then it is called equilibrium model. It's simple but could not be calibrated to fit the current term structure of rates. If we make the parameter of the drift term time dependent then we can overcome this problem and make the model no-arbitrage. Based on empirical observation, people find that interest rates (unlike stock prices) tend to be pulled back to some mean level. So we want our model to be mean reverting; we also want to have the analytical formulas for zero coupon bond, call/put bond options, etc., and hence we require the model be affine which means the drift term is linear to short rate and square of the volatility is also linear to short rate. Regarding the volatility, typically we have two kinds of model for volatility: normal and lognormal. It is very hard to say which one is better, normal assumption results in analytic tractability and lognormal assumption leads to positive rates. Also, normal dynamics suit low rate environments and for lognormal, the other way around. Several important models: Ho-Lee: $dr=\theta(t)dt+\sigma dW$ Hull-White: $dr=a(\theta(t)-r)dt+\sigma dW$ CIR model: $dr=a(\theta(t)-r)dt+\sigma\sqrt{r}dW$ BDT model: $d\ln(r)=(\theta(t)+(\sigma'(t)/\sigma(t))\ln(r))dt+\sigma(t)dW(t)$ Among these models, Hull-White has a positive probability to generate negative rates but we can cut that and it does not affect pricing very much. CIR model is the only model with full analytic tractability which also has positive rates. While doing calibration, $\theta(t)$ term in CIR must be solved for numerically. Under lognormal assumption, the total volatility is proportional to the rate level and thus it grows/declines with the rates, which produces rate path distribution skewed upward. Theoretically, we could deduce such equation under lognormal model: $E_0[B(\Delta t)]=\infty$ therefore we can make infinite money in an arbitrary small time from$1 initial investment, however in numerical implementations of a short rate model on a tree this problem does not appear as the number of states is finite.

In order to make our models better, we could add a deterministic shift:

$r(t)=r_0(t)+\varphi(t)$
$dr_0(t)=a(\theta(t)-r_0)dt+\sigma\sqrt{r_0}dW(t)$.

This kind of extension could preserve the tractability but not the positiveness of rates. Shifted CIR model could perfectly fit the market price of zero coupon bond and according to this:

when rates are low: $\sigma(t)(r(t)+\alpha)\approx\sigma(t)\alpha$
when rates are high: $\sigma(t)(r(t)+\alpha)\approx\sigma(t)r(t)$

we know that shifted lognormal models capture the phenomenon that rates follow close-to-normal dynamics in low rate environments and close-to-lognormal one in high rate environments.

# Fixed Income Modeling Review 4

After reviewing Ito lemma and SDE, it is time to have a look at the standard market model which are forward contracts, future contracts, options on bond, interest rate caps, floors, collars and swaptions.

Forward contracts and future contracts are similar but there are also some crucial differences: forward contracts are over the counter and future contracts are traded on exchanges; future contracts are settled daily which reduces the credit risks, and after daily settlement future contracts is worth zero.

Forward price and future price are prices make the contracts worth zero at the beginning or the time after each settlement. Usually they are different but if the interest rates are deterministic, or more generally, the underlying asset price process is independent of the rate process then thery are the same.

$Fwrd(t)=\frac{S(t)}{P(t,T)}=\frac{E^B_t[D(t,T)S(T)]}{E^B_t[D(t,T)]}=E^B_t[S(T)]=Fut(t)$

One more thing is that if the underlying asset price is positively correlated with the interest rates then the futures price will be higher than the forward price and this is why the rate implied from Eurodollar futures price is higher than the corresponding forward rate.

For options on futures we have Black's model which is completely consistent with the Black-Scholes formula for stock options. Black's model is so popular that the implied volatility from the option prices has become the way most popular options are quoted, and it has also become a popular pricing and quoting tool on fixed income markets thought it assumes deterministic interest rates.

There are two basic assumptions for Black's model:
(1) The value V(T) of the option is lognormally distributed with the standard deviation of $\ln(V(T))$ equal to $\sigma(T-t)^{1/2}$.
(2) The expected value of V(T) is F(t) under T-forward measure.

And so the Black's formula becomes

$Call(t)=P(t,T)[F(t)\cdot N(d_1)-K\cdot N(d_2)]$
$Put(t)=P(t,T)[K\cdot N(-d_2)-F(t)\cdot N(-d_1)]$

Bond option is an option to buy or sell a particular bond by a certain date for a particular price. In addition to trading in the OTC market, bond options are often embedded in bonds when they are issued like callable bonds or puttable bonds. By assuming the bond price S(T) at the maturity of the option T is lognormally distributed with standard deviation of $\ln(S(T))$ equal to $\sigma(T-t)^{1/2}$ we can apply the Black's model to compute the price of European call and put options.

Interest rate cap is an OTC floating rate contract which is a series of call options with the underlying being the market rate and the strikes equal to a fixed rate. Each of the call options is called a caplet. For floors and floorlets, they are similar, only with call options changed to put options.

Every caplet can also be seen as a bond option:

$V_i(t_{i-1})=P(t_{i-1},t_i)L\tau(t_{i-1},t_i)\max[R(t_{i-1},t_i)-R_K),0]$
$=\max[L-L(1+\tau(t_{i-1},t_i)R_K)P(t_{i-1},t_i),0]$

Thus under the assumptions of Black's model we have the pricing formulas for caplets and floorlets:

$Caplet_i(t)=L\tau(t_{i-1},t_i)P(t,t_i)[F_t(t)\cdot N(d_1)-R_k\cdot N(d_2)]$ $Floorlet_i(t)=L\tau(t_{i-1},t_i)P(t,t_i)[R_K\cdot N(-d_2)-F_i(t)\cdot N(-d_1)]$

In the formulas above we use different volatilities for each caplet and there is another approach which is to use the same volatility for one maturity. Volatility in the first approach is called spot volatilities and in the latter one it is called flat volatilities. In real market we usually use flat volatility for quoting.

European swaption is another OTC contract. It gives its holder the right to enter into a swap contract at a certain time in the future called exercise time. We could take a fixed-for-float swap to examine the nature of the contract. Since at the start of the contract the value of the floating leg is equal to the notional principle of the swap, the swaption could be seen as an option on a fixed rate bond with the strike being equal to the bond priciple.

$Payoff(T_{Exe})=\max[R_K-R_{swap}(T_{Exe},T_{Stl},T_{Mat}),0]\cdot A(t,T_{Stl},T_{Mat})\cdot L$

We can easily calculate the swap rate by

$R_{Swap}(t,T_{Stl},T_{Mat})=\frac{P(t,T_{Stl})-P(t,T_{Mat})}{A(t,T_{Stl},T_{Mat})}$

then a pricing formula for the swaption is

$ReceiverSwaption(t)=L\cdot A(t,T_{Stl},T_{Mat})[R_K\cdot N(-d_2)-R_{Swap}(t)\cdot N(-d_1)]$

Sometimes we need adjustments to price options on bond and they are convexity adjustment and timing adjustment. If the bond price is given in terms of the yield, then we could not simply assume that the forward price F(t) is equal to expected bond value and this is when convexity adjustments take place. If payment date is delayed until a later time $T^>T$, then in order to compute expectation of a variable at time T with respect to \)$T^$ forward measure, we need timing adjustments.