Connect to FRED®, retrieve historical foreign exchange rates, and determine when the highest rate occurred.
Compute the sample autocorrelation function (ACF) and partial autocorrelation function (PACF) to qualitatively assess autocorrelation.
Specify an AR(p) model with constant term equal to zero. Use name-value syntax to specify a model that differs from the default model.
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.
Use the Box-Jenkins methodology to select an ARIMA model. The time series is the log quarterly Australian Consumer Price Index (CPI) measured from 1972 and 1991.
Compute and plot the impulse response function for an autoregressive (AR) model. The AR(p) model is given by
Use Akaike Information Criterion (AIC) to select the nonseasonal autoregressive and moving average lag polynomial degrees for a regression model with ARMA errors.
Estimate long-term trend using a symmetric moving average function. This is a convolution that you can implement using conv. The time series is monthly international airline passenger
Simulate sample paths from a stationary AR(2) process without specifying presample observations.
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
Plot the impulse response function for an autoregressive moving average (ARMA) model. The ARMA(p, q) model is given by
The Engle-Granger method has several limitations. First of all, it identifies only a single cointegrating relation, among what might be many such relations. This requires one of the
Estimate a multivariate time series model that contains lagged endogenous and exogenous variables, and how to simulate responses. The response series are the quarterly:
Specify a GARCH model with a Student's t innovation distribution.
Calculate and plot the impulse response function for a moving average (MA) model. The MA(q) model is given by
Simulate sample paths from a stationary MA(12) process without specifying presample observations.
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.
Specify a multiplicative seasonal ARIMA model (for quarterly data) with known parameter values. You can use such a fully specified model as an input to simulate or forecast.
Apply seasonal filters to deseasonalize a time series (using a multiplicative decomposition). The time series is monthly international airline passenger counts from 1949 to 1960.
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 standardized moments of an asset's return distribution 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 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 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 the Financial Instruments Toolbox™ is used to price European vanilla call options using different equity models.
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 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
Bootstrap an interest-rate curve, often referred to as a swap curve, using the IRDataCurve object. The static bootstrap method takes as inputs a cell array of market instruments (which can
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.
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.
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
A practical use of financial time series objects, predicting the return of a stock from a given set of data. The data is a series of closing stock prices, a series of dividend payments from the
Moving Average Convergence/Divergence (MACD) is an oscillator function used by technical analysts to spot overbought and oversold conditions. Use the IBM® stock price data contained in
On-Balance Volume (OBV) relates volume to price change. The function onbalvol requires you to have the closing price ( Close ) series and the volume traded ( Volume ) series. First, create a
Williams %R is an indicator that measures overbought and oversold levels. The function willpctr is from the stochastics category. All the technical analysis functions can accept a
The Relative Strength Index (RSI) is a momentum indicator that measures an equity's price relative to itself and its past performance. The function name is rsindex . The rsindex function
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.
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.
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.