Financial Engineering and Computation Course
Financial Engineering and
(Est. September 1997)
Location 1: TBA, School of Management
Location 2: TBA, Computer Science & Information Engineering
10. Of course, I make a lot investing.
I only teach
so I can help young people.
Top Ten Lies Finance Professors Tell Their Students
When Professors Scholes and Merton and I invested in warrants,
Professor Merton lost the most money.
And I lost the least.
---Fischer Black (1938--1995)
More than half my students cannot write down
the formal definition of [the limit of a sequence]
---Harry M. Markowitz (1987)
Persons with practical experience in the financial industry
but with less of a mathematical background will be considered
but may be required to aquire additional skills in Mathematics.
---Master of Science in Financial Mathematics, The University of Chicago
A two-semester course, co-offered
with Prof. Hung Mao-Wei of the B-school
College of Management, National Taiwan University).
Required courses for the Financial
in the Dept.
International Business's Master's program,
starting Spring 1998.
Dynamic Asset Pricing Theory.
2nd ed. Princeton University Press, 1996.
- F. J.
and T. D. Fabozzi (Ed.), The
Handbook of Fixed Income Securities. 4th ed.
- R. Jarrow
and S. Turnbull, Derivative Securities.
D. G. Luenberger,
New York: Oxford University Press, 1998.
Ritchken, Derivative Markets: Theory,
- W. F. Sharpe, G. J. Alexander, and J. V. Bailey,
Investments. 5th ed.
- S. M. Sundaresan,
Fixed Income Markets and Their Derivatives.
- Teaching Assistants
- Internet Resources
To Students with
This course is the result of the interaction between three disciplines:
financial economics (especially asset pricing),
computer science (especially algorithms and software design),
mathematics (especially statistics and stochastic processes,
which are often not considered parts of mathematics, but that is another story).
We do not assume you already had prior
knowledge in financial theory or, less importantly, economics;
in fact, we assume the students are new to the field.
Any necessary background information is included in the
handout Financial Engineering & Computation: Principles, Mathematics, Algorithms.
This handout had been used several times before.
It is your
responsibility to read the handout carefully
to bridge any gap in knowledge.
To Students with
You will learn a perhaps different perspective on finance,
especially as it pertains to pricing and software engineering.
Our emphasis on computation should add a new dimension and
toolbox to your existing knowledge and financial sense.
(But see Enrollments below.)
It is your
responsibility to learn to write in high-level programming
languages. We cannot impart that skill in the class.
If the mathematics proves hard going, you are expected to
fill in the gap by self-reading. The technicalities are not
beyond a motivated graduate student's reach. Be prepared
to devote a lot of your time to this class, because its load
is more in the tradition of engineering courses.
You will learn advanced mathematics, financial theories, and
good programming practices. Hopefully, this course will be
rewarding for those who are open-minded and are not afraid
to venture into new disciplines.
The major topics covered in the course, time permitting, are listed
below for your reference.
- Time value of money
- Discounting and compounding
- Bonds, mortgages, and annuities
- Duration, convexity, and
- Yield curve,
forward rate, and spot rate
- Arbitrage argument
- Option pricing theory
and its wide-ranging applications
- Black-Scholes analysis
- binomial option pricing model (BOPM)
forwards, and other derivatives: products
- The combinatorics of random walks
stochastic calculus, and
- Risk-neutral valuation
- Risk management
- Fixed-income securities with embedded options
and interest rate derivatives
- Asset Pricing
- No arbitrage,
- Mean-variance analysis
- Capital Asset Pricing Model (CAPM)
and Arbitrage Pricing Theory (APT)
- Portfolio management
- Interest rate models and their
- Option-adjusted spread (OAS) analysis
- Mortgage-backed securities (MBS)
- Numerical methods
- Monte Carlo methods
- Variance reduction (efficiency-improving) techniques
- Quasi-Monte Carlo method
- Solving partial differential equations
- Yield curve fitting
- Least-squares problems
- Time series
- Credit risk
Open book. You are welcome to truck books to the site.
Problem Sets and Programming Exercises
Homework should be turned in on time. No late
homework will be accepted without legitimate reasons.
Please treat each homework set as a take-home quiz; no
collaboration is allowed.
There will be programming
assignments. You are expected to write your own
codes and turn in your source code.
Do not copy or collaborate with fellow students.
(But discussion is allowed.)
Never ask your friends to write
programs for you.
Do program carefully.
It is much more important to get the numbers right than to get a
pretty user interface running. We will try all kinds of malicious
means to bring down your program. So do check for array boundaries,
etc. We strongly recommend the use of the
Input: price of the bond (% of par),
coupon rate of the bond (% of par),
maturity of the bond in years (assume the bond
pays one coupon per annum),
the horizon (in years from now),
the yield at the horizon (%),
and the reinvestment rate (%) between now and
the horizon date. Calculate the holding-period return rate (%).
All rates compounded once per annum.
Horizon date of course must be at most the maturity.
Due: Nov 5, 2001, with on-site demonstration.
Write a quadratic-time algorithm to price American puts and a linear-time
algorithm to price European puts. Both are based on the CRR binomial tree
explained in the lectures.
The underlying asset pays no dividends.
Inputs: S, X, tau (year), sigma (%), r (%), n.
Due: Dec 17, 2001, with on-site demonstration.
This assignment is fairly easy.
Change your algorithm of the previous assignment
to price European calls with the following choices for
u and d:
u = e^[sigma sqrt(tau/n)+(1/n) ln(X/S)] and
d = e^[ - sigma sqrt(tau/n)+(1/n) ln(X/S)].
Use Excel to plot the option values under the two algorithms
for parameters of your own choice with n=10,15,20, ..., 100 in the x-axis.
Observe their convergence.
Due: Jan 7, 2002, with on-site demonstration.
- The class will take 15 max. from the E-school and 15 max. from
the B-school. Priority will be given to students
of the Department of Computer Science & Information
Engineering and those in the Financial Engineering track of the
Department of International Business. By their backgrounds,
these students are new to finance.
The class is open to anyone who wants to audit it.
We found that mixing advanced students
with novices can be discouraging to the
latter. Therefore, we would implement
a policy of ensuring certain uniformity
among the students' familiarity
with the subject proper.
Those who are currently taking courses in
or the likes will be disallowed to take
Repeated takers are not allowed; the course
really doesn't change that much.
Non-programmers will be strongly discouraged
as the probability of passing this course is slim,
if possible at all (measure zero, so to speak).