Component 
Resolution  Bond Pricing 




Function Definition 
oBond3_Price(Yield, Dates, FaceValue, CouponRate, CouponFreq, CompoundingFreq, BusinessDayCon, YieldMethod, FPYieldMethod, DaysBasis, ExDateConvention, ExDayUnit, CouponType, PPHRounding, AdjEndOfMonth, FinalPeriodStart, HolidaySchedule, OutputFlag) Calculates bond price using the a generic bond pricing solution. Returns the bond's clean price, dirty price, accrued interest, as well as the risk statistics. 




Bond Types 
All bonds. No pricing conventions are assumed. 




Function Parameters 



Parameters 
Description 

Parameter Type 

Restrictions 

. 

Yield 

The redemption yield for the bond 

Double 

Yield >= 0 

Dates 

5 dates entered as an array: 
Array (of Dates) 





SettlementDate: Valuation date of the bond. 


SetDate < MatDate 



DatedDate: Date on which the bond begins to accrue interest. 


DatedDate<MatDate 



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


F.C.D > DatedDate 



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


P.C.D > DatedDate 



MaturityDate: Maturity date of the bond. 


MatDate>DatedDate 

FaceValue 

Redemption value for the bond paid at maturity. 

Double 

FaceValue >= 0 

CouponRate 

Coupon rate of the bond, expressed as a decimal. 

Double 

Coupon Rate >= 0 

CouponFreq 

Frequency of coupons per annum. 

Enumerated Constant


1  Annual 

CompoundingFreq 
Number of compounding periods per annum, relating to quoted yield. 

Enumerated Constant 

1 Annual 

BusinessDayCon 

Business day convention for coupon payments dates. 

Enumerated Constant 

1  No Adjustment 

YieldMethod 

Yield convention for all coupon periods except for the final period. 

Enumerated Constant 

1  Compound Yield 

FPYieldMethod 

Yield convention for the final coupon period. 

Enumerated Constant


1  Compound Yield 

DaysBasis 

Array of two Enumerated Constants Discount Basis: Basis for determining present and future values of cash flows Accrual Basis: Basis for determining accrued interest If both conventions are identical then just enter a single Enumerated Constant 

Enumerated Constant or an array of Enumerated Constants 

1  Act/Act (actual) 

ExDateConvention 

Basis for which the exdividend method is determined (if applicable). Used in conjunction with ExDayUnit. 

Enumerated Constant 

1  No ExDate 

ExDayUnit 

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

Integer 

ExDayUnit >= 0 

CouponType 

Flags whether coupons are 'equal' throughout bond schedule or are 'exact'. Exact coupons vary according to number of days in coupon period. 

Enumerated Constant 

1  Equal Coupons 

PPHRounding 

Array of 3 entries indicating the number of decimal places the following outputs are to be rounded to: Clean Price Alternatively, if all 3 follow the same rounding convention then just enter a single number. 

Long, or an array of Longs 

PPHRounding >= 0 

AdjEndOfMonth 

If coupon falls at end of month, do you wish to adjust all other coupons to fall at end of a month accordingly? 

Enumerated Constant 

0  Not Applicable 

FinalPeriodStart 

Determines whether the final period starts on the exdate of the penultimate coupon (if applicable) or on the actual day of the penultimate coupon. 

Enumerated Constant 

1  ExDate of P.C 

HolidaySchedule 

Schedule of nonbusiness days (excluding weekends) 

Date Range 

Leave blank if not applicable 

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: Yield, Clean Price, Accrued Interest, Dirty Price, Macaulay Duration, Modified Duration, Convexity, and Present Value of a Basis Point. Entering a 4 will output: Macaulay Duration, Modified Duration, Convexity, and Present Value of a Basis Point. 

Enumerated Constant 

0  All eight outputs 








See Also oBond3_Yield( )  Generic Bond Yield Function 3 
Copyright 2013 Hedgebook Ltd.