MATH G6071:
Numerical Methods in Finance
Spring, 1998
Mondays and Wednesdays, 6:10pm-7:25pm, 417 Mathematics
Dave Bayer (x42643, 426 Mathematics)
Department page |
Bulletin page
http://www.math.columbia.edu/~bayer/S98/finance.html
Prerequisites: Basic principles of numerical analysis, and the ability
to program in Fortran, C or C++.
Familiarity with the basic principles
of partial differential equations, probability and stochastic
processes at the level of Stat W6501 (Stochastic Processes) and of
finance at the level of Math G4071 (Introduction to the Mathematics of
Finance).
Recommended co-requisite: Stat W6505 (Stochastic Methods in
Finance).
Syllabus:
Review of the basic numerical methods for Partial
Differential Equations, Variational Inequalities, and Free-Boundary
Problems. Numerical methods for solving Stochastic Differential
Equations. Random Number generation, Monte-Carlo techniques for
evaluating path-integrals. Numerical techniques for the valuation of
American, path-dependent and barrier options.
Course requirements:
- Programming assignments, submitted physically or by email
in any appropriate programming language.
The course will be taught using the C programming language, and all coding examples posted here
will be written in C. I will give some tutorial sessions on programming in
C, at 5:30pm on Wednesdays (in our regular classroom, before class).
- Final Examination, Monday, May 11, 7:10pm-10:00pm.
Take home final, due at the final examination,
where you are free to complete it if necessary.
Our final will test for an understanding of numerical methods that is
most easily obtained by completing the programming assignments. I will
be flexible in weighting the final, to accommodate students for which
the programming requirement is a particular challenge. All students
are urged, nevertheless, to learn to write simple programs, and to
learn the course material as well as if they had completed all
programming assignments. Students who do not complete any programming
assignments will receive a poor grade no matter how well they do on
the final. Students who complete all programming assignments will
undoubtedly ace the final; they will be easily recognized by their
relaxed composure at the final itself.
Office Hours: My office hours are Mondays and Wednesdays,
4:00pm-5:30pm, in my office, 426 Mathematics. I will often be around at other
times in the afternoon and after class; stop by, or check by email or phone.
Mathematica Notebooks used in class
- heatequ.nb studies numerical methods
for solving the heat equation (February 9, annotated).
- differences.nb studies numerical methods
for solving the heat equation (February 11, not annotated).
Required Texts:
-
Option Pricing: Mathematical Models and Computation,
Paul Wilmott, Jeff Dewynne, and Sam Howison,
Oxford Financial Press, 1993,
ISBN 0 952208202.
This text is available at the Columbia University Bookstore.
It can also be ordered directly from the publisher
(phone/fax +44 1249 659697) for £85 ($140),
including delivery by first class/air mail.
Publisher order forms: zipped Word document,
pdf format.
(Amazon.com)
- Peter E. Kloeden, Eckhard Platen, and Henri Schurz,
Numerical Solution of SDE Through Computer Experiment,
Springer-Verlag, 1997, ISBN 3540570748.
This text is available at the Columbia University Bookstore.
Note that the sample programs are written in Pascal, while we are working with C.
Other texts of interest:
- Paul Wilmott, Sam Howison, and Jeff Dewynne,
The Mathematics of Financial Derivatives : A Student Introduction
Cambridge University Press,
1995, ISBN 0521497892.
(Amazon.com)
An introductory version of Option Pricing at the startlingly lower price of
$25.95.
- Peter E. Kloeden, Eckhard Platen,
Numerical Solution of Stochastic Differential Equations
(Applications of Mathematics, Vol 23),
Springer-Verlag,
Corr. 2nd printing 1995, ISBN 0387540628.
(Amazon.com)
This is a more in-depth companion text to our required text by
Kloeden, Platen, and Schurz. Note that parts of this text study
stochastic techniques relevant to engineering problems, but irrelevant
to finance; they violate the "place your bet, then see if
you're going to win" paradigm of finance.
-
Darrell Duffie,
Security Markets : Stochastic Models
(Economic Theory, Econometrics, and Mathematical Economics),
Academic Press,
1988,
ISBN 012223345X.
(Amazon.com)
All advanced treatments of stochastic integration require an
understanding of "the usual assumptions" involving measure theory and
probability spaces. The mathematical sections of this book constitute
the most concise, inspired review of this material that I know of,
with financial interpretations fleshing out what could otherwise be
painfully dry going. Highly recommended for anyone trying to
jump-start a deeper understanding of stochastic methods in financial
mathematics, in preparation for reading various advanced texts.
-
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery,
Numerical Recipes in C : The Art of Scientific Computing (2nd Edition),
Cambridge University Press,
1993,
ISBN 0521431085.
(Amazon.com)
This book is justly famous; if you don't already know it, you should.
Reading its contents is no substitute for having spent one's career
researching numerical methods, as many a researcher (whose buttons
were undoubtedly pushed by this book) has observed to me. However, one
should begin the study of any covered numerical method by reading
every word on the subject in this concise yet vast tome. The code
itself is invaluable for practical use; it is designed with a balance between efficiency,
concision, and clarity in mind, in contrast to commercial libraries intended to be used
as black boxes.
This book and the accompanying C code is also available online at the
Numerical Recipes Home Page.
One can download all of the C code for a reasonable fee, or cut-and-paste C fragments as
needed from the online book (until you're hooked and you want to buy the
book and the code outright).
-
Donald Knuth,
The Art of Computer Programming : Seminumerical Algorithms (Vol 2, 3rd Ed),
Addison-Wesley,
1997,
ISBN 0201896842.
(Amazon.com)
This series of books is legendary, and essential on a computer science
bookshelf. The first three volumes, while dated, contain more
mathematics and algorithms relevant to computer science than most
practitioners ever learn. Knuth should be best known as the brilliant author of
this series, but he is perhaps actually best known as the author of the
TeX typesetting language for mathematics and science, in which
nearly all modern texts are composed. In an inspired example of
mathematical recursion, he stopped writing this series to develop
TeX, and then stopped developing TeX to develop the
Metafont language for describing the fonts used by TeX.
Anyhow, he managed to pop stack, and a fourth volume of this series is due soon.
The first portion of Volume 2, Seminumerical Algorithms, is a
definitive treatment of random number generators. The statistics
material alone (chi-square tests, etc.) is refreshingly approachable, and sure
beats trying to extract this material in a nutshell from most statistics texts.
-
Brian W. Kernighan, Dennis M. Ritchie,
The C Programming Language : ANSI C Version,
Prentice Hall,
1988,
ISBN 0131103628.
(Amazon.com)
This is the current revision of the original book on C, written by the
original authors of the C programming language. I learned to program
in C by reading this book, as have countless others. It reads with the
crisp elegance of great literature. In contrast, the C programming
book selection in most bookstores is an immense yet pitiful array of
garishly colored books by authors well-known to be paid by the page,
all promising to hold your hand in the least painful fashion. It is
often remarked that great mathematicians read original sources.
Certainly, the great programmers that I have met taught themselves by
reading original sources. This text is heartily recommended as the
first book to read for anyone learning C.
-
Samuel P. Harbison, Guy L. Steele,
C : A Reference Manual,
Prentice Hall,
1994,
ISBN 0133262243.
(Amazon.com)
This is the single definitive book that working C programmers keep handy, unless they are
using online help. It is useful for reviewing forgotten constructs, and for looking up how
to use C library functions. It plays the role of a dictionary if one is learning C by studying actual
programs. It can be read cover-to-cover, but that would take a certain mindset. I traditionally
color the edges of the page on C operator precedence in each new edition (p.181 in this edition),
in remembrance of the days when I was constantly turning to this page.