Interest Rate Caps and Floors (Average)

Overview

This document is a supplement to the Interest Rate Caps and Floors FINCAD Math Reference document. In this document, we focus on the special features of average rate caps and floors.  The function is aaRCapAsian().

A standard rate cap (rate floor) consists of a series of caplets (floorlets).  Each caplet has an option expiry date, which is generally the date on which the forward rate is set, and effective and terminating dates which describe the tenor of the underlying forward rate.  For example, consider a 6% caplet, on a notional of $1M, on the March 2002 3-month LIBOR rate.  The rate is effective from 20-March-2002 until 20-June-2002 and this rate is set 2 market days prior on 18-March-2002.  The purchaser of the caplet has effectively set a 5% ceiling on the interest that he will have to pay, on $1M, during this 3-month time period.  Similarly, the purchaser of a floorlet would be guaranteed a floor, of 5%, on the amount of interest he or she would receive during this period.

An average cap (floor), like a standard cap, consists of a string of caplets (floorlets).  The additional feature is that instead of the rate being based on one single reset rate, the caplet rate is the average of two or more reset rates.  For example, consider a 6% caplet, on a notional of $1M, on a 6-month rate based on the average of the March-2002 and the June-2002 3-month LIBOR rates.  For example, if the March rate is set at 5.1% and the June rate at 6%, the caplet rate is equal to 5.6% = (5.2% + 6%)/2.  Note, in the function, this type of average is obtained by setting the switch avg_type = 2.  It is possible to use a weighted average, avg_type = 1, described in more detail later on.

FINCAD Functions

aaRCapAsian(d_v, r_option_type, avg_type, rcap_obj, reset_tbl, acc, df_crv_acc, df_crv_disc, scale_rate, intrp, rcap_output): 

Description of Inputs

Argument

Description

d_v

Settlement / valuation date.  This is the date that the cap and all caplets will be priced at.

r_option_type

1 = rate cap,

2 = rate floor

avg_type

How to average the resets.  The methods are a weighted average, where the weights are determined by the number of days that a reset contributes to the total final rate (avg_type = 1) or a regular arithmetic average of the rates (avg_type = 2).

rcap_obj

A description of the caplets.  It has 5-columns: effective date, terminating date, notional, exercise rate and implied volatility.  The input of volatility allows the cap to be priced with a term structure of volatilities.

reset_table

A table that describes the underlying reset rates.  It has 4-columns: reset date, effective date, terminating date and the current fixing of the reset.  If the rate has not been set, the current fixing is not required and may be set to zero (or even a blank cell).

acc

The accrual of the reset rates and the cap (or floor) rate.  There are 10 possible settings.

df_crv_acc

The accruing curve.  The implied reset rates will be estimated using this curve. 

df_crv_disc

The discounting curve.  This curve is used for discounting.  Often the two discount factor curves will be the same.

scale_rate

This will scale the reset rates.  This allows the possibility, for example, of using the LIBOR curve (df_crv_acc), but scaling the LIBOR reset by 80% (use a rate equal to 0.8 * LIBOR). 

intrp

Interpolation method.  Used for interpolating from both discount factor curves.

 

Examples

Example 1:  Calculating the Average

Consider a caplet or floorlet period that spans from 1-Jan-2001 to 1-Jul-2001.  Suppose the underlying resets are monthly and set on the 15th of each month.  The resets that apply to the period above are:

 

Effective

Terminating

Rate

# days in caplet

15-Dec-2000

15-Jan-2001

5.0%

14

15-Jan-2001

15-Feb-2001

5.2%

31

15-Feb-2001

15-Mar-2001

5.5%

28

15-Mar-2001

15-Apr-2001

5.0%

31

15-Apr-2001

15-May-2001

5.3%

30

15-May-2001

15-Jun-2001

5.4%

31

15-Jun-2001

15-Jul-2001

5.0%

16

The simple arithmetic average (avg_type = 2) is easily shown to be 5.2%.  On the other hand, the weighted average (avg_type = 1), where the weighting is by number of days in the caplet period, is equal to (5% *14 + … + 5% * 16) / 181 = 5.22983%.

 

Example 2:  Comparing an Average Rate Cap versus a Standard Cap

Consider a rate cap from 20-Aug-2000 to 20-Aug-2002 on a series of 6-month caplets on $1M notional.  We will compare the regular case with the averaging case that resets quarterly.  The valuation date is 1-Nov-2000.  We have used, for both accruing and discounting the following discount factor curve (built from swap rates 1Y=5%, 3Y=5.5%, annual, act/365):

Date

Discount Factor

01-Nov-2001

1.000000

01-Nov-2002

0.952381

01-Nov-2003

0.902619

01-Nov-2004

0.851040

01-Nov-2005

0.822595

The Caplet dates for both deals is:

Effective

Terminating

20-Aug-2001

20-Feb-2002

20-Feb-2002

20-Aug-2002

with the cap rate set at 4%.  All volatilities are assumed to be 20%.

For the regular cap, the reset dates are the same as the caplet dates and the rate for the first 6-month period has been set at 5%.  For the average cap, the resets are quarterly and cycle off 20-Aug-2002:

Reset date

Effective

Terminating

Rate (if reset)

20-Aug-2001

20-Aug-2001

20-Nov-2001

5.000%

20-Nov-2001

20-Nov-2001

20-Feb-2002

 

20-Feb-2002

20-Feb-2002

20-May-2002

 

20-May-2002

20-May-2002

20-Aug-2002

 

The result from the regular function, aaRCap_BL(), (Cap_settle = 1, in arrears, all accruals = 1, act/365, and scale_factor = 1) gives a total cap value of $9066.68 (or 0.9067% of notional) and the output is:


 

expiry

effective

term

principal

strike

vol

fair value

delta

gamma

theta

vega

forward rate

intrinsic value

20-Aug-2001

20-Aug-2001

20-Nov-2001

1,000,000

4%

20%

2514.30

0.000

0.000

0.000

0.000

5.000%

2,514.30

20-Nov-2001

20-Nov-2001

20-Feb-2002

1,000,000

4%

20%

2066.42

24.84

0.000

0.271

0.002

4.832%

2,066.42

20-Feb-2002

20-Feb-2002

20-May-2002

1,000,000

4%

20%

2127.97

23.03

0.030

-0.115

4.399

4.889%

2,112.29

20-May-2002

20-May-2002

20-Aug-2002

1,000,000

4%

20%

2357.99

22.67

0.042

-0.250

11.266

4.950%

2,304.50

Running the average rate cap function, aaRCapAsian(), (acc = 1, scale_factor = 1), gives a total cap value of $9124.28 (or .91245% of notional).  The output is:

effective

terminating

principal

strike

vol

fair value

delta

gamma

theta

vega

forward rate

intrinsic value

20-Aug-2001

20-Feb-2002

1,000,000

4%

20%

4550.475

24.840

0.000

0.598

0.000

4.832%

4,550.47

20-Feb-2002

20-Aug-2002

1,000,000

4%

20%

4574.009

46.067

0.060

-0.198

0.116

4.950%

4,533.86

We see that the values are quite close.  There is no way to guarantee that one would be more or less valuable than the other.  It is easy to find examples where the Average case is less valuable.


Valuation Methodology

As discussed in the Rate Cap Document, a standard methodology for valuing rate caps is to use Black’s model, on each caplet, where the underlying is the forward rate.  In Black’s model, the forward rate is assumed to follow an exponential Brownian motion (lognormal).  In the function aaRCapAsian(), we make a similar assumption, and assume the underlying reset rate (e.g. the 3-month LIBOR rate) is lognormal.  Having made this assumption, the valuation of the average rate cap is essentially an Asian Option (see Asian Options FINCAD Math Reference document) on the underlying reset rate, run for each caplet.

Consider a caplet from 1-Jan-2000 to 1-Apr-2000 and suppose the resets are monthly, cycling and resetting on the 15th of the month. 

Reset and Effective

Terminating

Rate

# days in cap period

15-Dec-2000

15-Jan-2001

5.0%

14

15-Jan-2001

15-Feb-2001

5.2%

31

15-Feb-2001

15-Mar-2001

5.5%

28

15-Mar-2001

15-Apr-2001

5.0%

15

Now, we see that the first reset date is 15-Dec-2000, this is the date that the averaging starts (d_avg).  On 15-Match-2001, all 4 relevant resets will have been set and any optionality is essentially over though the payment is not made until 1-April-2001.  Thus the option expiry date is 15-March-2001.  However, for dates after expiry until the 1st of April, the value of the option is priced as the intrinsic value, discounted.  Thus we price the caplet by using the aaAsian() function with the underlying price (price_u) = forward reset rate (the closest reset rate that has not been set), strike price (ex) = cap rate, the average (average)  is the average of the resets to date (or zero if we are prior to any reset date).  We also note that the rates in the call to aaAsian() are set to zero (as one would expect like the Black-model approach).  The results, which are returned as a rate, are then scaled by the notional and the accrual (the accrual of the caplet period) and discounted to the value date.

 

*       Remarks:   Though the input of the reset dates is arbitrary, the function expects the resets to be on a regular periodic basis.  In the cases where they are not input as a periodic basis, the function will choose the frequency that most closely matches those of the resets.  The acceptable frequencies are annual, semi-annual, quarterly, monthly, weekly, daily and market days (see the switch sam_freq in the function aaAsian()).

 

 

Disclaimer

 

With respect to this document, FinancialCAD Corporation (“FINCAD”) makes no warranty either express or implied, including, but not limited to, any implied warranty of merchantability or fitness for a particular purpose. In no event shall FINCAD be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of this document or the information contained in it. This document should not be relied on as a substitute for your own independent research or the advice of your professional financial, accounting or other advisors.

 

This information is subject to change without notice. FINCAD assumes no responsibility for any errors in this document or their consequences and reserves the right to make changes to this document without notice.

 

Copyright

 

Copyright © FinancialCAD Corporation 2008. All rights reserved.