MATLAB for Financial Applications
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.
- 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
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
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
- 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
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