|
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
|