Products & Services Industries Academia Support User Community Company

Learn more about Financial Toolbox   

pyld2zero - Zero curve given par yield curve

Syntax

[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates, Settle, 
Compounding, Basis, InputCompounding)

Arguments

ParRates

Column vector of annualized implied par yield rates, as decimal fractions. (Par yields = coupon rates.) In aggregate, the yield rates in ParRates constitute an implied par yield curve for the investment horizon represented by CurveDates.

CurveDates

Column vector of maturity dates (as serial date numbers) that correspond to the par rates.

Settle

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

Compounding

(Optional) Scalar value representing the periodicity in which the output zero rates are compounded when annualized. 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

Basis

(Optional) Day-count basis used to annualize the 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

InputCompounding

(Optional) Scalar value representing the periodicity in which the input par rates were compounded when annualized. The default is the value for Compounding.

Description

[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates, Settle, Compounding, Basis, InputCompounding) returns a zero curve given a par yield curve and its maturity dates.

ZeroRates

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

CurveDates

Column vector of maturity dates (as serial date numbers) corresponding to the zero rates. This vector is the same as the input vector CurveDates.

Examples

Given

compute a zero yield curve.

ParRates = [0.0479
            0.0522
            0.0540
            0.0540
            0.0536
            0.0532
            0.0532
            0.0539
            0.0558
            0.0543];

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');
InputCompounding = 1;
Compounding = 12;

[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates,... 
Settle, Compounding, [], InputCompounding)

ZeroRates =

    0.0484
    0.0529
    0.0549
    0.0550
    0.0547
    0.0544
    0.0545
    0.0551
    0.0572
    0.0557

CurveDates =

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

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

See Also

zero2pyld 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