1

Division of Applied MathematicsSchool of Education, Culture and CommunicationMälardalen UniversityBox 883, SE-721 23 Västerås, Sweden /
Calculating interest rate Caps and Floors using a Binomial Tree /
Galabe Sampid Marius, Keskus Eren, & Celestin Kamta, /
12/21/2009 /
Supervised by Jan Röman /

Abstract

In this paper, we give a brief description of the meaning of an interest rate Caps and Floors in the LIBOR market; and then try to create an application in MATLAB to value Caps and Floors at different levels using a binomial tree.

We do not go into details of interest rate Caps and Floors since our task is to create an application to value Caps and Floors using a binomial tree.

Contents

Introduction------4

Interest rates Caps and Floors------5

Conclusion------9

Appendix------10

References------12

Introduction

Interest rate Caps and Floors are financial instruments whose value depend on (or are derived) from the values of other, more basic, underlying variables. Caps and Floors are the most popular liquid interest rate options offered by financial institutions and traded in the OTC market [1]. Under the standard market model, the most common way to pricing Caps and Floors is by the Black-Scholes approach. This will be explained later.

In this paper, we will focus our attention on calculating interest rate Caps and Floors using a binomial tree; but before we do that, we first of all explain what is meant by interest rate Caps and Floors and how their payoff diagrams look like. Finally, we proceed by creating the binomial tree that will value the interest rate Caps and Floors at different levels using MATLAB.

Interest Rate Caps and Floor

Aninterest rate capis a series of European call options (also known as caplets) on a specified interest rate, usually the LIBOR interest rate. The buyer of the cap receives money if on the maturity of any of the caplets, the reference or the underlying rate exceeds the agreed strike price of the cap.

An interest rate cap has a series of applications:

It is intended to protect an investor who has borrowed funds on a floating interest rate basis against the risk of paying very high interest rates.

Banks and institutions use an interest rate cap to limit their risk exposure to upward movements in short term floating rate debt.

“Caps are equally attractive to speculators as considerable profits can be achieved as volatility plays in uncertain interest rate environment” [2].

At time the payoff of the ith caplet is given by:

With no other payments,

where N = face value,

= respective payment dates ( i = 1,2.3,….,n: where n = number of caplets )

=

K = cap rate

The payoff diagram is as seen in figure 1 bellow.

Floating interest rate No cap gain

Fig 1

One big advantage with caps is that the buyer limits his potential loss to the premium paid, but retains the right to benefit from favorable rate movements. On the other hand, the borrower buying a cap limits exposure to rising interest rates while retaining the potential to benefit from falling rates. However, the premium is a non refundable fund which is paid upfront by the buyer. They can also lose all their values if the expire out of the money or when approaching maturity.

An Interest rate Floor:

AnInterest rate flooris a series of European put options (also known as "floorlets") on a specified reference rate, usually LIBOR. The buyer of the floor receives money if on the maturity of any of the floorlets; the reference rate is fixed below the agreed strike price of the floor. It is designed to protect an investor who has lent funds on a floating rate basis against receiving very low interest rate. At time the payoff of is given by:

The payoff diagram of an interest rate Flooris represented in figure 2 bellow.

Floating interest rate

Floor

No floor

Floor rate Reference rate

Fig 2

Because Caps and Floors allow an investor to benefit from changes in interest rates; while at the same time limiting any downside losses, they act as some sort of insurance to the investor.

In the Black-Scholes world, the value of the Cap and Floor are respectively

and

Where =

And

is the forward interest rate at time 0 for the period between time and .

volatility of the forward interest rate.

Furthermore, since an interest rate Cap and Floor are a series of European call options andEuropean put options respectively, there also exist put-call parity relations between the Caps and Floors. That is,

Value of Cap = Value of Floor + Value of Swap

Here, the Cap and Floor have the same strike price. “The Swap is an agreement to receive LIBOR and pay a fixed rate of strike with no exchange of payments on the first reset day. All three instruments have the same life and the same frequency of payments” [1].

Conclusion

As can be seen, we have discussed to a lesser extent interest rate Caps and Floors; explain their various payoffs and their payoff diagrams and how they are calculated in the Black-Scholes world. We also made mention of the put-call parity between Caps and Floors. Finally, we construct the binomial tree that can be used to value Caps as a number of caplets and Floors as a number of floorlets using MATLAM. The MATLAB code can be found in the appendix.

Appendix – MATLAB Code

function value = AnaliticalFinance2Project(k,pr,N,t,T,type,vol,InterestRate)

period=T/t;

nodes=0;

display('volatility:');

display(vol);

step=zeros(1,period);

for x = 1 : period

nodes=nodes+x;

step(1,x)=x;

end

value=zeros(period,period);

interestrate = zeros(period,period);

interestrate(1,1) = InterestRate;

for n=2:period

interestrate(n,1)=interestrate(n-1,1)*(1-vol(n-1));

end

for n=2:period

interestrate(n,n)=interestrate(n-1,n-1)*(vol(n-1)+1);

end

if period >= 3

for m=2:period-1

l=2;

z=m;

for n=z:period-1

interestrate(z+1,l)=interestrate(z,l-1)*(vol(z)+1);

z=z+1;

l=l+1;

end

end

end

display(interestrate);

lastValue=zeros(1,period);

if (type == 0)

for x = 1: period

if k < interestrate(period,period-x+1)

lastValue(x)= N*(interestrate(period,period-x+1)-k)*t;

else

lastValue(x) = 0;

end

end

else

for x = 1: period

if k > interestrate(period,period-x+1)

lastValue(x)= N*(k-interestrate(period,period-x+1))*t;

else

lastValue(x) = 0;

end

end

end

display(lastValue);

n = nodes;

m = period;

for x = 1 : period

value(period,m)= lastValue(m)/(1+(interestrate(period,m)*t));

n=n-1;

m=m-1;

end

p=period-1;

for x = 1:(period-1)

n=p;

for j = 1:p

value(p,n)=(pr*value(p+1,n)+(1-pr)*value(p+1,n+1))/(1+interestrate(p,n)*t);

n=n-1;

end

p=p-1;

end

display(value);

References

[1]:Hull, John C. Options, Futures, and other Derivatives. Seventh Edition, Upper Saddle River,

New Jersey.

[2]: Röman, Jan R. M. Lecture notes in Analytical Finance II. Department of Mathematics and

Physics. Mälardalens University, Sweden. February 25 2009.