MATLAB Examples

Copyright 2017 The MathWorks, Inc.

Copyright 2017 - 2017 The MathWorks, Inc.

Connect to FRED®, retrieve historical foreign exchange rates, and determine when the highest rate occurred.

Connect to Bloomberg® and retrieve current and historical Bloomberg® market data. For details about Bloomberg® connection requirements, see docid:datafeed_ug.bq4htf5. To ensure a

Will be removed in a future release.

Inspect a squared residual series for autocorrelation by plotting the sample autocorrelation function (ACF) and partial autocorrelation function (PACF). Then, conduct a Ljung-Box

Assess whether a time series is a random walk. It uses market data for daily returns of stocks and cash (money market) from the period January 1, 2000 to November 7, 2005.

Compute and plot the impulse response function for an autoregressive (AR) model. The AR(p) model is given by

To illustrate assigning property values, consider specifying the AR(2) model

Do goodness of fit checks. Residual diagnostic plots help verify model assumptions, and cross-validation prediction checks help assess predictive performance. The time series is

Conduct the Ljung-Box Q-test for autocorrelation.

Estimate a multivariate time series model that contains lagged endogenous and exogenous variables, and how to simulate responses. The response series are the quarterly:

Test a univariate time series for a unit root. It uses wages data (1900-1970) in the manufacturing sector. The series is in the Nelson-Plosser data set.

Estimate a seasonal ARIMA model:

Conduct a likelihood ratio test to choose the number of lags in a GARCH model.

Specify a composite conditional mean and variance model using arima.

Use arima to specify a multiplicative seasonal ARIMA model (for monthly data) with no constant term.

Check whether a linear time series is a unit root process in several ways. You can assess unit root nonstationarity statistically, visually, and algebraically.

Calculate the required inputs for conducting a Lagrange multiplier (LM) test with lmtest. The LM test compares the fit of a restricted model against an unrestricted model by testing whether

Conduct Engle's ARCH test for conditional heteroscedasticity.

Estimate the parameters of a vector error-correction (VEC) model. Before estimating VEC model parameters, you must determine whether there are any cointegrating relations (see

Apply both nonseasonal and seasonal differencing using lag operator polynomial objects. The time series is monthly international airline passenger counts from 1949 to 1960.

Generate data from a known model, specify a state-space model containing unknown parameters corresponding to the data generating process, and then fit the state-space model to the data.

Specify a conditional variance model for daily Deutschmark/British pound foreign exchange rates observed from January 1984 to December 1991.

Compare two competing, conditional variance models using a likelihood ratio test.

Calculate the required inputs for conducting a Wald test with waldtest. The Wald test compares the fit of a restricted model against an unrestricted model by testing whether the restriction

Smooth states of a time-invariant, state-space model that contains a regression component.

Demonstrates optimizing a storage facility and valuing a storage contract using intrinsic valuation. The optimization involves finding the optimal positions in a set of forward natural

This file replicates cross-currency forward pricing using covered interest parity (CIP). It generates and plots CIP-implied forward exchange rates and calculates forward contract

Compute risk neutral standardized moments of an asset's return distribution from volatility smile interpolation. Part of the IMOMBOX.

Compute risk-neutral prices of a contract paying an asset's return or powers thereof from traded options. Part of the IMOMBOX.

Compute risk-neutral prices of a contract paying an asset's return or powers thereof from volatility smile interpolation. Part of the IMOMBOX.

Compute risk neutral standardized moments of an asset's return distribution from traded options. Part of the IMOMBOX.

Compute the unilateral credit value (valuation) adjustment (CVA) for a bank holding a portfolio of vanilla interest rate swaps with several counterparties. CVA is the expected loss on an

An approach to modeling wrong-way risk for Counterparty Credit Risk using a Gaussian copula.

Use ZeroRates for a zero curve that is hard-coded. You can also create a zero curve by bootstrapping the zero curve from market data (for example, deposits, futures/forwards, and swaps)

Price a swaption using the SABR model. First, a swaption volatility surface is constructed from market volatilities. This is done by calibrating the SABR model parameters separately for

Price first-to-default (FTD) swaps under the homogeneous loss assumption.

Price a single-name CDS option using cdsoptprice . The function cdsoptprice is based on the Black's model as described in O'Kane (2008). The optional knockout argument for cdsoptprice

Illustrates how MATLAB® can be used to create a portfolio of interest-rate derivatives securities, and price it using the Black-Karasinski interest-rate model. The example also shows

Illustrates how the Financial Toolbox™ and Financial Instruments Toolbox™ are used to price a level mortgage backed security using the BDT model.

Illustrates how the Financial Instruments Toolbox™ is used to price European vanilla call options using different equity models.

Illustrates how the Financial Instruments Toolbox™ is used to create a Black-Derman-Toy (BDT) tree and price a portfolio of instruments using the BDT model.

Consider an American call option with an exercise price of $120. The option expires on Jan 1, 2018. The stock has a volatility of 14% per annum, and the annualized continuously compounded

Price a European Asian option using four methods in the Financial Instruments Toolbox™. This example demonstrates two closed form approximations (Levy and Kemna-Vorst), a lattice model

Hedge the interest-rate risk of a portfolio using bond futures.

Model prepayment in MATLAB® using functionality from the Financial Instruments Toolbox™. Specifically, a variation of the Richard and Roll prepayment model is implemented using a two

Price swaptions with negative strikes by using the Shifted SABR model. The market Shifted Black volatilities are used to calibrate the Shifted SABR model parameters. The calibrated

Use hwcalbyfloor to calibrate market data with the Normal (Bachelier) model to price floorlets. Use the Normal (Bachelier) model to perform calibrations when working with negative

This demo is an introduction to using MATLAB to develop and test a simple trading strategy using an exponential moving average.

This script will demonstrate some simple examples related to creating, routing and managing orders from MATLAB via Bloomberg EMSX.

This demo uses MATLAB and the Technical Analysis (TA) Developer Toolbox to create and test a pairs trading strategy. The TA Developer toolbox complements the existing computational

This demo extends work done in AlgoTradingDemo1.m and adds an RSI technical indicator to the mix. Copyright 2010, The MathWorks, Inc. All rights reserved.

This demo shows how to price a GMWB rider. Yi Wang, MathWorks, 2010

In AlgoTradingDemo2.m we saw how to add two signals together to get improved results. In this demo we'll use evolutionary learning (genetic algorithm) to select our signals and the logic

Demonstrates calibrating an Ornstein-Uhlenbeck mean reverting stochastic model from historical data of natural gas prices. The model is then used to simulate the spot prices into the

Copyright 2017-2017 The MathWorks, Inc.

In AlgoTradingDemo3.m we saw how to add two signals together to get improved results using evolutionary learning. In this demo we'll use extend the approach to three signals: MA, RSI, and

DISCLAIMER: THE SAMPLE FILES ENCLOSED IN THIS DOWNLOAD ARE FOR ILLUSTRATION PURPOSES ONLY. USE THE INFORMATION CONTAINED IN THIS DOWNLOAD AT YOUR OWN RISK.

This demo develops and tests a simple exponential moving average trading strategy. It encorporates obtaining data from the Bloomberg BLP datafeed and executing trades in EMSX, based on the

We seek to try out ga and patternsearch functions of the Genetic Algorithm and Direct Search Toolbox. We consider the unconstrained mean-variance portfolio optimization problem, handled

This demo uses our simple intraday moving average strategy to develop a trading system. Based on historical and current data, the decision engine decides whether or not to trade, and sends

This demo shows how to profile your code to find the performance bottlenecks, or areas for improvement, as well as the capability to generate C-Code from MATLAB.

Calling FSMEM with the data Z only, without the knowledge of the number of compounds

Plots gamma as a function of price and time for a portfolio of 10 Black-Scholes options.

Create a creditscorecard object, bin data, display, and plot binned data information. This example also shows how to fit a logistic regression model, obtain a score for the scorecard model,

Build a forecasting model for corporate default rates.

Model the fat-tailed behavior of asset returns and assess the impact of alternative joint distributions on basket option prices. Using various implementations of a separable

Uses Financial Toolbox™ bond pricing functions to evaluate the impact of time-to-maturity and yield variation on the price of a bond portfolio. Also, this example shows how to visualize the

Creates a three-dimensional plot showing how gamma changes relative to price for a Black-Scholes option.

Construct a bond portfolio to hedge the interest-rate risk of a Treasury bond maturing in 20 years. Key rate duration enables you to determine the sensitivity of the price of a bond to

Analyze the characteristics of a portfolio of equities, and then compares them with the efficient frontier. This example seeks to answer the question of how much closer can you get to the

A value-at-risk (VaR) backtesting workflow and the use of VaR backtesting tools. For a more comprehensive example of VaR backtesting, see docid:risk_ug.bvejh6e-1.

A common workflow for using a creditDefaultCopula object for a portfolio of credit instruments.

A common workflow for using a creditMigrationCopula object for a portfolio of counterparty credit ratings.

An expected shortfall (ES) backtesting workflow using the esbacktestbysim object. The tests supported in the esbacktestbysim object require as inputs not only the test data (Portfolio,

An expected shortfall (ES) backtesting workflow and the use of ES backtesting tools. The esbacktest class supports two tests -- unconditional normal and unconditional t -- which are based

Estimate the value-at-risk (VaR) using three methods, and how to perform a VaR backtesting analysis. The three methods are:

Work with consumer (retail) credit panel data to visualize observed default rates at different levels. It also shows how to fit a model to predict probabilities of default and perform a

Explores how to simulate correlated counterparty defaults using a multifactor copula model.

Calculate capital requirements and value-at-risk (VaR) for a credit sensitive portfolio of exposures using the asymptotic single risk factor (ASRF) model. This example also shows how to

Perform estimation and backtesting of Expected Shortfall models.

Sweep through a range of values for an existing exposure from 0 to double the current value and plot the corresponding values. This could be used as one criterion (among others) for assessing

Compare the Merton model approach, where equity volatility is provided, to the time series approach.

Simulate random portfolios with different distributions and compare their concentration indices. For illustration purposes, a lognormal and Weibull distribution are used. The

Create a connection to the IB Trader Workstation℠ and create a market order based on historical and current data for a security. You can also create orders for a different instrument, such as a

Choose your country to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a location from the following list:

See all countries