Products & Services Industries Academia Support User Community Company

Learn more about Financial Toolbox   

zero2fwd - Forward curve given zero curve

Syntax

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

Arguments

ZeroRates

Number of bonds (NUMBONDS)-by-1 vector of annualized zero rates, as decimal fractions. In aggregate, the rates constitute an implied zero 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

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

Settle

Serial date number that is the common settlement date for the zero rates.

Compounding

(Optional) Scalar that sets the compounding frequency per year used to annualize the input zero rates and the output implied forward 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) Day-count basis used to construct the input zero and output implied forward rate curves.

  • 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

Description

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

ForwardRates

A NUMBONDS-by-1 vector of decimal fractions. In aggregate, the rates in ForwardRates constitute a forward curve over the dates in CurveDates.

CurveDates

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

Examples

Given a zero curve over a set of maturity dates, a settlement date, and a compounding rate, compute the forward rate curve.

ZeroRates = [0.0458
             0.0502
             0.0518
             0.0519
             0.0524
             0.0519
             0.0523
             0.0525
             0.0541
             0.0529];

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;

Execute the function

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

which returns the forward rate curve ForwardRates at the maturity dates CurveDates.

ForwardRates =

    0.0458
    0.0506
    0.0535
    0.0522
    0.0541
    0.0498
    0.0544
    0.0531
    0.0594
    0.0476

CurveDates =

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

For readability, ZeroRates and ForwardRates are shown here only to the basis point. However, MATLAB software computed them at full precision. If you enter ZeroRates as shown, ForwardRates may differ due to rounding.

See Also

fwd2zero and other functions for Term Structure of Interest Rates

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS