HW_NPV_Swap_Simple() function  Previous topicNext topicFirst topicLast topic

HW_NPV_Swap_Simple() function

HW_NPV_Swap_Simple(argument list…)

This function returns the mark-to-market (net present value, or NPV) of a level principal swap from the perspective of the fixed-rate payer. If needed, short first stub periods are generated. It assumes that the floating side frequency is equal to the fixed side frequency. The function does not value seasoned swaps, as accruals are forced to start from the greater of the Valuation_Date or Swap_Start_Date (to maintain internal consistency with some European Hull-White swaption routines). The function uses the following arguments:

Argument Description Restrictions
Valuation_Date valuation date (e.g. today) valid Excel date number
Accrual_Start_Date date at which payments accrue internally set to maximum of Valuation_Date and Swap_Start_Date
Swap_Start_Date start date of swap valid Excel date number
Term_in_Months term of the underlying swap in months, as of the Swap_Start_Date > 0 (integer)
Fixed_Swap_Rate fixed side rate on the swap in decimal form (e.g. six percent entered as 0.06) > 0
Fixed_Freq number of swap payments 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
Notional_Principal notional principal underlying the swap positive number for fixed rate payer, negative number for floating rate payer
Zero_Dates array of zero coupon curve dates strictly ascending order
The 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
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

© 1995-98 Leap of Faith Research Inc.