ECG790C - Computational Methods in Economics and Finance Spring 2011
Nelson 2403 - MW 1
:30  2:45
Prof. Paul L. Fackler
4344 Nelson, 515-4535
paul_fackler@ncsu.edu
Office Hours: by appointment via email

</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.

Grades will be based on a series of homework sets (20%), 2 take-home and in-class exams that will count for 25% 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, 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
Feb. 14  first take-home posted
Feb. 21  first take home due at 1:00 PM
Feb. 21  first in-class exam
March 8  last day to drop without a grade
March 23  second take-home posted
March 30  second take home due at 1:00 PM
March 30  second in-class exam
April 29  Take-home final posted
May 6  Take-home final due at noon
May 6  In-class final exam (1-4 PM)

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 Student Health Center, Campus Box 7509, 515-7653. http://www.ncsu.edu/provost/offices/affirm_action/dss/

Online Course Evaluation

Online class evaluations will be available for students to complete during the last 2 weeks of spring term:
12 p.m. April 14 through 8 a.m. May 6
Students will receive an email message directing them to a website where they can login using their Unity ID and complete evaluations.  All evaluations are confidential; instructors will not know how any one student responded to any question, and students will not know the ratings for any instructors.

Evaluation website:  https://classeval.ncsu.edu/
Student help desk:  classeval@ncsu.edu

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:

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.

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)
Readings refer to chapters (C), sections (S) and appendices (A) of the main text

 10-Jan Class 1 Introduction to Numerical Computing C1, AB, Article 12-Jan Class 2 Computer Arithmetic A2, Article 17-Jan Holiday 19-Jan Class 3 Linear Equations C2, Notes 24-Jan Class 4 Non-Linear Equations C3.1-3.6 26-Jan Class 5 Sparse Systems of Equations and Complementarity Problems S3.6-3.8 31-Jan Class 6 Unconstrained Optimization S4.1-4.4 2-Feb Class 7 Statistical Computing S4.5 & Notes 7-Feb Class 8 Constrained Optimization S4.6 9-Feb Class 9 Global Optimization Jones, et al. & Notes 14-Feb Class 10 Numerical Integration S5.1, 5.2, 5.5 16-Feb Class 11 Numerical Differentiation 5.6 21-Feb Class 12 First In-Class Exam 23-Feb Class 13 Evolutionary Methods for  Differential Equations S5.7, ODESuite, Using Matlab, Ch. 14 28-Feb Class 14 Function Approximation S6.1-6.7 2-Mar Class 15 Function Approximation (cont.) 7-Mar Spring Break 9-Mar Spring Break 14-Mar Class 16 Functional Equations S6.8-6.9 16-Mar Class 17 PDEs 21-Mar Class 18 Derivatives Pricing S10.1 23-Mar Class 19 PDE Methods for Derivative Pricing S11.1 28-Mar Class 20 PDE Methods for Derivative Pricing (cont.) 30-Mar Class 21 Second In-class Exam 4-Apr Class 22 Dynamic Programming & Real Options Theory S8.1-8.4, 10.4 6-Apr Class 23 DP in Continuous Time - Discrete Controls S10.4, S11.4 & Article 11-Apr Class 24 DP in Continuous Time - Discrete Controls (cont.) 13-Apr Class 25 DP in Continuous Time (Infinite Controls) S10.5 & S11.5 18-Apr Class 26 DP in Continuous Time (Continuous Controls) S10.2-10.3, S11.2-11.3 20-Apr Class 27 DP in Discrete Time (Solution Techniques) S9.1-9.7 25-Apr Class 28 Rational Expectations Models S8.6, S9.9 & RESolve 27-Apr Class 29 Wrap up and review 6-May Final Exam 1-4PM (Friday)