# 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/3603 = actual/3654 = 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

collapse 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`.