In this lesson, we learned about caplets and floorlets. A caplet is similar to a European call option on the short rate interest rate, r(t). It is usually settled after maturity but can also be settled in advance. The maturity it thought of in time (tau). The strike price is c. The payoff of a caplet with maturity tau and with strike c and settled at time tau is:
The caplet can be thought of as a call option on the short rate prevailing at time (tau) -1, but is settled at time tau.
A floorlet is the caplet except the payoff is:
A cap consists of a sequence of caplets with the same strike.
A floor consists of a sequence of floorlets with the same strike.
Following is the short-rate lattice we have been using for the past few lessons:
u = 1.25 and d = 0.90. We will now price a caplet using this model.
We assume an expiration of t=6 and a strike of 2%.
Remember that the payment is actually made in time tau = 6, but the payment is made on the rate of (tau) - 1 = 5. Therefore we will build our lattice based on t=5 instead of t=6. Also, since we are building our lattice for t=5 instead of t=6, we must discount the payments accordingly.
For example:
On the node N(5,0), the rate is 3.54%. The caplet is worth: (r(5) - c)/(1+r(5)) = (0.0354-0.02)/(1+0.0354) = 0.15. Below is the full lattice:
We can then move backwards in the lattice as we usually do using risk-neutral probabilities equation:
S(t) = 1/(1+r(t)) * E[S(t+1)].
The value of the caplet at time t=0 is 0.042. This is the value of the security that pays off max[0,r(5) - 2%] at time t=6. This is in the notional value of $1, whereas in practice you would actually buy or sell many thousand of these securities.
Friday, May 23, 2014
Fixed Income Derivatives: Bond Futures
In this lesson, we learned how to price futures contracts on bond futures.
This is very similar to pricing bond forwards.
Since the forward price must equal the spot price at the expiration time t=n, we can set up the same equality as for bond futures;
S(n-1)/ B(n-1) = E[S(n)/B(n)] where B(n) is the value of the cash account
With forward contracts as with futures contracts, the "price" paid at time t=0 is equal to 0 and we know what S(n) is, we can change this equation to:
Since both B(n) and F(n-1) are known at t=n-1, we can simplify this to:
And by the law of iterated expectations:
And since F(n) = S(n):
This is different from the forward price G(0):
as it does not depend on the cash account, or short-term interest rate.
We then priced the same bond from the previous lesson, but this time pricing a futures contract instead of a forwards contract:
The reason that the price here is different from the forwards contract is because the futures contract is not discounted by the short-term interest rate, since it does not depend on the interest rate.
The futures contract is worth $103.22 and the forwards contract was worth $103.38. In this case they are not equal but they can be equal in certain circumstances.
This is very similar to pricing bond forwards.
Since the forward price must equal the spot price at the expiration time t=n, we can set up the same equality as for bond futures;
S(n-1)/ B(n-1) = E[S(n)/B(n)] where B(n) is the value of the cash account
With forward contracts as with futures contracts, the "price" paid at time t=0 is equal to 0 and we know what S(n) is, we can change this equation to:
Since both B(n) and F(n-1) are known at t=n-1, we can simplify this to:
And by the law of iterated expectations:
And since F(n) = S(n):
This is different from the forward price G(0):
as it does not depend on the cash account, or short-term interest rate.
We then priced the same bond from the previous lesson, but this time pricing a futures contract instead of a forwards contract:
The reason that the price here is different from the forwards contract is because the futures contract is not discounted by the short-term interest rate, since it does not depend on the interest rate.
The futures contract is worth $103.22 and the forwards contract was worth $103.38. In this case they are not equal but they can be equal in certain circumstances.
Thursday, May 22, 2014
Fixed Income Derivatives: Bond Forwards
In this module, we looked at pricing forwards on coupon-bearing bonds.
Remember that we set the "price" of a forward such that at the time the forward is "purchased," it is equal to the risk-neutral pricing value of the contract. This will be expanded upon later
Once again, here is the short-rate lattice:
We decided to price a forward contract on a coupon-bearing bond.
The bond is delivered at time t=4, but is a 2-year bond with at 10% coupon rate. We assume that the delivery takes place after the coupon has been paid. We use the same method to compute the forward price as we did the option price, simply working backwards from the end. However, since the forward is not completely over the six periods, we must do this in two steps.
Before we continue with the steps we must find the equations we will need. Risk-neutral pricing implies that:
We can then rearrange this to find:
Recall that E(1/B(4)) is simply the time t=0 price of a zcb maturing at time t=4. This is 77.22/100, which we found in previous modules.
The first step is then to find the price of the bond that matures in 2 periods with a 10% coupon, but is purchased at time t=4. We can use a lattice to recreate this bond:
We choose a final price of 110 instead of 100 because there is a 10% coupon.
We use the old equation to find these prices:
We then work backwards using this same equation to finish computing the price of the bond:
So $79.83 is the price that we would pay at time t=0 to receive a 2 year 10% coupon-bearing bond at time t=4. However, this is not the price that we would pay for the forward, G(0). To find the price of the forward, we would use the equation from above:
In this example:
G(0) = 79.83/0.7722 = 103.38. This is the price of a forward contract in which we would receive a 2 year 10% coupon-bearing bond at time t=4
Remember that we set the "price" of a forward such that at the time the forward is "purchased," it is equal to the risk-neutral pricing value of the contract. This will be expanded upon later
Once again, here is the short-rate lattice:
We decided to price a forward contract on a coupon-bearing bond.
The bond is delivered at time t=4, but is a 2-year bond with at 10% coupon rate. We assume that the delivery takes place after the coupon has been paid. We use the same method to compute the forward price as we did the option price, simply working backwards from the end. However, since the forward is not completely over the six periods, we must do this in two steps.
Before we continue with the steps we must find the equations we will need. Risk-neutral pricing implies that:
We can then rearrange this to find:
Recall that E(1/B(4)) is simply the time t=0 price of a zcb maturing at time t=4. This is 77.22/100, which we found in previous modules.
The first step is then to find the price of the bond that matures in 2 periods with a 10% coupon, but is purchased at time t=4. We can use a lattice to recreate this bond:
We choose a final price of 110 instead of 100 because there is a 10% coupon.
We use the old equation to find these prices:
We then work backwards using this same equation to finish computing the price of the bond:
So $79.83 is the price that we would pay at time t=0 to receive a 2 year 10% coupon-bearing bond at time t=4. However, this is not the price that we would pay for the forward, G(0). To find the price of the forward, we would use the equation from above:
In this example:
G(0) = 79.83/0.7722 = 103.38. This is the price of a forward contract in which we would receive a 2 year 10% coupon-bearing bond at time t=4
Fixed Income Derivatives: Options on Bonds
In this lesson, we moved to pricing options on the zero coupon bonds that we explored in the last lesson.
We will need the short rate lattice and the zcb lattice for our examples and these are shown below:
We then priced a European call option on this zero coupon bond.
The maturity of the option is t=2 periods and the strike price is $84.
Therefore, the payoff of the option is: max(0, Z(2,.,4)-84) where the . in the j position indicated whichever state the bond ultimately ends up.
We can simply find the payoff of the bond from the lattice above: if the bond is worth $83.08, the option will be worthless since the strike is $84. If the bond is worth $87.35, the option is worth $3.35, and if the bond is worth $90.64, then the option is worth $6.64. These are the final payoffs of the option and we can input them into our lattice and work backwards using the risk-neutral probabilities to calculate the price of the option, pictured below:
We then priced an American put option on this same zero coupon bond.
The maturity of the option is t=3 periods and the strike price is $88.
We did the exact same thing, except we stopped at each node to see whether it was optimal to exercise the option at that node. We can see from the bond price lattice that $88 is less than each of the values of the bond at t=3, so it would never be optimal to hold the put option until maturity. Therefore the payoff of the put option would be 0 at each ending node. Below is the lattice for the American put option:
We calculated 4.92, 0.65, 8.73, 3.57, and 10.78 by simply finding the true value of the option:
4.92 = max(88-83.08, 1/(1+.0938)* [0.5(0) + 0.5(0)])
0.65 = max(88-87.35, 1/(1+.0675)* [0.5(0) + 0.5(0)])
8.73 = max(88-79.27, 1/(1+.075)* [0.5(4.92) + 0.5(0.65)])
3.57 = max(88-84.43, 1/(1+.054)* [0.5(0) + 0.5(0.65)])
10.78 = max(88-77.22, 1/(1+.06)* [0.5(8.73) + 0.5(3.57)])
We can see that it would be optimal here to exercise early at every single node, which isn't a very realistic scenario but interesting all the same.
We will need the short rate lattice and the zcb lattice for our examples and these are shown below:
We then priced a European call option on this zero coupon bond.
The maturity of the option is t=2 periods and the strike price is $84.
Therefore, the payoff of the option is: max(0, Z(2,.,4)-84) where the . in the j position indicated whichever state the bond ultimately ends up.
We can simply find the payoff of the bond from the lattice above: if the bond is worth $83.08, the option will be worthless since the strike is $84. If the bond is worth $87.35, the option is worth $3.35, and if the bond is worth $90.64, then the option is worth $6.64. These are the final payoffs of the option and we can input them into our lattice and work backwards using the risk-neutral probabilities to calculate the price of the option, pictured below:
We then priced an American put option on this same zero coupon bond.
The maturity of the option is t=3 periods and the strike price is $88.
We did the exact same thing, except we stopped at each node to see whether it was optimal to exercise the option at that node. We can see from the bond price lattice that $88 is less than each of the values of the bond at t=3, so it would never be optimal to hold the put option until maturity. Therefore the payoff of the put option would be 0 at each ending node. Below is the lattice for the American put option:
We calculated 4.92, 0.65, 8.73, 3.57, and 10.78 by simply finding the true value of the option:
4.92 = max(88-83.08, 1/(1+.0938)* [0.5(0) + 0.5(0)])
0.65 = max(88-87.35, 1/(1+.0675)* [0.5(0) + 0.5(0)])
8.73 = max(88-79.27, 1/(1+.075)* [0.5(4.92) + 0.5(0.65)])
3.57 = max(88-84.43, 1/(1+.054)* [0.5(0) + 0.5(0.65)])
10.78 = max(88-77.22, 1/(1+.06)* [0.5(8.73) + 0.5(3.57)])
We can see that it would be optimal here to exercise early at every single node, which isn't a very realistic scenario but interesting all the same.
Wednesday, May 21, 2014
The Cash Account and Pricing Zero-Coupon Bonds
In this lesson, we looked at the cash account and pricing zero coupon bonds in the context of the binomial model for the short rate.
This is our binomial lattice for the short rate:
and remember our up and down moving risk-neutral probabilities, q(u) and q(d) and pricing the non-coupon paying security:
and remember than there is no arbitrage using this formula.
We now move on to the cash-account. The cash-account is a particular security that in each period earns interest at the short-rate. B(t) denotes the value at time t and assume that B(0) = 1.
The cash-account is not risk-free since B(t+s) is not know at time t for any s > 1. It is locally risk free, since B(t+1) is known at time t.
Note: B(t) = (1+ r(0,0)(1+r(1))...(1+r(t-1)), so B(t)/B(t+1) = 1/(1+r(t)).
Risk-neutral pricing for a non-coupon paying security takes the form:
rewriting this equation, we can get the following equation:
This is our risk-neutral pricing condition for a zero coupon bond.
We can do the same risk-neutral pricing for a 'coupon' paying security:
then rewrite this equation to get:
This is our risk-neutral pricing conditions for a coupon paying security. This is simply a special case of the equation above. This guarantees that we can price all securities with no arbitrage conditions.
We then did a simple short-rate lattice example. consider the following lattice, where the short rate, r, which is 6% at time t=0, either grows by a factor of u=1.25 or goes down by a factor of d=0.9 in each period.
We then went on to price a zero coupon bond that matures at time t=4.
Similarly to the original way we priced binomial models, we start at time t=4 and work backwards using the formula 1 period at a time. We use the following formula:
So for node N(3,3) the formula would be:
Z(3,3) = 1/(1+.1172) * [0.5*(100) + 0.5*(100)] = 89.51. We can continue using the formula from period t=4 to period t=0 to find the price of the zcb.
Having calculated the zcb at time t=0, we can find the compound interest rate: 77.22(1+s(4))^4 = 100 leads us to s(4) = 6.68% compounded interest rate for borrowing or lending for four periods.
Therefore we can compute all the coupon bond prices for each time period and by using the same formula as above, we can also compute the compound interest rates for each length of periods. The different rates for the different time periods is known as the term-structure of interest rates. This is known as the relationships between interest rates and different time periods until maturity. There will be different term structures at every single node N(i,j). Therefore, by modeling the short rate, we define a model for the term-structure of the zcb.
There is also an excel spreadsheet for calculating term-structure of interest rates, which can be found here:
https://d396qusza40orc.cloudfront.net/fe1/class_resources/Term_Structure_Lattices.xlsx
This is our binomial lattice for the short rate:
and remember our up and down moving risk-neutral probabilities, q(u) and q(d) and pricing the non-coupon paying security:
and remember than there is no arbitrage using this formula.
We now move on to the cash-account. The cash-account is a particular security that in each period earns interest at the short-rate. B(t) denotes the value at time t and assume that B(0) = 1.
The cash-account is not risk-free since B(t+s) is not know at time t for any s > 1. It is locally risk free, since B(t+1) is known at time t.
Note: B(t) = (1+ r(0,0)(1+r(1))...(1+r(t-1)), so B(t)/B(t+1) = 1/(1+r(t)).
Risk-neutral pricing for a non-coupon paying security takes the form:
rewriting this equation, we can get the following equation:
This is our risk-neutral pricing condition for a zero coupon bond.
We can do the same risk-neutral pricing for a 'coupon' paying security:
then rewrite this equation to get:
This is our risk-neutral pricing conditions for a coupon paying security. This is simply a special case of the equation above. This guarantees that we can price all securities with no arbitrage conditions.
We then did a simple short-rate lattice example. consider the following lattice, where the short rate, r, which is 6% at time t=0, either grows by a factor of u=1.25 or goes down by a factor of d=0.9 in each period.
We then went on to price a zero coupon bond that matures at time t=4.
Similarly to the original way we priced binomial models, we start at time t=4 and work backwards using the formula 1 period at a time. We use the following formula:
So for node N(3,3) the formula would be:
Z(3,3) = 1/(1+.1172) * [0.5*(100) + 0.5*(100)] = 89.51. We can continue using the formula from period t=4 to period t=0 to find the price of the zcb.
Having calculated the zcb at time t=0, we can find the compound interest rate: 77.22(1+s(4))^4 = 100 leads us to s(4) = 6.68% compounded interest rate for borrowing or lending for four periods.
Therefore we can compute all the coupon bond prices for each time period and by using the same formula as above, we can also compute the compound interest rates for each length of periods. The different rates for the different time periods is known as the term-structure of interest rates. This is known as the relationships between interest rates and different time periods until maturity. There will be different term structures at every single node N(i,j). Therefore, by modeling the short rate, we define a model for the term-structure of the zcb.
There is also an excel spreadsheet for calculating term-structure of interest rates, which can be found here:
https://d396qusza40orc.cloudfront.net/fe1/class_resources/Term_Structure_Lattices.xlsx
Introduction to Term Structure Lattice Models
In this lesson, we learned about fixed income derivative pricing in lattice models.
Fixed income markets are enormous, even bigger than equity markets. In Q3, 2012 fixed income markets were worth $35.3 trillion, while equity markets were worth $26 trillion.
In this lesson we will focus on interest rate and bond derivatives using binomial lattice models.
Fixed income models are more complex than security models. The problem is that we need to model the entire term-structure of the interest rates (i.e. how the spot interest rate changes throughout time, not just the price of the bonds that carry the interest rates). The short rate, r(t) is the variable of interest in fixed income models. It is the risk-free interest rate between periods t and t+1. It is a random process before it becomes known at time t.
In modeling, we will specify risk-neutral probabilities for each r(t), not the true probabilities of r(t). This is different from q, (1-q), p, and (1-p) in the binomial model. In lattice models we will, price fixed income derivatives in such a way that guarantees not arbitrage, then match the prices of liquid securities via a calibration procedure.
The following is an example of a binomial model for the short-rate interest rate:
We will take zero coupon bond (zcb) prices to be our basic securities. The notation of r(i,j) refers to the short rate r at time i and at state j. The short rate r(i,j) refers to the short-rate at node N(i,j). We will use the form Z(i,j,k) to refer to a zcb for time i, state j and matures at time k. We would like specify a binomial model by setting up all the Z(i,j,k)'s at each node.
We will also let Z(i,j) to be the date i, state j, price of a non-coupon paying security. This basically means that Z(i,j) is the price of a zcb at particular time i and state j. We will use risk-neutral pricing to price every security such that:
where q(u) and q(d) are the risk-neutral probabilities of an up-move and a down-move, respectively. Since they are probabilities, they are between 0 and 1 and sum to 1. There can be no arbitrage when we price using this formula because it is not possible for Z(i+1, j+1) and Z(i+1,j) to be greater than or equal to zero (see the above formula) AND have Z(i,j) be less than zero. Since this is not possible, there must be no arbitrage.
Next we looked at if the security pays a "coupon", or more loosely, pays an intermediate cash flow between time purchased and maturity. This is similar to a stock paying a dividend.
If the security pays coupon C(i+1,j) at date i+1 and state j, then
There can also not be any arbitrage in this case either.
Similar to what was said earlier, Z(i+1,j+1) + C(i+1, j+1) ≥ 0 and Z(i+1,j) + C(i+1,j) ≥ 0 , so Z(i,j) cannot be less than 0. This shows that there cannot be Type A arbitrage.
There cannot be Type B arbitrage either. Type B arbitrage states that V(0) ≤ 0, but V(1) > 0. If Z(i+1,j+1) + C(i+1, j+1) ≥ 0 and Z(i+1,j) + C(i+1,j) > 0, then Z(i,j) cannot be less than or equal to 0.
Finally, it is common practice to set q(u) = q(d) = 0.5 and we will in fact assume this in future lessons.
Fixed income markets are enormous, even bigger than equity markets. In Q3, 2012 fixed income markets were worth $35.3 trillion, while equity markets were worth $26 trillion.
In this lesson we will focus on interest rate and bond derivatives using binomial lattice models.
Fixed income models are more complex than security models. The problem is that we need to model the entire term-structure of the interest rates (i.e. how the spot interest rate changes throughout time, not just the price of the bonds that carry the interest rates). The short rate, r(t) is the variable of interest in fixed income models. It is the risk-free interest rate between periods t and t+1. It is a random process before it becomes known at time t.
In modeling, we will specify risk-neutral probabilities for each r(t), not the true probabilities of r(t). This is different from q, (1-q), p, and (1-p) in the binomial model. In lattice models we will, price fixed income derivatives in such a way that guarantees not arbitrage, then match the prices of liquid securities via a calibration procedure.
The following is an example of a binomial model for the short-rate interest rate:
We will take zero coupon bond (zcb) prices to be our basic securities. The notation of r(i,j) refers to the short rate r at time i and at state j. The short rate r(i,j) refers to the short-rate at node N(i,j). We will use the form Z(i,j,k) to refer to a zcb for time i, state j and matures at time k. We would like specify a binomial model by setting up all the Z(i,j,k)'s at each node.
We will also let Z(i,j) to be the date i, state j, price of a non-coupon paying security. This basically means that Z(i,j) is the price of a zcb at particular time i and state j. We will use risk-neutral pricing to price every security such that:
where q(u) and q(d) are the risk-neutral probabilities of an up-move and a down-move, respectively. Since they are probabilities, they are between 0 and 1 and sum to 1. There can be no arbitrage when we price using this formula because it is not possible for Z(i+1, j+1) and Z(i+1,j) to be greater than or equal to zero (see the above formula) AND have Z(i,j) be less than zero. Since this is not possible, there must be no arbitrage.
Next we looked at if the security pays a "coupon", or more loosely, pays an intermediate cash flow between time purchased and maturity. This is similar to a stock paying a dividend.
If the security pays coupon C(i+1,j) at date i+1 and state j, then
There can also not be any arbitrage in this case either.
Similar to what was said earlier, Z(i+1,j+1) + C(i+1, j+1) ≥ 0 and Z(i+1,j) + C(i+1,j) ≥ 0 , so Z(i,j) cannot be less than 0. This shows that there cannot be Type A arbitrage.
There cannot be Type B arbitrage either. Type B arbitrage states that V(0) ≤ 0, but V(1) > 0. If Z(i+1,j+1) + C(i+1, j+1) ≥ 0 and Z(i+1,j) + C(i+1,j) > 0, then Z(i,j) cannot be less than or equal to 0.
Finally, it is common practice to set q(u) = q(d) = 0.5 and we will in fact assume this in future lessons.
Friday, May 16, 2014
The Black-Scholes Model
In this lesson, we learned about the Black-Scholes model and how it related to the binomial model that we have been using in previous lessons.
The Black-Scholes model has four main assumptions:
where d(1) and d(2) are as follows:
The Black-Scholes model has four main assumptions:
- A continuously compounding interest rate, r.
- Geometric Brownian motion dynamic for stock prices, so that:
where W(t) is a standard Brownian motion.
3. The stock pays a dividend yield of c.
4. Continuous trading with no transaction costs and short-selling allowed.
Here are some sample paths of Geometric Brownian Motion:
sdf
The Black-Scholes formula for pricing European call options with strike price K and maturity at time T is:
where d(1) and d(2) are as follows:
and N(d) P(N(0,1) ≤ d).
Note that mu (the drift of the Brownian motion) does not appear in the formula, just as p and (1-p) do not appear in the binomial model.
Once we have the call option price C(0), we can calculate the put option price P(0) from the put-call parity:
We can show that under the Black-Scholes model uses a similar replicating strategy to the one we used for the binomial model:
We can convert the Black-Scholes parameters of r and sigma into binomial parameters.
The Black-Scholes parameters:
- r, the continuously compounding interest rate
- sigma, the annualized volatility of the stock
can be converted into binomial model parameters:
and we can redefine the risk-neutral probabilities as:
The Black-Scholes model is actually used in industry to quote option prices and the binomial model is often used as an approximation to the Black-Scholes model.
The binomial model also converges to the Black-Scholes model as the number of time periods goes to infinity. A longer proof was included in the lesson that I have omitted here for brevity.
Subscribe to:
Posts (Atom)