GenCurveBondPriceRV_FShock() function |
GenCurveBondPriceRV_FShock() functionGenCurveBondPriceRV_FShock(argument list
)
This function returns the price of a bond, and allows the curve to be shocked using forward curve shocks in addition to the "normal" shocks. This function is called internally by the HW_Bond_ED_Hedge function, and is exported for testing purposes only (one can determine the forward rate curve shocks for a 1 tick move in the Eurodollar contract, and see the effect that this shock has on the bond price). The function uses the following arguments:
Argument | Description | Restrictions |
Valuation_Date | valuation date (e.g. today) | valid Excel date number |
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 |
Redemption | redemption value of bond per $100 par | typically $100 [always $100 in the HW_Bond_ED_Hedge routine] |
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_Bucket_Start | beginning of bucket for shift of continuously compounded FORWARD RATE curve (in addition to any other of the above shocks) | >= Valuation_Date |
Fwd_Bucket_End | end of bucket for FORWARD RATE curve shift | > Fwd_Bucket_Start |
Fwd_Bucket_Shift | parallel shift of the continuously compounded forward rate curve between Fwd_Bucket_Start and Fwd_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 Deposit_Expiry date 0: applies the shock only from the Futures_Expiry date until the Deposit_Expiry date 1: applies the shock from the Futures_Expiry date onwards |
© 1995-98 Leap of Faith Research Inc.