MATLAB Fundamentals for Financial Applications

Prerequisites

Undergraduate-level mathematics and experience with basic computer operations.

Detailed course outline

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
  • Customizing plots
  • Calculating statistics and best-fit line
  • Exporting graphics for use in other applications
Variables and Expressions

Objective: Enter MATLAB commands, with an emphasis on creating and accessing data in variables.

  • Entering commands
  • Creating variables
  • Getting help
  • Accessing and modifying values in variables
  • Creating character variables
Analysis and Visualization with Vectors

Objective: Perform mathematical and statistical calculations with vectors, and create basic visualizations. Use MATLAB syntax to perform calculations on whole data sets with a single command.

  • Calculations with vectors
  • Plotting vectors
  • Basic plot options
  • Annotating plots
Analysis and Visualization with Matrices

Objective: Use matrices as mathematical objects or as collections of (vector) data. Understand the appropriate use of MATLAB syntax to distinguish between these applications.

  • Size and dimensionality
  • Calculations with matrices
  • Statistics with matrix data
  • Plotting multiple columns
  • Reshaping and linear indexing
  • Multidimensional arrays
Day 2 of 3
Automating Commands with Scripts

Objective: Collect MATLAB commands into scripts for ease of reproduction and experimentation. Divide scripts into logical sections for development, maintenance, and publishing.

  • The Command History
  • Creating script files
  • Running scripts
  • Code sections
  • Publishing scripts
Working with Data Files

Objective: Bring data into MATLAB from formatted files.

  • Importing from fixed-structure files
  • Importing from spreadsheets and delimited text files
  • Low-level file I/O
Working with Text and Dates

Objective: Access and manipulate text and date information using cell arrays.

  • Cell arrays
  • Converting between numbers and text
  • Dates in MATLAB
  • Plotting with dates
Multiple Vector Plots

Objective: Make more complex vector plots, such as multiple plots, and use color and string manipulation techniques to produce eye-catching visual representations of data.

  • Graphics structure
  • Multiple figures, axes, and plots
  • Plotting functions
  • Using color
  • Customizing plots
Logic and Flow Control

Objective: Use logical operations, variables, and indexing techniques to create flexible code that can make decisions and adapt to different situations. Explore other programming constructs for repeating sections of code and constructs that allow interaction with the user.

  • Logical operations and variables
  • Logical indexing
  • Programming constructs
  • User interaction
  • Flow control
  • Loops
Day 3 of 3
Matrix and Image Visualization

Objective: Visualize matrix data in two or three dimensions.

  • Vector and matrix data
  • 3D matrix visualization
  • 2D matrix visualization
  • Indexed images and colormaps
Data Analysis

Objective: Perform typical data analysis tasks in MATLAB, including developing and fitting theoretical models to real-life data. Solve linear systems of equations with a single command.

  • Dealing with missing data
  • Correlation
  • Smoothing
  • Spectral analysis and FFTs
  • Regression models
  • Solving linear systems of equations
Writing Functions

Objective: Increase automation by encapsulating modular tasks as user-defined functions. Understand how MATLAB resolves references to files and variables.

  • Creating functions
  • Calling functions
  • Workspaces
  • Subfunctions
  • Path and precedence
Troubleshooting Code and Improving Performance

Objective: Explore MATLAB tools for debugging and measuring code performance.

  • Debugging with the MATLAB Editor
  • Using breakpoints
  • Measuring and improving code performance
Data Types

Objective: Create variables and access array elements for the various data types available in MATLAB. Convert from one data type to another.

  • MATLAB data types
  • Integers
  • Structures
  • Function handles
  • Converting types