Documentation Center

  • Trials
  • Product Updates

Financial Toolbox Release Notes

R2014a

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.

R2013b

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:

R2013a

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.

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

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.

R2012b

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.

R2012a

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

Function

Purpose

cfspread

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

cfprice

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

cfyield

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

R2011b

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
bndprice.
proddflWarnsbndpriceReplace all instances of proddfl with
bndprice.
proddlWarnsbndpriceReplace all instances of proddl with
bndprice.
yldoddlWarnsbndyieldReplace all instances of yldoddl with
bndyield.
yldoddfWarnsbndyieldReplace all instances of yldoddf with
bndyield.
yldoddflWarnsbndyieldReplace all instances of yldoddfl
with bndyield.
prbondWarnsbndpriceReplace all instances of prbond with
bndprice.
yldbondWarnsbndyieldReplace all instances of yldbond with
bndyield.
checksizWarnsN/A

Remove all instances from your code.

checktypWarnsN/A

Remove all instances from your code.

checkrngWarnsN/A

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.

R2011a

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

R2010b

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.

R2010a

No New Features or Changes

R2009b

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:

Function

Purpose

accrfrac

Calculate fraction of coupon period before settlement.

bndprice

Price fixed-income security from yield to maturity.

bndyield

Calculate yield to maturity for fixed-income security.

bndspread

Calculate static spread over spot curve.

bnddurp

Calculate bond duration given price.

bnddury

Calculate bond duration given yield to maturity.

bndconvp

Calculate bond convexity given price.

bndconvy

Calculate bond convexity given yield.

cfamounts

Calculate cash flow and time mapping for a bond portfolio.

cftimes

Calculate time factors corresponding to bond cash flow dates.

R2009a

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.

R2008b

No New Features or Changes

R2008a

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:

R2007b

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

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.

R2006b

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).

R2006a

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

R14SP3

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

Compatibility Summary

ReleaseFeatures or Changes with Compatibility Considerations
R2014aNone
R2013boptimoptions support
R2013a
R2012bNone
R2012aNone
R2011b
R2011aNone
R2010bNone
R2010aNone
R2009bNone
R2009aNone
R2008bNone
R2008aNone
R2007bNone
R2007aNone
R2006bNone
R2006aNone
R14SP3None
Was this topic helpful?