MATLAB and Simulink Training

MATLAB for Financial Applications

Course Details

This three-day course provides a comprehensive introduction to the MATLAB® technical computing environment for financial professionals. The course is intended for beginning users and those looking for a review. No prior programming experience or knowledge of MATLAB is assumed. Themes of data analysis, visualization, modeling, and programming are explored throughout the course, with an emphasis on practical application to finance, such as time-series analysis, Monte Carlo simulation, portfolio management, and empirical modeling.

Topics include:

  • Working with the MATLAB user interface
  • Entering commands and creating variables
  • Importing and organizing data from spreadsheets and other data sources
  • Working with financial data in MATLAB
  • Working with dates and times
  • Visualizing data
  • Filtering datasets based on logical criteria
  • Automating commands with scripts
  • Writing programs with branching and loops
  • Writing functions
  • Performing data analysis, modeling, and simulation
  • Optimizing mean-variance portfolios

Day 1 of 3

Working with the MATLAB User Interface

Objective: Become familiar with the main features of the MATLAB integrated design environment and its user interfaces. Get an overview of course themes.

  • Reading data from files
  • Saving and loading variables
  • Plotting data interactively
  • Customizing plots
  • Exporting graphics for use in other applications

Variables and Commands

Objective: Enter MATLAB commands, with an emphasis on creating and accessing numeric and text data. Collect MATLAB commands into code files for reproduction and automation. Learn how to perform tasks such as data import, analysis, and report generation.

  • Entering commands
  • Creating numeric and text variables
  • Making and annotating plots
  • Getting help
  • Creating and running live scripts
  • Formatting and sharing live scripts

Working with Time Series

Objective: Import time-based data as a MATLAB timetable. Use variables to represent and manipulate dates and time durations.

  • Storing data in timetables
  • Operating on timetables
  • Creating vector variables
  • Accessing and manipulating data
  • Performing calculations with dates and durations

Day 2 of 3

Data Analysis

Objective: Perform mathematical and statistical calculations on numerical data. Use MATLAB syntax to perform preprocessing and analysis tasks on multiple price series with single commands.

  • Performing calculations on data
  • Interpreting matrix data
  • Using matrices for analysis
  • Visualizing matrix data

Conditional Data Selection

Objective: Analyze subsets of data that satisfy given criteria.

  • Logical operations and variables
  • Finding and counting
  • Logical indexing
  • Managing discrete variables using categorical arrays

Increasing Automation with Programming Constructs

Objective: Create flexible code that can interact with the user, make decisions, and adapt to different situations.

  • Programming constructs
  • User interaction
  • Retrieving data from datafeeds
  • Decision branching
  • Loops

Day 3 of 3

Increasing Automation with Functions

Objective: Increase automation by encapsulating modular tasks as user-defined functions. Understand how MATLAB resolves references to files and variables. Use MATLAB development tools to find and correct problems with code.

  • Creating functions
  • Calling functions
  • Setting the MATLAB path
  • Debugging
  • Using breakpoints

Fitting Models to Empirical Data

Objective: Preprocess data prior to model fitting. Fit probability distributions and linear models to data. Generate random numbers from a theoretical or fitted distribution.

  • Dealing with missing data
  • Fitting linear regression models
  • Fitting probability distributions
  • Simulating from distribution fits

Portfolio Creation

Objective: Use standard mean-variance metrics and a small set of portfolio constraints to define and analyze a set of feasible portfolio constraints to define and analyze a set of feasible portfolios.

  • The portfolio data type
  • Defining a universe of assets
  • Defining investment constraints
  • Estimating and visualizing an efficient frontier

Level: Fundamental


  • Undergraduate-level mathematics and experience with basic computer operations

This program has been approved by GARP and qualifies for 21 GARP CPD credit hours. If you are a Certified FRM or ERP, please record this activity in your credit tracker at

Duration: 3 days

Languages: English