ECG790C - Computational
Methods in Economics and Finance –Spring 2009
Dabney 220 - TT 10:15 – 11:30
Prof. Paul L. Fackler
4344 Nelson, 515-4535
Office Hours: Thursday 2:30-3:30 or by appointment
</span>Course web site: http://www4.ncsu.edu/~pfackler/ECG790C
Course
Description
Fundamental methods for formulating
and solving economic models will be developed. Emphasis will be on defining the
mathematical structure of problems and on practical computer methods for
obtaining model solutions. Major topics will include solution of systems of
equations, complementarity relationships and optimization. Both finite and
infinite dimensional problems will be addresses, the latter through the use of
finite dimensional approximation techniques. Particular emphasis will be placed
on solving dynamic optimization and equilibrium problems. Applications will be
drawn from finance, agricultural and resource economics, macroeconomics and
econometrics.
Prerequisites
Although there are not specific required courses, students registering for this course must have a reasonable background in mathematics, including college calculus, linear algebra and differential equations. In addition, some background in either computer programming or economic theory is necessary. Students who are not sure of their level of preparation for this course should consult the instructor.
Student Learning Outcomes
By the end of this course, students will
be able to:
.......identify and apply appropriate methods for solving
equations and optimization problems
.......compute numerical approximations to integrals and
derivatives
.......understand how to apply function approximation methods to solve
functional equations
.......model and solve basic financial derivatives models
.......model and solve discrete and continuous time dynamic
programming problems
.......design and document software to solve economic and/or financial
models
Required Textbook
Applied Computational Economics and Finance, Mario J. Miranda & Paul L. Fackler, MIT
Press, 2002.
Grading Policy
Grades will be based on a series
of homework sets (30%), 2 take-home exams that will count for 20% of the grade
each and a take–home and in-class final exam (30%). Grades will be given on an
A, B, C, D, F basis, to be interpreted as excellent, satisfactory,
unsatisfactory, unacceptable and failing. Homework and exams will be posted on
the course web site and you will have one week to complete them. Answers will
be posted one week later. Homework will be collected but not graded; you will
receive one point for satisfactory completion of a homework.
Homework & Exam Policies
You are encouraged to discuss homework problems with your classmates but should
develop your own answers. If you share computer code, you should understand and
be able to explain what the code does. I consider the homework to be an
essential part of the learning process; you cannot learn to formulate and solve
models without actively attempting to do so. If you wait until a quiz before
attempting to work problems you will be in for an unpleasant surprise.
READ CAREFULLY:
Take-home exams should not be discussed with any one else (except me) and
computer code for solving exam problems should not be shared. Evidence
of collaboration on quizzes will result in a grade of 0 for the exam, F for the
course or even expulsion from the university (see section below on academic
integrity).
Multiple files should be sent as a single compressed (ZIP) file (not RAR
files please). If not already on your computer, utilities for zipping files
are available on the internet. Responses to quiz questions should include a
document with answers to homework questions and/or documentation of your code.
I prefer that this be typed and emailed along with any relevant code - MS Word
DOC (not DOCX), PS, DVI or PDF formats are ok. If not typed, please strive to
make your answers legible and scan them to include with your zip file.
All computer code submitted should run without encountering error messages. If
you are having trouble debugging your code you should get help (from me) before
it is due. My answers will be posted to the web after the due date. Plan
accordingly; computer code generally takes at least twice as long to write as
you expect, even after you know what you want the code to do. If you wait until
the night before a homework is due, you will almost certainly not complete it
in time.
A document describing how homework and quizzes
should be prepared is available. An associated zip file
is also available. You should read this document carefully.
Important Dates
March 11 – last day to drop without a grade
April 23 – Take-home final posted
April 30 – Take-home final due (noon)
May 5 – In-class final exam (8 AM)
Academic Integrity
You should be aware of University policy on academic integrity: see Code
of Student Conduct.
The university has also adopted the following Honor Pledge:
"I have neither given nor
received unauthorized aid on this test or assignment."
It is assumed that students understand and agree with this pledge when
submitting exams.
Students with
Disabilities
Reasonable accommodations will be made for students with verifiable
disabilities.
In order to take advantage of available accommodations, students must register
with
Disability Services for Students at
1900
For more information on NC State's policy on working with students with
disabilities, please see http://www.ncsu.edu/provost/hat/current/appendix/appen_k.html
Computer programming
The basic computing language
used in the course is MATLAB, which provides a high-level interactive
programming and graphics environment. MATLAB is installed on machines in
Economics graduate student computing labs and on the UNITY system. Student
versions of MATLAB are also available for purchase. The booklet "Getting
Started with MATLAB" provides an introduction to the language. It is
available in PDF form on the MATLAB CD. You should work through this booklet
and explore MATLAB's demos as soon as possible. I have also written a MATLAB
Primer that can be downloaded. There is a ZIP file with the code files
discussed in the primer (Download Primer
Code Files). I will discuss the basics you will need in class. You should
also be aware that there are lots of resources for MATLAB user, the two most
important of which are the MathWorks Web
Site and the MATLAB discussion group (comp.soft-sys.matlab), where people
post questions and comments and hope for useful replies. The FAQ (Frequently
Asked Questions) page for the group is http://www.mit.edu/~pwb/cssm/.
An excellent reference is available at:
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/matlab_prog.pdf
Also see: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html
CompEcon Toolbox
You should install the CompEcon Toolbox
as soon as possible (follow the instructions in the README file) and make sure
that the demonstration files run correctly.
References
William F. Ames. Numerical Method for Partial Differential Equations, 3rd ed.
K.E. Atkinson. An Introduction to
Numerical Analysis, 2nd ed.
A.T. Bharucha-Reid. Elements of
the Theory of Markov Processes and Their Applications.
Eric Briys, et al. Options,
futures, and exotic derivatives : theory, application and practice.
D.R. Cox and H.D. Miller. The
Theory of Stochastic Processes.
J.E. Dennis, Jr. and R.B. Schnabel.
Numerical Methods for Unconstrained Optimization and Nonlinear Equations.
Avinash K. Dixit and Robert S. Pindyck. Investment Under Uncertainty.
Darrell Duffie. Dynamic Asset
Pricing Theory, 2nd ed.
R. Fletcher. Practical Methods of
Optimization, 2nd ed. P.E. Gill, W. Murray, and M.H. Wright. Practical Optimization.
Gene H. Golub, and James M. Ortega.
Scientific Computing and Differential Equations: An Introduction to Numerical
Methods.
G.H. Golub and C.F. van Loan.
Matrix Calculations, 2nd ed.
John C. Hull. Options, Futures
and Other Derivative Securities.
Peter Jäckel.
D. R. Jones, C. D. Perttunen, and B. E. Stuckman. “Lipschitzian
optimization without the Lipschitz constant.” Journal of Optimization Theory and Applications, 79(1):157-181,
October 1993.
Kenneth L. Judd. Numerical
Methods in Economics.
M.I. Kamien and N.L. Schwartz.
Dynamic Optimization: The Calculus of Variations and Optimal Control in
Economics and Management, 2nd ed.
Samuel Karlin and Howard M. Taylor. A
Second Course in Stochastic Processes, 2nd ed.
William J. Kennedy and James E. Gentle. Statistical Computing.
David R.
Kincaid and E. Ward Cheney. Numerical Analysis: Mathematics of
Scientific Computing.
Cleve Moler. Numerical Computing
with MATLAB. (http://www.mathworks.com/moler/chapters.html)
Salih N. Neftci. An Introduction
to the Mathematics of Financial Derivatives.
William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P.
Flannery. Numerical Recipes, 2nd ed.
Domingo Tavella. Quantitative
Methods in Derivatives Pricing: An Introduction to Computational Finance.
Domingo Tavella and Curt Randall.
Pricing Financial Instruments: The Finite Difference Method.
Paul Wilmott. Derivatives: The Theory and Practice of Financial Engineering.
Course Schedule (this is an approximation and may change
during the semester)
8-Jan |
Class 1 |
Introduction to Numerical
Computing |
C1, A2 & AB, Article, |
|
13-Jan |
Class 2 |
|
|
|
15-Jan |
Class 3 |
|
|
|
20-Jan |
Class 4 |
|
|
|
22-Jan |
Class 5 |
|
|
|
27-Jan |
Class 6 |
Linear Equations |
C2, Notes |
|
29-Jan |
Class 7 |
Non-Linear Equations |
C3.1-3.6 |
|
3-Feb |
Class 8 |
Complementarity Problems |
S3.6-3.8 |
|
5-Feb |
Class 9 |
Unconstrained Optimization |
S4.1-4.4 |
|
10-Feb |
Class 10 |
Statistical Computing |
S4.5 & Notes |
|
12-Feb |
Class 11 |
Constrained & Global Optimization |
S4.6, Jones, et al. & Notes |
|
17-Feb |
Class 12 |
Numerical Differentiation & Integration |
S5.1-5.6 |
|
19-Feb |
Class 13 |
Evolutionary Methods for
Differential Equations |
S5.7, ODESuite,
Using |
|
24-Feb |
Class 14 |
Function Approximation |
S6.1-6.7 |
|
26-Feb |
Class 15 |
Function Approximation (cont.) |
|
|
3-Mar |
Spring Break |
|
|
|
5-Mar |
Spring Break |
|
|
|
10-Mar |
Class 16 |
Functional Equations |
S6.8-6.9 |
|
12-Mar |
Class 17 |
PDEs |
|
|
17-Mar |
Class 18 |
Derivative Pricing |
S10.1 |
|
19-Mar |
Class 19 |
PDE Methods for Derivative Pricing |
S11.1 |
|
24-Mar |
Class 20 |
PDE Methods for Derivative Pricing (cont.) |
|
|
26-Mar |
Class 21 |
PDE Methods for Derivative Pricing (cont.) |
|
|
31-Mar |
Class 22 |
Dynamic Programming & Real Options Theory |
S8.1-8.4, 10.4 |
|
2-Apr |
Class 23 |
DP in Continuous Time - Discrete Controls |
S10.4, S11.4 & Article |
|
7-Apr |
Class 24 |
DP in Continuous Time - Discrete Controls (cont.) |
|
|
9-Apr |
Class 25 |
DP in Continuous Time (Infinite Controls) |
S10.5 & S11.5 |
|
14-Apr |
Class 26 |
DP in Continuous Time (Continuous Controls) |
S10.2-10.3, S11.2-11.3 |
|
16-Apr |
Class 27 |
DP in Discrete Time (Solution Techniques) |
S9.1-9.7 |
|
21-Apr |
Class 28 |
Rational Expectations Models |
S8.6, S9.9 & RESolve |
|
23-Apr |
Class 29 |
Wrap up and review |
|
|
|
|
|
|
|
5-May |
Final Exam |
8-11PM (Tuesday) |
|