DIVISION OF APPLIED MATHEMATICS SCHOOL OF EDUCATION, CULTURE AND COMMUNICATION MÄLARDALEN UNIVERSITY BOX 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 2 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. 3 Contents Introduction---------------------------------------------------------------------------------------------------4 Interest rates Caps and Floors-------------------------------------------------------------------------------5 Conclusion-----------------------------------------------------------------------------------------------------9 Appendix------------------------------------------------------------------------------------------------------10 References----------------------------------------------------------------------------------------------------12 4 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. 5 Interest Rate Caps and Floor An interest rate cap is 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: πΆπ‘ππ = ππΏπππ₯{π(π‘π , π‘π − πΏ )– πΎ, 0} With no other payments, where N = face value, π‘π = respective payment dates ( i = 1,2.3,….,n: where n = number of caplets ) πΏ = π‘π+1 − π‘π K = cap rate 6 The payoff diagram is as seen in figure 1 bellow. Floating interest rate No cap gain Cap rate Reference rate 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: An Interest rate floor is 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: πΉπ‘ππ−πΏ = ππΏπππ₯{πΎ − π(π‘π , π‘π − πΏ ), 0} 7 The payoff diagram of an interest rate Floor is 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 ππΏ π π(0, π‘π+1 )[πΉπ π(π1 ) − π π π(π2 )] and ππΏ π π(0, π‘π+1 )[π π π(π2 ) − πΉπ π(π1 )] Where π1 = ln(πΉπ /π π )+(ππ2 π‘π )/2 ππ √π‘π 8 And π2 = π1 − ππ √π‘π πΉπ = is the forward interest rate at time 0 for the period between time π‘π and π‘π+1 . ππ = volatility of the forward interest rate. Furthermore, since an interest rate Cap and Floor are a series of European call options and European 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]. 9 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. 10 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 11 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)+(1pr)*value(p+1,n+1))/(1+interestrate(p,n)*t); n=n-1; end p=p-1; end display(value); 12 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.