MATLAB Fundamentals & Programmimng Techniques for Financial Applications


register


Course Highlights

This three-day course provides a comprehensive introduction to the MATLAB® technical computing environment for financial analysts and engineers. The course is intended for beginning users and those looking for a review. No prior programming experience or knowledge of MATLAB is assumed, and the course is structured to allow thorough assimilation of ideas through hands-on examples and exercises. MATLAB competency is developed in a natural way, with an emphasis on practical application to finance, such as time-series analysis, fixed-income security valuation, portfolio management, options and derivatives, and Monte Carlo simulation. Themes of data analysis, visualization, modeling, and programming are explored throughout the course. Topics include:

    • MATLAB User Interface
    • Working with MATLAB variables
    • Financial Data Input and Output
    • M-File Programming
    • Financial graphical visualization
    • Basic Statistics and Data analysis

Who Should Attend

Existing and prospective MATLAB users involved in financial services research, data analysis, and modeling

Course Benefits

Upon the completion of the course, the participants will gain a comprehensive understanding of MATLAB as a programming language and data analysis environment which is essential and useful for designing and building financial systems.

Prerequisites

No prior knowledge of MATLAB is required. Familiarity with basic computer operations is recommended.

Course Outline

Day 1

Working with the MATLAB User Interface
This chapter introduces the main features of the MATLAB® integrated design environment and its user interfaces. Many themes for the course are established in this chapter, to be explored in detail in later chapters.

  • Reading data from file
  • Saving and loading variables
  • Plotting data
  • Customizing plots
  • Calculating statistics and best-fit line
  • Exporting graphics for use in other applications

Variables and Expressions
This chapter introduces the concept of entering MATLAB® commands. Creating and accessing data in variables is emphasized.

  • Entering commands
  • Creating variables
  • Getting help
  • Accessing and modifying values in variables
  • Creating character variable

Analysis and Visualization with Vectors
This chapter concentrates on performing mathematical and statistical calculations with vectors, and creating basic visualizations. The benefit of MATLAB® syntax is demonstrated as it allows for calculations on whole data sets with a single command.

  • Calculations with vectors
  • Plotting vectors
  • Basic plot options
  • Annotating plot

Analysis and Visualization with Matrices
This chapter focuses on matrices. Matrices can be used as mathematical objects, or as collections of (vector) data. The appropriate use of MATLAB® syntax to distinguish between these applications is highlighted.

  • Size and dimensionality
  • Calculations with matrices
  • Plotting multiple columns
  • Reshaping and linear indexing
    • Multidimensional arrays
    • Statistics with matrix data

    Automating Commands with Scripts
    As the complexity of your tasks increases, entering long sequences of commands in the Command Window becomes impractical. This chapter focuses on collecting MATLAB® commands into scripts for ease of reproduction and experimentation.

    • A modeling example
    • The Command History
    • Creating script files
    • Running scripts
    • Cell

    Day 2

    Working with Data Files
    This chapter considers the common important task of bringing data into MATLAB® from formatted files. Because imported data can be of a wide variety of types and formats, emphasis is given to working with cell arrays and date formats.

    • Importing data
    • Mixed data types
    • Cell arrays
    • Numbers, strings, and dates
    • Exporting dat

    Multiple Vector Plots
    This chapter focuses on making more complex vector plots: making multiple plots, and using color and string manipulation techniques to produce eye-catching visual representations of data.

    • Graphics structure
    • Multiple figures, axes, and plots
    • Plotting equations
    • Using color
    • Customizing plot

    Logic and Flow Control
    This chapter highlights the use of logical operations, variables, and indexing techniques to create flexible code that can make decisions and adapt to different situations. Other programming constructs are considered as well, for repeating sections of code, and allowing interaction with the user.

    • Logical operations and variables
    • Logical indexing
    • Flow control
    • Loops
    • User input and output
    • Publishing cod

    Data Analysis
    This chapter focuses on performing typical data analysis tasks in MATLAB®. Emphasis is given to developing and fitting theoretical models to real-life data. This leads naturally to one of the most powerful features of MATLAB: solving linear systems of equations with a single command

    • Correlation
    • Fitting and interpolation
    • Smoothing
    • Regression models
    • Solving linear systems of equations
    • Spectral analysis and FFTs

    Day 3

    Writing Functions
    This chapter demonstrates how to increase automation by encapsulating modular tasks as user-defined functions. Understanding how MATLAB® resolves references to files and variables is highlighted.

    • Creating functions
    • Calling functions
    • Workspaces
    • Subfunctions
    • Path and precedenc

    Troubleshooting Code and Improving Performance
    Very few programs work perfectly at the first attempt. Tracking down all possible problems and unintended behaviors of a program takes time and effort. In this chapter we discuss the tools available in MATLAB to assist in the debugging process. We also highlight techniques for measuring code performance.

    • Debugging with the MATLAB® Editor
    • Using breakpoints
    • Measuring code performanc

    Data Types
    Data types differ from one another in the kind of data they may contain and the way the data is organized. This chapter introduces the types that have not been discussed elsewhere in the course, focusing on the syntax for creating variables and accessing array elements. The chapter also discusses methods for converting among data types.

    • MATLAB® data types
    • Integers
    • Cells
    • Structures
    • Function handles
    • Converting type

    File I/O
    As well as high-level data import and export functions, MATLAB® also provides low-level functions that allow precise control over text and binary file I/O. This chapter highlights the use of these functions, particularly textscan, which provides
    precise control of reading text files.

    • Opening and closing files
    • Reading and writing text files
    • Reading and writing binary files