Financial Math Spring 2011

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