ECG 766 – Computational Methods in Economics & Finance

ECG 766 – Computational Methods in Economics & Finance

Prof. Paul L. Fackler

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.


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

Suggested Textbook
Applied Computational Economics and Finance, Mario J. Miranda & Paul L. Fackler, MIT Press, 2002.

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. 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). 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 An excellent reference is available at:

Also see:


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 (these are located in the CEdemos sub-directory). Typing runall will run all of them. Do not wait until you need the toolbox to install it.


Course Overview

Intro to Numerical computing

Basic programming concepts and use of MATLAB.

Solving Linear Equations

Direct and iterative methods for solving linear equations.

Solving Non-Linear Equations

Newton and quasi-Newton methods.


Local and global methods for optimization on continuous domains

Interpolation and Function Approximation

Basics of interpolation schemes. Use of linear basis functions for interpolation and function approximation.

Solving Functional Equations

Weighted residual methods and collocation.

Solving Linear Differential Equations

Use of finite difference and function approximation methods to approximate solutions to linear ODEs and PDEs.

Pricing Derivative Assets

Use of arbitrage conditions to express derivative asset prices as partial differential equations. Pricing complex and exotic products.

Dynamic Programming and Real Options

Bellman’s equation in discrete and continuous time. Solution methods for discrete models and for real options models.