Documentation

cfyield

Compute yield to maturity for cash flow given price

Syntax

Yield = cfyield(CFAmounts, CFDates, Price, Settle)
Yield = cfyield(CFAmounts, CFDates, Price, Settle,
Name,Value)

Description

Yield = cfyield(CFAmounts, CFDates, Price, Settle) computes yield to maturity for a cash flow given price.

Yield = cfyield(CFAmounts, CFDates, Price, Settle,
Name,Value)
computes yield to maturity for a cash flow given price with additional options specified by one or more Name,Value pair arguments.

Input Arguments

CFlowAmounts

NINST-by-MOSTCFS matrix of cash flow amounts. Each row is a list of cash flow values for one instrument. If an instrument has fewer than MOSTCFS cash flows, the end of the row is padded with NaNs.

CFlowDates

NINST-by-MOSTCFS matrix of cash flow dates. Each entry contains the serial date of the corresponding cash flow in CFlowAmounts.

Price

Price.

Settle

Settlement date is a serial date number or date string. Settlement date is the date on which the cash flows are priced.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

    Note:   Any optional input of size N-by-1 is also acceptable as an array of size 1-by-N, or as a single value applicable to all contracts. Single values are internally expanded to an array of size N-by-1.

'Basis'

N-by-1 vector of day-count basis:

  • 0 = actual/actual

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.

Default: 0 (actual/actual)

'CompFreq'

Compounding frequency. By default, SIA bases (0-7) and BUS/252 use a semi-annual compounding convention and ISMA bases (8-12) use an annual compounding convention.

Default: actual

Output Arguments

Yield

Yield for cash flows.

Examples

expand all

Compute the Yield to Maturity for a Cash Flow When Given a Price

Use cfyield to compute yield to maturity for a cash flow when given a price.

Define data for the yield curve and price.

Settle = datenum('01-Jul-2003');
Price = 98;
CFlowAmounts = [30 40 30];
CFlowDates = datenum({'15-Jul-2004', '15-Jul-2005', '15-Jul-2006'})';

Compute the Yield.

 Yield = cfyield(CFlowAmounts, CFlowDates, Price, Settle)
Yield =

    0.0099

Was this topic helpful?