# MATLAB

8-hours course

This course reviews the basics of MATLAB, which are useful to practice the Body of Knowledge of the ARPM Certificate
Environment and interface
Variables: arrays, numeric, logical, structures, string character arrays, cell arrays
Data handling: table, timetable, and datetime
Syntax and control structures (if-else, for loops, while loops, switch-case)
Scripts, function definition, simple classes
Optimization: intro to linear and nonlinear optimization, CVXOPT
Linear algebra
Plotting
Machine learning and Neural Networks
Documentation and debugging
Derivative and chain rule (instantaneous forward rate)
Taylor polynomial (Taylor approximations)
Fundamental theorem of calculus (transformation of a random variable)
Integration by parts formula (the P&L of trading strategy)
Partial derivative, directional derivative, and gradient (Derivatives; Greeks)
Iterated integral (marginalization, e.g. uniform bivariate)
Chain rule for multivariate function (Euler decomposition)
Convexity and Hessian matrix (convexity analysis)
Change of variables and Jacobian (pdf of an invertible function; pdf of a copula)
Relative extremum (mode)
Unconstrained optimization problem (mode)
Constrained optimization problem (linear programming; convex programming)
The method of Lagrange multipliers (views processing)
Functional (e.g. mean; variance; median; mode)
Euler-Lagrange equation (P&L optimization: Almgren-Chriss model)
Row operations and rank of a matrix
Matrix manipulations (matrix algebra; matrix calculus)
Linear independence, spanning, and basis (market completeness)
Inverse of a matrix (pseudo-inverse)
Trace and determinant of a square matrix (properties of trace)
Diagonalization of symmetric matrices (spectral theorem example)
The Gram-Schmidt procedure (Gram-Schmidt)
Positive definite matrices (covariance; modal square-dispersion)
Geometry of portfolios
Environment and interface
Variables: float, integer, string, boolean, list, tuple, numpy array
Data handling: Pandas
Syntax and control structures (if-else, for, while, break)
Functions definition, modules
Optimization: cvxopt and SciPy
NumPy and matrix decomposition
Plotting: Matplotlib (pyplot)
Documentation and debugging
Machine learning: scikit-learn
Stress-testing in banks
Enterprise risk management - Practice