New portfolio object PortfolioMAD for mean-absolute deviation (MAD) 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.
Graphical representation for cash flows using cfplot.
Support for ftstool import of Excel® XLSX files on Linux® and Mac OS X.
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.
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 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 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:
|Function Name||What Happens When You Use This Function||Use This Function Instead||Compatibility Considerations|
|proddf||Warns||bndprice||Replace all instances of proddf with|
|proddfl||Warns||bndprice||Replace all instances of proddfl with|
|proddl||Warns||bndprice||Replace all instances of proddl with|
|yldoddl||Warns||bndyield||Replace all instances of yldoddl with|
|yldoddf||Warns||bndyield||Replace all instances of yldoddf with|
|yldoddfl||Warns||bndyield||Replace all instances of yldoddfl|
|prbond||Warns||bndprice||Replace all instances of prbond with|
|yldbond||Warns||bndyield||Replace all instances of yldbond with|
Remove all instances from your code.
Remove all instances from your code.
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.
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:
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.
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.
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:
The following functions now support the International Securities Market Association (ISMA) convention for the basis argument:
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:
|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|