Cap & Floor functions |

**Cap & Floor functions**

The functions in this category compute price, risk management statistics ("Greeks") and implied volatilities for standard caps and floors using the Black-76 model. The functions receive array arguments to define the zero curve (curve dates and zero rates or discount factors). The Zero Curve Methodology section discusses the form of these arrays and relevant restrictions in greater detail. Any stubs are added to the beginning of the structure.

**Cap_fix_strike_Black(argument
list…)**

**Floor_fix_strike_Black(argument
list…)**

The calling functions allow
the user to choose from six different calculations, indexed by an
alphabetic **Output_Type** switch:

P |
option price |

D |
delta (derivative with respect to forward yields) |

G |
gamma (second derivative with respect to forward yields) |

V |
vega (derivative with respect to volatility, 1% change) |

T |
theta (time decay over next day) |

I |
implied yield volatility |

An **Output_Type** may be
entered in either upper or lower case, and the user many
substitute the entire word for the first letter if so desired
(only the first letter is scanned). Delta and gamma are returned
in terms of changes in prices. The price, vega, and theta are in
terms of percentage of the notional of the structure.

The functions use the following arguments:

Argument |
Description |
Restrictions |

Output_Type |
output returned by function | P, D, G, V, T or I (see above) |

Valuation_Date |
valuation date (e.g. today) | valid Excel date number |

Start_Date |
original start date of the cap/floor | valid Excel date
number = Valuation_Date for spot start > Valuation_Date for forward start < Valuation_Date for seasoned |

Term_in_Months |
term of the cap/floor in months relative to Start_Date | > 0 (integer) |

Cap_Rate or
Floor_Rate |
strike rate of the cap/floor in decimal form (e.g. six percent entered as 0.06) | > 0 |

Frequency |
number of caplets/floorlets per year | 1, 2, 4, or 12 |

Year_Basis |
year basis used in determining payments | 360 or 365 |

Holidays |
array of holiday dates | valid Excel date
numbers strictly ascending order |

Date_Convention |
business date convention | 0 = no adjustment 1 = Following business day 2 = Modified following 3 = Previous |

Zero_Dates |
array of zero coupon curve dates | strictly
ascending orderThe first date of this array must be Valuation_Date |

Zero_Rates |
array of continuously compounded riskless rates in decimal form (e.g. six percent entered as 0.06) corresponding to Zero_Dates | > 0 |

Yield_VolorOpt_Val |
yield volatility in decimal form, or market price of the cap/floor (when Output_Type = I) | > 0 |

Last_Reset_Rate |
last reset rate on the cap/floor in decimal form (used only if an existing caplet/floorlet reset has passed) | >= 0 (argument ignored if Start_Date is greater than Valuation_Date) if <= 0, caplets/floorlets before the Valuation_Date are ignored |

**CapFloor_fix_strike_Black(argument
list…)**

This function is identical
to those above, except that there is an extra argument (at the
beginning of the argument list) which permits the user to choose
between three different types of structures using a **CapFloor_Type**
alphabetic switch:

C |
cap |

F |
floor |

S |
straddle (combination of cap + floor) |

© 1995-98 Leap of Faith Research Inc.