## Documentation Center |

The following Stochastic Differential Equation (SDE) functions have moved from Econometrics Toolbox™ to Financial Toolbox™:

The following sample data sets and examples from the `matlab/toolbox/econ/econdemos` directory
have moved to `matlab/toolbox/finance/findemos`:

`Demo_AmericanBasket``Example_BarrierOption``Example_BlackScholes``Example_CEVModel``Example_CIRModel``Example_CopulaRNG``Example_LongstaffSchwartz``Example_StratifiedRNG``Data_GlobalIdx2.mat`

Monte Carlo simulation performance enhancements to the approximate
solution function (`simBySolution`)
of GBM and HWV models with constant parameters.

New portfolio object `PortfolioMAD` for
mean-absolute deviation (MAD) portfolio optimization.

`optimoptions` support
when using solver options for `Portfolio`, `PortfolioCVaR`,
and `PortfolioMAD` objects
for portfolio optimization.

There are two possible incompatibility impacts:

When using

`Portfolio`or`PortfolioCVaR`objects and the associated`Portfolio.setSolver`or`PortfolioCVaR.setSolver`methods, the default solver options now reference an`optimoptions`object, instead of an`optimset`structure. If you now use default solver options and operating on them assuming this is an`optimset`structure, some of those operations may no longer work.The

`Portfolio`or`PortfolioCVaR`objects and the associated`Portfolio.setSolver`or`PortfolioCVaR.setSolver`methods let you pass name-value pair arguments of solver options. In the past, setting solver options that were unused by the solver of choice would simply have no effect, because`optimset`would accept the options, and the solver would simply ignore them. In contrast,`optimoptions`objects generate an error if you attempt to set an invalid option.

`optimoptions` is
the default and recommended method to set solver options, however, `optimset` is
also supported.

Support for `ftstool` import
of Excel^{®} XLSX files on Linux^{®} and Mac OS X.

New solver option (`'cuttingplane'`) for `PortfolioCVaR` object
for conditional value-at-risk (CVaR) portfolio optimization. For more
information, see `setSolver`.

The `'totals'` input argument to `transprobbytotals` is
typically generated by `transprob`.
Because `transprob` includes
an `'algorithm'` field in this structure since R2011b,
you no longer need to specify the `'algorithm'` argument
using a name-value pair when calling `transprobbytotals`.
If you specify an `'algorithm'` argument as a name-value
pair when calling `transprobbytotals`,
you now receive an error.

Specifying the`'algorithm'` as a name-value
pair argument to `transprobbytotals` now
causes an error. If you started using this functionality in R2011b
or later, most likely you don't have to take any action. If you have
used this functionality before R2011b, make sure you remove the `'algorithm'` name-value
pair from calls to `transprobbytotals`,
and that the `'totals'` input argument to `transprobbytotals` contains
an`'algorithm'` field indicating the desired algorithm.
In most cases, the latter can be achieved by recreating the `'totals'` structure
with a call to `transprob` which
automatically adds the`'algorithm'` field since R2011b.

Any time you enter a cell array of date strings that are in
different date formats using the MATLAB^{®} functions `datenum`, `datestr`,
and `datevec`, these functions previously returned
an error. In R2013a, this behavior has changed. In Financial products
this change can cause an unexpected date format to generate an incorrect
value. For example, the following use of `datevec` returned
an error before R2013a because of the inconsistent date formats, but
in R2013a this code does not return an error.

datevec({'10-Oct-2012','10-1-2012'}),

As a best practice, you should convert date strings to date numbers before using any functions in Financial Toolbox that use dates as inputs. For more information, see No strict-match requirements for month formats when converting date strings in the MATLAB release notes.

New portfolio object `PortfolioCVaR` for
conditional value at risk (CVaR) portfolio optimization.

Support for calculating spread measures for floating-rate bonds
using `floatdiscmargin` and `floatmargin`.

Support for calculating bond horizon return using `bndtotalreturn`.

Performance improvement for calculating cash flows using `cfamounts`.

Support is added to `xirr` for
a global search heuristic to enhance the robustness of `xirr`.

The portfolio object supports one-way turnover constraints using
the new methods `setOneWayTurnover` and `getOneWayTurnover`.

The portfolio object supports estimating an efficient portfolio
that maximizes the Sharpe ratio using the new method `estimateMaxSharpeRatio`.

Updated `cfamounts` now
supports time-varying `CouponRate` and `Face` scheduling,
including support for sinking fund bonds.

Support is added for credit quality thresholds with `transprobtothresholds` and `transprobfromthresholds`.
Support is added for data preprocessing for `transprob` using `transprobprep`.
Support is added for user-defined ratings and nonsquare transition
matrices with `transprobgrouptotals` and `transprobbytotals`.
For more information, see Credit Risk Analysis.

A new demo shows how to forecast corporate default rates. This includes backtesting and stress testing examples. Run the demo at the MATLAB command line by entering:

showdemo Demo_DefaultRatesForecasts

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

proddf | Warns | bndprice | Replace all instances of proddf withbndprice. |

proddfl | Warns | bndprice | Replace all instances of proddfl withbndprice. |

proddl | Warns | bndprice | Replace all instances of proddl withbndprice. |

yldoddl | Warns | bndyield | Replace all instances of yldoddl withbndyield. |

yldoddf | Warns | bndyield | Replace all instances of yldoddf withbndyield. |

yldoddfl | Warns | bndyield | Replace all instances of yldoddflwith bndyield. |

prbond | Warns | bndprice | Replace all instances of prbond withbndprice. |

yldbond | Warns | bndyield | Replace all instances of yldbond withbndyield. |

checksiz | Warns | N/A | Remove all instances from your code. |

checktyp | Warns | N/A | Remove all instances from your code. |

checkrng | Warns | N/A | Remove all instances from your code. |

Many warning and error IDs have changed from their previous versions. These warnings or errors typically appear during a function call.

If you use warning or error IDs, you might need to change the
strings you use. For example, if you turned off a warning for a certain
ID, the warning might now appear under a different ID. If you use
a `try`/`catch` statement in your
code, replace the old identifier with the new identifier. There is
no definitive list of the differences, or of the IDs that changed.

The `totals` input to `transprobbytotals` is
typically generated by `transprob`.
Because `transprob` now
includes an `algorithm` field in this structure,
you no longer need to specify the `algorithm` argument
when calling `transprobbytotals`.

In a future release, specifying the `algorithm` argument
to `transprobbytotals` will
error. Currently, it is still permissible to specify the `algorithm` argument,
although it usually has no effect.

New portfolio object and methods support mean-variance portfolio optimization with general linear constraints, transaction costs, and turnover constraints. For more information, see Portfolio Optimization Tools and Portfolio Optimization Objects.

Support for estimation of transition matrices based on credit-migration
history using both cohort and duration methods. For more information,
see `transprob`, `transprobbytotals`,
and Estimation
of Transition Probabilities.

`portopt` is
enhanced for improved speed. Specifically, a broader class of problems
now uses the faster linear complementarity programming (LCP) algorithm
to obtain portfolios on the efficient frontier.

A new demo shows how to use Statistics Toolbox functions to support credit ratings. Run the demo at the MATLAB command line by entering:

echodemo demo_creditrating

`cfamounts` is
enhanced to support new parameter/value pairs for swap functionality.

Support for the `Basis` day-count convention
for BUS/252. BUS/252 is the number of business days between the previous
coupon payment and the settlement data divided by 252. BUS/252 business
days are non-weekend, non-holiday days. The `holidays.m` file
defines holidays.

The current `holidays` function
covers holidays and non-trading days from 1950 to 2050. Using `nyseclosures`,
you can determine all known and anticipated closures from January
1, 1885 to December 31, 2050.

Support for the following enhancements to bond pricing functions:

Provide the ability to specify the compounding frequency separately from the coupon frequency.

Enable specification of a discounting basis. A discounting basis has two purposes in Price/YTM calculations:

Computing the accrued interest

Computing the discount factors

Support the specification of a formula for computing the interest in the last coupon period.

The enhanced bond pricing functions are:

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

Calculate fraction of coupon period before settlement. | |

Price fixed-income security from yield to maturity. | |

Calculate yield to maturity for fixed-income security. | |

Calculate static spread over spot curve. | |

Calculate bond duration given price. | |

Calculate bond duration given yield to maturity. | |

Calculate bond convexity given price. | |

Calculate bond convexity given yield. | |

Calculate cash flow and time mapping for a bond portfolio. | |

Calculate time factors corresponding to bond cash flow dates. |

Added support for `bndkrdur` to
calculate key rate duration for bonds to determine the sensitivities
of a bond to nonparallel changes in the yield curve. For more information,
see Calculating
Key Rate Durations for Bonds.

The following functions now support day count conventions for
the `basis` argument based on ISDA (International
Swap Dealers Association) actual/365:

The following functions now support day count conventions for
the `basis` argument to support 30/360 International
Securities Market Association (ISMA) convention as a variant of 30/360E
with annual compounding:

The `createholidays` function
now supports `http://www.FinancialCalendar.com` trading
calendars. This function can be used from the command line or from
the Trading Calendars graphical user interface. Using `createholidays`,
you can create `holiday.m` files, in conjunction
with `FinancialCalendar.com` data, that can be used
instead of the standard `holidays.m` that ships with Financial Toolbox software.

The new diagonal covariance matrix estimation feature makes
it possible to estimate large-scale factor models by treating the
residual errors as being jointly independent. The following functions
support `CovarFormat`, a new input argument:

Two new functions, `arith2geom` and `geom2arith`,
support portfolio analysis.

The following new functions are added to compute common investment performance and risk-adjusted metrics:

`sharpe`, computes the sharpe ratio.`inforatio`, computes information ratio and tracking error.`portalpha`, computes risk-adjusted alpha and return.`lpm`, computes sample lower partial moments.`elpm`, computes expected lower partial moments.`maxdrawdown`, computes the drop from maximum to minimum return over a period of time.`emaxdrawdown`, computes the returns that are transformed into a linear Brownian motion with drift.

As of this release the functionality previously available in Financial Time Series Toolbox has been incorporated into Financial Toolbox software. Financial Toolbox documentation has been modified to include the documentation previously available in the Financial Time Series User's Guide.

Because use of Financial Time Series Toolbox required the purchase and installation of Financial Toolbox software, all customers previously licensed for Financial Time Series Toolbox will continue to have access to it.

The new functions in Version 3.0 of Financial Toolbox software fall into these four categories:

Multivariate Normal Regression With Missing Data (Expectation Conditional Maximization)

Least Squares Regression With Missing Data (Expectation Conditional Maximization)

mvnrfish | Fisher information matrix for multivariate normal or least-squares regression |

mvnrmle | Multivariate normal regression (ignore missing data) |

mvnrobj | Log-likelihood function for multivariate normal regression without missing data |

mvnrstd | Evaluate standard errors for multivariate normal regression model |

ecmmvnrfish | Fisher information matrix for multivariate normal regression model |

ecmmvnrmle | Multivariate normal regression with missing data |

ecmmvnrobj | Log-likelihood function for multivariate normal regression with missing data |

ecmmvnrstd | Evaluate standard errors for multivariate normal regression model |

ecmlsrmle | Least-squares regression with missing data |

ecmlsrobj | Log-likelihood function for least-squares regression with missing data |

convert2sur | Convert a multivariate normal regression model into a seemingly unrelated regression model |

Version 2.5 introduces a set of financial statistical computation routines that compute values, such as mean and covariance, when there are missing data elements within a larger data set. These routines implement the Expectation Conditional Maximization (ECM) algorithm with various options that depend on the percentage of missing at random (MAR) data within the data set. The table below lists the functions that implement the ECM algorithm in Financial Toolbox software.

The following ECM functions have been added at this release.

ecmnfish | Fisher information matrix |

ecmnhess | Hessian of negative log-likelihood function |

ecmninit | Initial mean and covariance |

ecmnmle | Mean and covariance of incomplete multivariate normal data |

ecmnobj | Negative log-likelihood function |

ecmnstd | Standard errors for mean and covariance of incomplete data |

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

R2014a | None |

R2013b | optimoptions support |

R2013a | |

R2012b | None |

R2012a | None |

R2011b | |

R2011a | None |

R2010b | None |

R2010a | None |

R2009b | None |

R2009a | None |

R2008b | None |

R2008a | None |

R2007b | None |

R2007a | None |

R2006b | None |

R2006a | None |

R14SP3 | None |

Was this topic helpful?

© 1994-2014 The MathWorks, Inc.

© 1994-2014 The MathWorks, Inc.