The following functions support cap and volatility stripping for interest-rate instruments:

`capvolstrip`

strips caplet volatilities from flat cap volatilities.`floorvolstrip`

strips floorlet volatilities from flat floor volatilities.

Support for pricing cross-currency swaps using `swapbyzero`

. Support for fixed-fixed and
float-float swaps is added to `instswap`

, `swapbybdt`

, `swapbyhjm`

, `swapbybdt`

, `swapbybk`

, `swapbyzero`

.

`cbprice`

is removed in
this release. Use `cbondbycrr`

, `cbondbyeqp`

, `cbondbyitt`

,
or `cbondbystt`

instead.

Function Name | What Happens When You Use This Function | Use This Function Instead | Compatibility Considerations |
---|---|---|---|

`cbprice` | Errors | `cbondbycrr` , `cbondbyeqp` , `cbondbyitt` ,
or `cbondbystt` | Replace all instances of `cbprice` with`cbondbycrr` , `cbondbyeqp` , `cbondbyitt` ,
or `cbondbystt` . |

The following functions support building a standard trinomial tree:

`cbondbystt`

supports
pricing a convertible bond using an `STTTree`

.

`ITTree`

now supports pricing convertible bonds
with `cbondbyitt`

.

`STTTree`

supports pricing for equity derivatives.

The following modified functions support the following equity instruments:

Asian options —

`asianbystt`

Lookback options —

`lookbackbystt`

Barrier options —

`barrierbystt`

Vanilla options —

`optstockbystt`

Compound options —

`compoundbystt`

Simple interest support for the following functions.

`rate2disc`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.`disc2rate`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.`ratetimes`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.`IRDataCurve`

— Support added for`Compounding`

=`0`

for simple interest for "zero" and "discount" curve types only (not supported for "forward" curves) where there is no compounding.`getForwardRates`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.`getZeroRates`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.`bootstrap`

— Support added for`Compounding`

=`0`

for simple interest for "zero" and "discount" curve types only (not supported for "forward" curves) where there is no compounding.`intenvset`

— Support added for`Compounding`

=`0`

for simple interest where there is no compounding.

`cbprice`

will
be removed in a future release. Use `cbondbycrr`

, `cbondbyeqp`

, `cbondbyitt`

,
or `cbondbystt`

instead.

Function Name | What Happens When You Use This Function | Use This Function Instead | Compatibility Considerations |
---|---|---|---|

`cbprice` | Warns | `cbondbycrr` , `cbondbyeqp` , `cbondbyitt` ,
or `cbondbystt` | Replace all instances of `cbprice` with`cbondbycrr` , `cbondbyeqp` , `cbondbyitt` ,
or `cbondbystt` . |

`cbondbycrr`

and `cbondbyeqp`

calculate
the price of convertible bonds using the Tsiveriotis and Fernandes
model. `instcbond`

is
the constructor for the `CBond`

instrument type

`creditexposures`

is
enhanced to support computing exposures for counterparties under collateral
agreements.

The example for modeling wrong-way risk for counterparty credit
risk using a Gaussian copula is available as `Example_WrongWayRisk.m`

at `\finist\fininstdemos`

.
For more information, see Wrong Way Risk with Copulas.

Support is provided for pricing forward options using a modified
Black approximation model with `optstockbyblk`

and `optstocksensbyblk`

using
a new name-value pair argument for `ForwardMaturity`

,
which is the maturity date of the forward contract.

Support is provided for name-value pair argument, `Principal`

,
to pass the schedule to compute the price for amortizing caps (`capbybdt`

, `capbybk`

, `capbyhjm`

,
and `capbyhw`

)
and floors (`floorbybdt`

, `floorbybk`

, `floorbyhjm`

,
and `floorbyhw`

).
In addition, `instcap`

and `instfloor`

are
enhanced to support the creation of cap and floor instruments with
amortizing caps and floors.

The example for simulating power price and mean reverting jump
diffusion is available as `SimulateElectricityPricesExample.m`

at `\fininst\fininstdemos`

.
For more information, see Simulating Electricity
Prices with Mean-Reversion and Jump-Diffusion.

`hwcalbycap`

and `hwcalbyfloor`

support
a new syntax.

[Alpha, Sigma, OptimOut] = hwcalbycap(RateSpec, MarketStike, MarketMaturity, MarketVolatility, Name, Value)

[Alpha, Sigma, OptimOut] = hwcalbyfloor(RateSpec, MarketStike, MarketMaturity, MarketVolatility, Name, Value)

`Strike`

, `Settle`

,
and `Maturity`

input arguments are no longer required
input arguments. By omitting these input arguments, you can use the `MarketStike`

, `MarketMaturity`

,
and `MarketVolatility`

input arguments calibrate
the HW model using the entire cap or floor surface.Support is provided for `Delta`

, `Vega`

, `ModifiedDelta`

,
and `ModifiedVega`

sensitivities for the SABR stochastic
model using `optsensbysabr`

.

For the Black model, support is available for an enhanced name-value
pair argument, `Principal`

, to pass the schedule
to compute the price for amortizing caps (`capbyblk`

)
and floors (`floorbyblk`

).
For the Linear Gaussian two-factor model, support is available for
an enhanced name-value pair argument, `Notional`

,
to pass the schedule to compute the price for amortizing caps (`capbylg2f`

)
and floors (`floorbylg2f`

).

The example comparing multiple approaches to pricing Asian options
is available as `AsianOptionExample.m`

at `\fininst\fininstdemos`

.
For more information, see Pricing Asian Options.

Support for bootstrapping an interest rate curve using a different curve for discounting the cash flows with the following enhancements:

`bootstrap`

accepts a new optional input argument for`DiscountCurve`

.`bootstrap`

accepts a new bootstrapping instrument type called`FRA`

for a forward rate agreement instrument.

For more information on using `bootstrap`

for dual
curve construction, see the example: Dual
Curve Bootstrapping.

`capbyblk`

, `floorbyblk`

,
and `swaptionbyblk`

accept
an optional input argument for `ProjectionCurve`

.

`swapbyzero`

and `floatbyzero`

have
new examples to demonstrate pricing a swap and a floating-rate note
with two curves.

Support for lookback options using closed-form solutions or Monte Carlo simulations.

Function | Purpose |
---|---|

Calculate prices of European lookback fixed- and floating-strike options using the Conze-Viswanathan and Goldman-Sosin-Gatto models. | |

Calculate prices and sensitivities of European fixed- and floating-strike lookback options using the Conze-Viswanathan and Goldman-Sosin-Gatto models. | |

Calculate prices of lookback fixed- and floating-strike options using the Longstaff-Schwartz model. | |

Calculate prices and sensitivities of lookback fixed- and floating-strike options using the Longstaff-Schwartz model. |

Support for `blackvolbysabr`

to
calibrate the SABR model parameters and to compute SABR implied Black
volatilities.

Support for `optpricebysim`

to
calculate the price and sensitivities of European or American call
or put options based on simulation results of the underlying asset.
For American options, the Longstaff-Schwartz least squares method
is used to calculate the early exercise premium.

`creditexposures`

function to compute credit exposures from mark-to-market OTC contract valuesSupport for computing credit exposures as a part of a counterparty
credit risk workflow. For more information, see `creditexposures`

.

`exposureprofiles`

function to derive credit exposure profiles from credit exposuresSupport for computing various credit exposure profiles, including
potential future exposure and expected exposure. For more information,
see `exposureprofiles`

.

The pricing algorithms for vanilla stock options have been enhanced
to support `ExerciseDates`

between tree levels. While `ExerciseDates`

previously
allowed only values that coincided with tree dates, the new pricing
algorithm allows arbitrary `ExerciseDates`

between
the tree valuation date and tree maturity. For more information see
the Bermuda option examples in `optstockbycrr`

, `optstockbyeqp`

,
and `optstockbyitt`

.

New example for Pricing Swing Options using the Longstaff-Schwartz Method.

Support for accessing Numerix instruments and risk models.

Class | Purpose |
---|---|

Create a numerix object to set up the Numerix CrossAsset Integration Layer (CAIL) environment. |

Method | Purpose |
---|---|

Converts Numerix CAIL data to MATLAB |

Support pricing and sensitivity of spread options for the energy market using closed-form solutions.

Function | Purpose |
---|---|

Price European spread options using the Kirk pricing model. | |

Calculate European spread option prices and sensitivities using the Kirk pricing model. | |

Price European spread options using the Bjerksund-Stensland pricing model. | |

Calculate European spread option prices and sensitivities using the Bjerksund-Stensland pricing model. |

Support pricing and sensitivity of spread options for the energy market using Monte Carlo simulation.

Function | Purpose |
---|---|

Price European or American spread options using the Alternate Direction Implicit (ADI) finite difference method. | |

Calculate price and sensitivities of European or American spread options using the Alternate Direction Implicit (ADI) finite difference method. | |

Price European or American spread options using Monte Carlo simulations. | |

Calculate price and sensitivities for European or American spread options using Monte Carlo simulations. |

Support pricing and sensitivity of Asian options for the energy market using Monte Carlo simulation and closed-form solutions.

Function | Purpose |
---|---|

Price European or American Asian options using the Longstaff-Schwartz model. | |

Calculate prices and sensitivities of European or American Asian options using the Longstaff-Schwartz model. | |

Price European geometric Asian options using the Kemna-Vorst model. | |

Calculate prices and sensitivities of European geometric Asian options using the Kemna-Vorst model. | |

Price European arithmetic Asian options using the Levy model. | |

Calculate prices and sensitivities of European arithmetic Asian options using the Levy model. |

New example for Pricing a CDS Index Option.

Support pricing and sensitivity of vanilla options for the energy market using Monte Carlo simulation.

Function | Purpose |
---|---|

Price European, Bermudan, or American vanilla options using the Longstaff-Schwartz model. | |

Calculate European, Bermudan, or American vanilla option prices and sensitivities using the Longstaff-Schwartz model. |

New example for Hedging Strategies Using Spread Options.

New example for Pricing European and American Spread Options.

`cdsrpv01`

computes
risky present value of a basis point (RPV01) for a credit default
swap (CDS) and conforms to the industry standards (ISDA CDS Standard
Model).

Compared with the previous version of Financial Instruments Toolbox™,
there are minor changes in the values computed by `cdsbootstrap`

, `cdsspread`

, `cdsprice`

,
and `cdsoptprice`

when
the starting dates do not fall on a payment date. The affected output
arguments are as follows:

`cdsbootstrap`

:`ProbData`

,`HazData`

`cdsspread`

:`Spread`

`cdsprice`

:`Price`

`cdsoptprice`

:`Payer`

,`Receiver`

While the magnitudes of the value changes are very small, they might affect users who depend on exact matches to previous values. These changes are caused by the modification of the way risky present value of a basis point (RPV01) is computed and these changes were made to better reflect the industry practice of paying CDS premiums only on specific payment dates.

`optimoptions`

support `optimoptions`

support
for `IRFitOptions`

, `fitFunction`

method, `hwcalbycap`

,
and `hwcalbyfloor`

.

Support for pricing a floating-rate note instrument with an option using tree models.

Function | Purpose |
---|---|

Price an option for a floating-rate note using a Black-Derman-Toy interest-rate tree. | |

Price an option for a floating-rate note using a Heath-Jarrow-Morton interest-rate tree. | |

Price an option for a floating-rate note using a Hull-White interest-rate tree. | |

Price an option for a floating-rate note using a Black-Karasinski interest-rate tree. | |

Define the option instrument for a floating-rate note. |

Support for pricing a floating-rate note instrument with an embedded option using tree models.

Function | Purpose |
---|---|

Price an embedded option for a floating-rate note using a Black-Derman-Toy interest-rate tree. | |

Price an embedded option for a floating-rate note using a Black-Karasinski interest-rate tree. | |

Price an embedded option for a floating-rate note using a Heath-Jarrow-Morton interest-rate tree. | |

Price an embedded option for a floating-rate note using a Hull-White interest-rate tree. | |

Define the floating-rate note with an embedded option instrument. |

Support for pricing interest-rate instruments for caps, floors, and swaptions using Monte Carlo simulation with Hull-White, Shifted Gaussian, and LIBOR Market Models. There are three new classes, three new methods, and four new functions.

Class | Purpose |
---|---|

Create a Hull-White one-factor model. | |

Create a two-factor additive Gaussian interest-rate model. | |

Create a LIBOR Market Model. |

Method | Purpose |
---|---|

Simulate term structures for a Hull-White one-factor model. | |

Simulate term structures for a two-factor additive Gaussian interest-rate model. | |

Simulate term structures for a LIBOR Market Model. |

Function | Purpose |
---|---|

Price caps using a Linear Gaussian two-factor model. | |

Price floors using a Linear Gaussian two-factor model. | |

Price European swaptions using a Linear Gaussian two-factor model. | |

Compute the Black volatility for a LIBOR Market Model using the Rebonato formula. |

Fixed-Income Toolbox™ and Financial Derivatives Toolbox™ are merged into the new product Financial Instruments Toolbox.

Support for pricing capped, collared, and floored floating-rate
notes using the `CapRate`

and `FloorRate`

arguments.

Function | Purpose |
---|---|

Price a capped floating-rate note using a Black-Derman-Toy interest-rate tree. | |

Price a capped floating-rate note using a Heath-Jarrow-Morton interest-rate tree. | |

Price a capped floating-rate note using a Hull-White interest-rate tree. | |

Price a capped floating-rate note using a Black-Karasinski interest-rate tree. | |

Create a capped floating-rate note instrument. | |

Add capped floating-rate note instruments to a portfolio. |

Support for interest-rate forward swaps using the new `StartDate`

argument
to define the future date for the swap instrument.

Function | Purpose |
---|---|

Price a bond using a set of zero curves. | |

Price a forward swap using a Black-Derman-Toy interest-rate tree. | |

Price a forward swap using a Heath-Jarrow-Morton interest-rate tree. | |

Price a forward swap using a Hull-White interest-rate tree. | |

Price a forward swap using a Black-Karasinski interest-rate tree. | |

Create a forward swap instrument. | |

Add forward swap instruments to a portfolio. |

`IRFunctionCurve`

objectsNew enhancements for `IRFunctionCurve`

object,
including the ability to get calibrated parameters, the ability to
specify linear inequality parameter constraints, and support for curve
type in `fitSmoothingSpline`

to
be forward, zero, and discount.

New example for mortgage prepayment that uses a LIBOR market model to generate interest-rate evolutions. For more information, see Prepayment Modeling with a Two Factor Hull White Model and a LIBOR Market Model.

New example for computing the unilateral Credit Value (Valuation) Adjustment (CVA) for a bank holding a portfolio of vanilla interest-rate swaps with several counterparties. For more information, see Counterparty Credit Risk and CVA.

For R2012b, error and warning message identifiers have changed in Financial Instruments Toolbox.

If you have scripts or functions that use message identifiers
that changed, you must update the code to use the new identifiers.
Typically, message identifiers are used to turn off specific warning
messages, or in code that uses a `try/catch`

statement
and performs an action based on a specific error identifier.

For example, because Fixed-Income Toolbox and Financial Derivatives Toolbox merged
to become Financial Instruments Toolbox, the `finfixed`

and `finderiv`

message
identifiers have changed to `fininst`

. If your code
checks for `finfixed`

or `finderiv`

message
identifiers, you must update it to check for `finisnt`

instead.

To determine the identifier for an error, run the following command just after you see the error:

exception = MException.last; MSGID = exception.identifier;

To determine the identifier for a warning, run the following command just after you see the warning:

[MSG,MSGID] = lastwarn;

`MSGID`

.
Release | Features or Changes with Compatibility Considerations |
---|---|

R2016a | cbprice removal |

R2015b | cbprice removal |

R2015a | None |

R2014b | None |

R2014a | None |

R2013b | New function for risky present value of a basis point |

R2013a | None |

R2012b |

Was this topic helpful?

You can also select a location from the following list:

- Canada (English)
- United States (English)

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)