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.

Grading Policy
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)

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

 

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
More information about ClassEvalhttp://www.ncsu.edu/UPA/classeval/

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.

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

Notes

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)