Financial Toolbox Release Notes


New Features, Bug Fixes, Compatibility Considerations

Credit scorecard enhancements for model validation, a binning algorithm, and probability of default computation

  • Enhancements to autobinning for the Algorithm name-value pair argument, where a new option 'Monotone' is supported. Monotone is an optimal binning algorithm that ensures monotonicity in the weight of evidence (WOE) of the resulting bins.

  • Credit scorecards support model validation using validatemodel that provides the following three techniques:

    • Receiver Operating Characteristic (ROC)

    • Cumulative Accuracy Profile (CAP)

    • Kolmogorov-Smirnov (KS)

  • Credit scorecards support probability of default using probdefault.

autobinning support for 'Monotone'' has compatibility impact

The autobinning function for credit scorecards has an incompatibility with the previous release. The latest version of autobinning supports, by default, new binning behavior where the default for the 'Algorithm' argument is now a new name-value pair argument for 'Monotone'. In addition, the algorithms 'EqualFrequency' and 'EqualWidth' now support 'SortCategories' option for categorical data. By default, categorical data is sorted by 'odds' before binning.

Compatibility Considerations

To recover the previous behavior, use autobinning with the following name-value pairs:

  • For the syntax sc = autobinning(sc) in R2014b, starting in R2015a, the syntax is equivalent to using:

    sc = autobinning(sc,'Algorithm','EqualFrequency','AlgorithmOptions',{'SortCategories','None'})

  • For the syntax sc = autobinning(sc,'Algorithm','EqualWidth') in R2014b, starting in R2015a, the syntax is equivalent to using:

    sc = autobinning(sc,'Algorithm','EqualWidth','AlgorithmOptions',{'SortCategories','None'})

  • For the syntax sc = autobinning(sc,'Algorithm','EqualFrequency') in R2014b, starting in R2015a, the syntax is equivalent to using:

    sc = autobinning(sc,'Algorithm','EqualFrequency','AlgorithmOptions',{'SortCategories','None'})

Life table calibration and simulation for insurance

Life tables compute the probabilities, hazards, and survivor counts associated with people who are alive at a specified age and have the likelihood of death within a given period in the future. Four main parametric mortality models are supported for life studies: Gompertz, Gompertz-Makeham, Siler, and Heligman-Pollard.

  • lifetableconv — Convert life table data from either raw form or generated form into different formats and series.

  • lifetablefit — Calibrate parametric life table models based on life table data.

  • lifetablegen — Generate life table data from parametric models.

SDE suite parallel computing example

New example showing how to use Parallel Computing Toolbox™ with SDE functions to improve performance. For details, see Improving Performance of Monte Carlo Simulation with Parallel Computing.

frontcon removal

frontcon will be removed in a future release. Use Portfolio instead.

Compatibility Considerations

Function NameWhat Happens When You Use This FunctionUse This Function InsteadCompatibility Considerations
frontconWarnsPortfolioReplace all instances of frontcon with

To turn off the frontcon warning, see Turning off the Warning Messages for frontcon.

For more information on migrating frontcon code to Portfolio, see frontcon Migration to Portfolio Object.

portopt partial removal

portopt will be partially removed in a future release and will no longer accept ConSet or varargin arguments. In a future release, portopt will solve the portfolio problem for long-only fully invested portfolios. Use Portfolio instead.

Compatibility Considerations

Function NameWhat Happens When You Use This FunctionUse This Function InsteadCompatibility Considerations
portoptWarnsPortfolioIf you want to solve a portfolio problem that is more than a long-only fully invested portfolio, replace all instances of portopt with Portfolio.

To turn off the portopt warning, see Turning off the Warning Messages for portopt.

For more information on migrating portopt code to Portfolio, see portopt Migration to Portfolio Object.


New Features, Bug Fixes

Credit scorecard functionality

Modeling support for credit scorecard development that includes the following new functions:

  • creditscorecard creates the creditscorecard object.

  • autobinning applies automatic binning for single or multiple predictors.

  • bininfo returns bin information for a given predictor.

  • modifybins lets you modify bins for a given predictor.

  • bindata bins a dataset using the existing binning rules and performs Weight of Evidence (WOE) transformation.

  • plotbins plots histogram counts for predictor variables.

  • fitmodel fits a logistic regression model using Weight of Evidence (WOE) data.

  • setmodel sets the predictors and coefficients of a linear logistic regression model fitted outside the creditscorecard object and returns an updated creditscorecard object.

  • displaypoints returns scorecard points information, such as points per bin or points per predictor.

  • formatpoints lets you modify point information, such as scaling or rounding.

  • score determines the score for each row of a dataset.

For more information, see Using creditscorecard Objects, Credit Scorecard Modeling Workflow, and Case Study for a Credit Scorecard Analysis.

Performance improvements to CVaR portfolio optimization​ when using the fmincon function

Support for fmincon gradients when using setSolver for CVaR portfolio optimization provides increased performance for CVaR optimizations.

Performance improvements to SDE Monte Carlo simulation​ for models with constant parameter or deterministic function of time

Certain SDE models that use a constant parameter or a deterministic function of time have a performance improvement.

Fan chart visualization function

Support for financial fan charts using fanplot. Use fanplot to plot the combination of historical and forecast data to visualize possible outcomes.

SDE functions accept parameters that can be specified as a single input argument

The following SDE functions accept parameters you can specify as a single input argument that is identified as a deterministic function of time if the function accepts a scalar time t as its only input argument.

In addition, ts2func accepts a new parameter value argument for Deterministic to support deterministic functions of time.

Default option for the cuttingplane solver for PortfolioCVaR optimization changed

The default option for the cuttingplane solver for a PortfolioCVaR object has changed. The cuttingplane default option for MasterSolverOptions has changed from

For more information, see Dual-simplex algorithm in linprog linear programming solver in the Release Notes for Optimization Toolbox™.


New Features, Bug Fixes

SDE functions moved to Financial Toolbox from Econometrics Toolbox

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

Performance enhancements to SDE Monte Carlo simulation functions

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


New Features, Compatibility Considerations

Mean-absolute deviation (MAD) portfolio optimization

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

optimoptions support

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

Compatibility Considerations

There are two possible incompatibility impacts:

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

Functions moved from Financial Instruments Toolbox to Financial Toolbox

The following functions are moved from Financial Instruments Toolbox™ to Financial Toolbox:


New Features, Compatibility Considerations

Cash flow plot function

Graphical representation for cash flows using cfplot.

Financial Time Series Tool (ftstool) import of Excel XLSX files on Linux and Mac OS X

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

Cutting-plane solver added to PortfolioCVaR object

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

transprobbytotals errors when using the algorithm input argument

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.

Compatibility Considerations

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.

Using datenum, datestr, datevec with dates in Financial products might produce inconsistent results

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.


Compatibility Considerations

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 Features

Conditional value at risk (CVaR) portfolio optimization

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

Margin and spread calculations for floating-rate bonds

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

Total (horizon) return calculation for fixed-coupon bonds

Support for calculating bond horizon return using bndtotalreturn.

Performance improvements for cfamounts

Performance improvement for calculating cash flows using cfamounts.


New Features

XIRR Update

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

Additional Support for Cash Flow Functions




Calculate the spread over a zero curve for a given cash flow.


Calculate the price for a given cash flow given yield to maturity.


Calculate the yield to maturity for a given cash flow and price.

New Demo for Portfolio Optimization Tools

A new demo shows how to set up mean-variance optimization problems using the portfolio object. Run the demo at the MATLAB command line by entering:

 showdemo portfolioexamples


New Features, Compatibility Considerations

One-Way Turnover Constraints Added to the Portfolio Object

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

Portfolio Optimization with Sharpe Ratio Maximization Using a Portfolio Object

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

Cash Flow and Time Mapping for Bond Portfolios with Variable Coupon Rates and Variable Face Values

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

Transition Probability Functions for Credit Quality Thresholds, Nonsquare Matrices, and User-Defined Ratings

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.

New Demo for Forecasting Corporate Default Rates

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

Functionality Being Removed

Function NameWhat Happens When You Use This FunctionUse This Function InsteadCompatibility Considerations
proddfWarnsbndpriceReplace all instances of proddf with
proddflWarnsbndpriceReplace all instances of proddfl with
proddlWarnsbndpriceReplace all instances of proddl with
yldoddlWarnsbndyieldReplace all instances of yldoddl with
yldoddfWarnsbndyieldReplace all instances of yldoddf with
yldoddflWarnsbndyieldReplace all instances of yldoddfl
with bndyield.
prbondWarnsbndpriceReplace all instances of prbond with
yldbondWarnsbndyieldReplace all instances of yldbond with

Remove all instances from your code.


Remove all instances from your code.


Remove all instances from your code.

Warning and Error ID Changes

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

Compatibility Considerations

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.

transprobbytotals Warns When Using the algorithm Input Argument

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.

Compatibility Considerations

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 Features

Portfolio Turnover and Transaction Costs

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.

Updated showdemo Command for Credit Rating Demo

The command to run the demo showing how to use Statistics Toolbox™ functions to support credit ratings is updated. Run the demo at the MATLAB command line by entering:

showdemo creditratingdemo


New Features

Estimation of Transition Probabilities for Credit Risk

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.

Improved Performance in Portfolio Optimization Functions

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.

New Demo for Credit Rating

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

New Input and Output Options for Swap Functionality

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


No New Features or Changes


New Features

Support for the BUS/252 Day-Count Convention

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.

Extended Support for New York Stock Exchange Closures

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.

Enhancements for Bond Pricing

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:




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.


New Features

Support for Key Rate Duration

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.


No New Features or Changes


New Features

Enhanced Mean-Variance Portfolio Optimization Based on Linear Complementarity Programming for Portfolio Optimization

Added support for varargin argument for portopt and frontcon.

Support for ret2tick and tick2ret Functions for Time Series Objects

ret2tick and tick2ret support financial time series objects.

Support for Additional Descriptive Statistics Functions Financial Times Series Objects

The following covariance methods now support a financial time series object:

Added New Chart Types

Added support for the following chart types for financial reporting:


New Features

ISMA Support for 30/360 Basis as a Variant of 30/360E with Annual Compounding

createholidays Function Added for Different Trading Calendars

The createholidays function now supports 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 data, that can be used instead of the standard holidays.m that ships with Financial Toolbox software.

Diagonal Covariance Matrix Support Added for Multivariate Normal Regression

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:

arith2geom and geom2arith Functions Added for Portfolio Analysis

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


New Features

Investment Performance Metrics

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.

Financial Time Series Tool

Financial Time Series Tool (ftstool) is a new graphical user interface to support working with financial time series FINTS objects. ftstool interoperates with the Financial Time Series Graphical User Interface (ftsgui) and Interactive Charts (chartfts).


New Features

Financial Time Series Toolbox Incorporated

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.

Financial Time Series Frequency Conversion Functions Modified

The suite of time series frequency conversion functions (todaily, toweekly, tomonthly, tosemi, and toannual) has been extensively modified. Consult the function references in the Financial Toolbox User's Guide for specifics.

Continuous Compounding Option Removed from plyd2zero

Continuous compounding is no longer available for pyld2zero. Compounding for this function is now consistent with compounding for the function zero2pyld. An error message is generated if you attempt to use continuous compounding with these functions.

New Statistical Functions

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

Multivariate Normal Regression Without Missing Data

mvnrfishFisher information matrix for multivariate normal or least-squares regression
mvnrmleMultivariate normal regression (ignore missing data)
mvnrobjLog-likelihood function for multivariate normal regression without missing data
mvnrstdEvaluate standard errors for multivariate normal regression model

Multivariate Normal Regression With Missing Data (Expectation Conditional Maximization)

ecmmvnrfishFisher information matrix for multivariate normal regression model
ecmmvnrmleMultivariate normal regression with missing data
ecmmvnrobjLog-likelihood function for multivariate normal regression with missing data
ecmmvnrstdEvaluate standard errors for multivariate normal regression model

Least Squares Regression With Missing Data (Expectation Conditional Maximization)

ecmlsrmleLeast-squares regression with missing data
ecmlsrobjLog-likelihood function for least-squares regression with missing data

Financial Model Transformation Function

convert2surConvert a multivariate normal regression model into a seemingly unrelated regression model


New Features

New Statistical Functions

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.

Expectation Conditional Maximization

ecmnfishFisher information matrix
ecmnhessHessian of negative log-likelihood function
ecmninitInitial mean and covariance
ecmnmleMean and covariance of incomplete multivariate normal data
ecmnobjNegative log-likelihood function
ecmnstdStandard errors for mean and covariance of incomplete data

Was this topic helpful?