HW_Bond_ED_Hedge() function |
HW_Bond_ED_Hedge() functionHW_Bond_ED_Hedge(argument list
)
This function tells one the number of Eurodollar futures (or BAX or BAR) needed to hedge a given bond position. The continuously compounded forward rate curve is shocked by an amount needed to change the Eurodollar futures level by one tick (i.e. $25). Then, this parallel forward curve shock is applied to a segment of the zero curve (depending on the Fwd_Buck_Dir argument), and the bond is priced with and without the shock (in actuality, we take a positive and negative shock of one basis tick, and average the effect on the bond price). Given the change in the bond price, and the position one holds in the bond (position given in terms of face value, not market value), it is straightforward to calculate the number of futures needed to hedge the position. Note that Curve_Type through Bucket_Shift arguments only affect the base curve used to price the bond. The forward curve shocks are in addition to this base curve. The function uses the following arguments:
Argument | Description | Restrictions |
Valuation_Date | valuation date (e.g. today) | valid Excel date number |
Fut_Exp | futures expiry date for the contract that is being shocked | valid Excel date number >= Valuation_Date |
Dep_Expiry | the maturity date for the expiry of the LIBOR deposit which begins at the expiry of the futures. In order to ensure coverage of the entire curve, it is useful to use the expiry of the following Eurodollar contract as the Dep_Expiry. | valid Excel date number > Fut_Exp |
Dep_Days | the number of days in the deposit period, according to the day count basis | > 0 [typically 90 or 91] |
Dep_YB | the year basis for the deposit rate | 360 or 365 |
ED_Quoted_Level | the quoted level for the Eurodollar contract | < 100, >0 [typically something between 92 and 97 given typical interest rates] |
Settlement_Date | bond settlement date | valid Excel date number >= Valuation_Date |
Maturity_Date | bond maturity date | valid Excel date number >= Settlement_Date |
Coupon | annual bond coupon in decimal form (e.g. six percent entered as 0.06). For zero coupon (strip) bonds, enter 0. | >= 0 |
Freq | number of bond coupons per annum | 1, 2, 4, or 12 |
DCB | day count basis | 0 = 30/360 (US) 1 = act/act for US T-Bonds 2 = act/360 3 = act/365 4 = 30/360 (European) 5 = Canadian modified act/365 |
Curve_Type | defines how the Zero_Rates array is to be interpreted | 0 = continuously compounded riskless rates in, decimal form 1 = discount factors (first must be 1.0, and must be declining) |
Interpolation | the interpolation method to employ for the Zero_Rates array | 0 = cubic-spline 1 = linear 2 = log-linear |
Zero_Dates | array of zero coupon curve dates | strictly ascending order The first date of this array must be Valuation_Date |
Zero_Rates | an array of zero rates or discount factors corresponding to Zero_Dates | |
OAS | parallel shift of the zero curve in decimal form | |
Bucket_Start | beginning of bucket for zero curve shifts | set to 0 if curve shift is not desired |
Bucket_End | end of bucket for zero curve shift | >= Bucket_Start |
Bucket_Shift | parallel shift of the zero curve between Bucket_Start and Bucket_End in decimal form | set to 0 if curve shock is not desired |
Fwd_Buck_Dir | the method used to shock the forward rate curve; -1 should be used for the nearest futures contract (in order to capture the effect from stub rate to the first futures date); 0 should be used for "middle" contracts, and 1 should be used for the final contract (in order to capture shocks beyond the final futures contract) | -1: applies the forward rate shock from valuation date until the Dep_Exp date 0: applies the shock only from the Fut_Exp date until the Dep_Exp date 1: applies the shock from the Fut_Exp date onwards |
Bond_Notional | the face value of the bond position, with positive values indicating long positions and negative values indicating short positions; note that one should enter the FACE VALUE of the position, and not the market value |
© 1995-98 Leap of Faith Research Inc.