Finance - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Finance : Cash Flow Analysis : Finance/CleanPrice

Finance

  

CleanPrice

  

calculate the clean price of a bond

 

Calling Sequence

Parameters

Options

Description

Examples

Compatibility

Calling Sequence

CleanPrice(bond, yield, compounding, opts)

Parameters

bond

-

fixed or floating rate bond data structure; bond

yield

-

non-negative constant; desired yield

compounding

-

Simple, Continuous, Compounded, or SimpleThenCompounded; the underlying compounding type

opts

-

equations of the form option = value where option is evaluationdate; specify options for the CleanPrice command

Options

• 

evaluationdate = a string containing a date specification in a format recognized by ParseDate or a Date data structure -- This option specifies the evaluation date. By default this is set to the global evaluation date (see EvaluationDate).

Description

• 

The CleanPrice command computes the clean price of a bond, given its yield. Clean price does not include any accrued interest that has accumulated since the last coupon payment.

• 

The parameter bond is either a fixed coupon bond or floating rate bond. The parameter yield is the desired yield.

Examples

with(Finance):

SetEvaluationDate("November 25, 2006"):

EvaluationDate();

November 25, 2006

(1)

Settings([daycounter = Historical, settlementdays = 0, businessdayconvention = Unadjusted, compounding = Continuous]);

daycounter=Historical,settlementdays=0,businessdayconvention=Unadjusted,compounding=Continuous

(2)

Consider a zero-coupon bond with a face value of 100 maturing in one year.

bond1 := ZeroCouponBond(100, 5, Years):

price1 := CleanPrice(bond1, 0.05, Compounded);

price178.35261665

(3)

100*DiscountFactor(0.05, 5, compounding = Annual);

78.35261665

(4)

100*(1/1.05)^5;

78.35261665

(5)

yield1 := YieldFromCleanPrice(bond1, price1);

yield10.04879016417

(6)

EquivalentRate(yield1, Continuous, Annual);

0.05000000000

(7)

yield1 := YieldFromCleanPrice(bond1, price1, Compounded);

yield10.05000000006

(8)

Consider a 3-year bond with a face value of 100 that pays a fixed coupon of 3 percent issued on March 15, 2005.

Settings(daycounter = Thirty360European):

Settings(daycounter);

Thirty360European

(9)

principal2 := 100:

coupon2 := 0.03:

rate2 := 0.05:

bond2 := FixedCouponBond(principal2, 3, Years, coupon2, issuedate = "March 17, 2005"):

Calculate the bond's clean price given its yield and vice-versa.

yield2 := YieldFromCleanPrice(bond2, 100, Compounded);

yield20.02992505925

(10)

cleanprice2 := CleanPrice(bond2, yield2, Compounded);

cleanprice2100.0000000

(11)

YieldFromCleanPrice(bond2, cleanprice2);

0.02948604163

(12)

CleanPrice(bond2, rate2);

97.35137029

(13)

dirtyprice2 := DirtyPrice(bond2, rate2);

dirtyprice299.41803696

(14)

YieldFromDirtyPrice(bond2, dirtyprice2);

0.05000000002

(15)

Consider the same bond but with semi-annual coupons.

bond3 := FixedCouponBond(principal2, 3, Years, coupon2, issuedate = "March 17, 2005", frequency = Semiannual):

Calculate the bond's clean price given its yield and vice-versa.

yield3 := YieldFromCleanPrice(bond3, 100, Compounded);

yield30.02997946101

(16)

cleanprice3 := CleanPrice(bond3, yield3, Compounded);

cleanprice3100.0000000

(17)

YieldFromCleanPrice(bond3, cleanprice3);

0.02975698958

(18)

CleanPrice(bond3, rate2);

97.41008628

(19)

dirtyprice3 := DirtyPrice(bond3, rate2);

dirtyprice397.97675295

(20)

YieldFromDirtyPrice(bond3, dirtyprice3);

0.05000000002

(21)

Note that since the bond has semi-annual coupons, the Compounded yield is based on semi-annual compounding.

dirtyprice3 := DirtyPrice(bond3, rate2, Compounded);

dirtyprice398.05440635

(22)

cashflows3 := CashFlows(bond3);

cashflows31.500000000 on 'March 17, 2007',1.500000000 on 'September 17, 2007',1.500000000 on 'March 17, 2008',100. on 'March 17, 2008'

(23)

add(t[amount]*DiscountFactor(rate2, t[date], compounding = Semiannual), t in cashflows3);

98.05440635

(24)

Compatibility

• 

The Finance[CleanPrice] command was introduced in Maple 15.

• 

For more information on Maple 15 changes, see Updates in Maple 15.

See Also

Finance[AccruedInterest]

Finance[DayCounter]

Finance[DirtyPrice]

Finance[EvaluationDate]

Finance[FixedCouponBond]

Finance[FloatingRateBond]

Finance[FormatDate]

Finance[ParseDate]

Finance[Settings]

Finance[YearFraction]

Finance[YieldFromCleanPrice]

Finance[YieldFromDirtyPrice]

Finance[ZeroCouponBond]