Component 
Resolution  Bond Pricing 




Function Definition 
oFRNctm2_DM(CleanPrice, Dates, ResetFreq, PaymentFreq, QuotedMarginRS, QuotedMarginCP, NotionalAmount, NotionalFlag, PastResetRates, ZeroCurve, AccrualBasis, BusDayConvention, ResetOffset, HolidaySchedule, InterpMethod, ExCpnDays, ExCpnType, ResetCycle, OutputFlag) Returns the instrument's clean price, dirty price, accrued interest, and the risk statistics. Discount factors are calculated by iterative compounding. 




Bond Types 
Floating rate note instruments, which have different coupon rates and exact coupon periods. Able to value FRN's with accreting/amortizing face values, odd first and last coupons, and an exdividend period. 




Function Parameters 



Parameters 
Description 

Parameter Type 

Restrictions 

. 

CleanPrice 

Clean price of the instrument. 

Double 

CleanPrice >= 0 

Dates 

6 dates entered as an array: 

Array of Dates 





ValuationDate: The valuation date of the instrument. 

Date 

ValDate < SettleDate 



SettlementDate: The date on which the trade will settle. This is typically 13 business days after the trade. 

Date 

SettleDate < MatDate 



EffectiveDate: The first date from which interest begins to accrue. 

Date 

EffDate < MatDate 



FirstCpnDate: Date that the first coupon is paid (if FRN does not have an odd first period, leave blank) 

Date 

F.C.D < EffDate 



PenultCpnDate: Date that the penultimate coupon is paid (if FRN does not have an odd last period, leave blank) 

Date 

P.C.D > EffDate 



MaturityDate: The maturity date of the instrument. 

Date 

As above. 

ResetFreq 

The rate reset frequency of the instrument. Note that if the FRN has a stub first or last period then this parameter is set equal to the Payment Frequency. 

Enumerated Constant 

1  Annual 

PaymentFreq 

The payment frequency of the instrument. 

Enumerated Constant 

1  Annual 

QuotedMarginRS 

The margin, in basis points, that is added to each rate reset. If the margin is constant for every reset, then enter a single margin, overwise an array (1 for each rate reset) of margins is required. 

Double, or an Array of Doubles 

QuotedMarginRS >= 0 

QuotedMarginCP 

The margin, in basis points, that is added to the resulting coupon rate (computed from the collection of rate resets), when the rate reset is more frequent than the payment frequency. If the margin is constant for every reset, then enter a single margin, overwise an array (1 for each rate reset) of margins is required. 

Double, or an Array of Doubles 

QuotedMarginCP >= 0 

NotionalAmount 

Redemption value for the instrument paid at each rate reset date. If the face value is constant at each rate reset date, then enter a single value, otherwise an array (1 for each rate reset) of face values is required. 

Double, or an Array of Doubles 

FaceValue >= 0 

NotionalFlag 

Flags whether the face value amounts are notional only or if they are actually paid. 

Enumerated Constant 

1  Notional Only 

PastResetRates 

The rates observed at the previous rate reset dates. If all the previous rate reset rates are constant, then enter a single rate, otherwise an array of rates is required. 

Double, or an Array of Doubles 



ZeroCurve 

The zero curve of the FRN, which is used to project cash flows. 

Curve or Double 



AccrualBasis 

Array of two Enumerated Constants: Accrual Basis (RS): Convention used to determine projected cash flow amounts, ie is used to adjust the forward rate derived from the supplied zero curve for a projected valuation. Accrual Basis (CP): Used to determine the length (in years) of each coupon period, which is used in turn to calculate the coupon amount for that period. If both conventions are identical then just enter a single Enumerated Constant. 

Enumerated Constant, or an Array of Enumerated Constants 

1  Act/Act (actual) 

BusDayConvention 

Array of two Enumerated Constants: BusinessDayCon (RS): Business day convention for reset dates. Used to determine the start and end date of each rate reset date. BusinessDayCon (CP): Business day convention for coupon payments dates. Used to determine the start and end date of each payment date.


Enumerated Constant, or an Array of Enumerated Constants 

1  No Adjustment 

ResetOffset 

Used to determine the reset date for each floating rate reset. The reset date precedes the effective date for each coupon period by the number of days equal to the reset offset. 

Integer 

ResetOffset >= 0 

HolidaySchedule 

Schedule of nonbusiness days (excluding weekends) 

Date Range 

Leave blank if not applicable 

InterpMethod 
Method used to calculate rates and discount factors from the supplied zero curve. 

Enumerated Constant 

1  Discount Factors 

ExCpnDays 

No. of days in the exdividend period (if ExCpnType = 1, 2, or 3), day of month (if ExCpnType = 4, 5), or No. months (if ExCpnType = 6). 

Integer 

ExDividend Days > 0 

ExCpnType 

Method by which the exdividend date is determined (if applicable). Used in conjunction with ExCpnDays. 

Enumerated Constant 

1  Business Days 

ResetCycle 

Determines if the rate reset cycle is computed backwards from the maturity date or forwards from the effective date. 

Enumerated Constant 

1  Maturity Date 

OutputFlag 

Indicates which result, or set of results, will be displayed in the worksheet. When returning more than one value, the function must be entered as an array function. Entering a 0 will output: Discount Margin, Accrued Interest, Dirty Price, Macaulay Duration, Modified Duration, Convexity, and Price Value of a Basis Point. Entering a 4 will output: Macaulay Duration, Modified Duration, Convexity, and Price Value of a Basis Point. 

Enumerated Constant 

0  All eight outputs 








See Also oFRNctm2_Price( )  Custom2 FRN Price Function oFRNstd_DM( )  Standard FRN Discount Method Function oFRNctm_DM( )  Custom FRN Discount Margin Function 
Copyright 2013 Hedgebook Ltd.