Math in Finance with C++ Spring 2011 Study Plan Text(s) Lloyd N. Trefethen & David Bau, III (1997): Numerical Linear Algebra, SIAM Dan Stefanica (2008): A Primer for the Mathematics of Financial Engineering, FE Press Daniel J. Duffy (2004): Financial Instrument Pricing Using C++, Wiley Purpose The purpose of this study plan is to: a) Practice skills in applied mathematics b) Build a foundation of basic techniques for more advanced study in financial math c) Progress programming ability in C++ d) Develop a body of C++ programming for solving financial problems Schedule Section 1: Linear Algebra I) Refresher Lesson Plan: Refresher in pure linear algebra, basic matrix operations Study Material: Trefethen, Lectures 1-5 Radford, Math 320 Programming Project: Matrices Build a numerical vector & numerical matrix class in c++, drawing on Duffy Ch 6 & 7 Build a matrix operations function library to perform addition, subtraction, products and norms between matrices and vectors Add tests for positive definiteness, etc. to the matrix class (e.g. quadratic form) II) QR Factorization and Least Squares Lesson Plan: First direct method for solving systems of equations in numerical linear algebra Study Material: Trefethen, Lectures 6-11 Programming Project: Numerical Linear Algebra Build 3 matrix solutions classes: Full Matrix, Tridiagonal Matrix, and Block Tridiagonal Matrix Solvers (can be fleshed out moving forward) Add Modified Gram-Schmidt to solution classes, Trefethen Lecture 9 Add Householder QR factorization to solution classes, Trefethen Lecture 10 Add Solver to classes, see Trefethen Lecture 16, p 117 III) Gaussian Elimination Lesson Plan: Second direct method for solving systems of equations in numerical linear algebra Study Material: Trefethen, Lectures 20-23 Programming Project: Numerical Linear Algebra continued Add Gaussian elimination w partial pivoting to solution classes, Trefethen p 160 Add Cholesky factorization to solution classes, Trefethen p 175 Section 2: Financial Math I) Ordinary Differential Equations, Partial Differential Equations and Black Scholes Lesson Plan: Finite Differences and Black Scholes (on top of analytic classes built previously) Study Material: Stefanica Ch 6 Programming Project: based on book exercises II) Multivariable Calculus Lesson Plan: Double integrals, relative extrema, Box-Muller, Barrier Options Study Material: Stefanica Ch 7 Programming Project: based on book exercises III) Numerical Methods for non-linear problems Lesson Plan: Bisection, Secant and Newton’s Method, Optimal Investment Portfolios, Computing Yields, Implied Volatility, Bootstrapping Study Material: Stefanica Ch 8 Programming Project: based on book exercises Section 3: Working with Excel I) Excel Driver Lesson Plan: Understand and rebuild Duffy’s ExcelDriver class to work with my vector class Study Material: Duffy Ch 28 Programming Project: rebuild ExcelDriver class to work with toy example in Duffy p 352-353 II) Add-ins Lesson Plan: Create Excel Add-ins from c++ Study Material: Duffy Ch 29 Programming Project: create Add-in with one variable function, two variable function, vector function and matrix function III) Excel and Financial Math Lesson Plan: Build interface to use applications created so far in excel Study Material: N/A Programming Project: Build Add-ins, etc. pass data from excel to c++ and to utilize all tools created in an excel environment