Documentation Center

  • Trial Software
  • Product Updates

fwd2zero

Zero curve given forward curve

Syntax

[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,
Settle, Compounding, Basis)

Arguments

ForwardRates

A number of bonds (NUMBONDS)-by-1 vector of annualized implied forward rates, as decimal fractions. In aggregate, the rates in ForwardRates constitute an implied forward curve for the investment horizon represented by CurveDates. The first element pertains to forward rates from the settlement date to the first curve date.

CurveDates

A NUMBONDS-by-1 vector of maturity dates (as serial date numbers) that correspond to the forward rates.

Settle

A serial date number that is the common settlement date for the forward rates.

Compounding

(Optional) Output compounding. A scalar that sets the compounding frequency per year for annualizing the output zero rates. Allowed values are:

1

Annual compounding

2

Semiannual compounding (default)

3

Compounding three times per year

4

Quarterly compounding

6

Bimonthly compounding

12

Monthly compounding

365

Daily compounding

-1

Continuous compounding

Basis

(Optional) Output day-count basis for annualizing the output zero rates.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ISMA)

  • 9 = actual/360 (ISMA)

  • 10 = actual/365 (ISMA)

  • 11 = 30/360E (ISMA)

  • 12 = actual/365 (ISDA)

  • 13 = BUS/252

For more information, see basis.

Description

[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates, Settle, Compounding, Basis) returns a zero curve given an implied forward rate curve and its maturity dates.

ZeroRates

A NUMBONDS-by-1 vector of decimal fractions. In aggregate, the rates in ZeroRates constitute a zero curve for the investment horizon represented by CurveDates.

CurveDates

A NUMBONDS-by-1 vector of maturity dates (as serial date numbers) that correspond to the zero rates in ZeroRates. This vector is the same as the input vector CurveDates.

Examples

expand all

Compute the Zero Curve Given the Forward Curve

This example shows how to compute the zero curve, given an implied forward rate curve over a set of maturity dates, a settlement date, and a compounding rate.

ForwardRates = [0.0469
                0.0519
                0.0549
                0.0535
                0.0558
                0.0508
                0.0560
                0.0545
                0.0615
                0.0486];

CurveDates = [datenum('06-Nov-2000')
              datenum('11-Dec-2000')
              datenum('15-Jan-2001')
              datenum('05-Feb-2001')
              datenum('04-Mar-2001')
              datenum('02-Apr-2001')
              datenum('30-Apr-2001')
              datenum('25-Jun-2001')
              datenum('04-Sep-2001')
              datenum('12-Nov-2001')];

Settle = datenum('03-Nov-2000');
Compounding = 1;

[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,...
Settle, Compounding)
ZeroRates =

    0.0469
    0.0515
    0.0531
    0.0532
    0.0538
    0.0532
    0.0536
    0.0539
    0.0556
    0.0543


CurveDates =

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

This returns the zero curve, ZeroRates, at the maturity dates, CurveDates.

See Also

Was this topic helpful?