Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

πŸ› Dynamic Structural Models

ECO 629 β€” Studies in Quantitative Methods, Fall 2026

Stony Brook University

Graduate course at Stony Brook University, Fall 2026

How to solve dynamic structural models numerically, and how to estimate them from data. Single-agent discrete and continuous choice, micro-founded equilibrium models, and dynamic games β€” each with the estimation toolkit that goes with it: NFXP, MPEC, CCP, NPL and EPL.

Course entry in the SBU catalog

πŸ§‘β€πŸ« InstructorΒΆ

  • Fedor Iskhakov

  • Professor of Economics, Department of Economics

  • Email: fediskhakov@gmail.com

  • Web: Personal page

  • PhD from University of Oslo, 2009

I’m an applied microeconometrician and a computational economist working in the field of structural estimation of dynamic models of individual and strategic choice, with applications to labor economics, public economics, durable goods markets, household finance, industrial organization and dynamic games.

How many days have I spent on Long Island before coming to this lecture?

πŸ‘₯ Class introductionsΒΆ

  • What is your background?

  • What are your research interests?

  • What is your coding experience? Which languages?

  • What is your prior experience with dynamic programming and Bellman equations?

  • What is your experience in empirical applications and data analysis?

πŸ“† Course outlineΒΆ

Seven parts over 15 weeks, including two of project presentations. Each class may combine theory with live code. Homework is discussed at the start of the class that follows it on rotating basis.

The plan below is provisional and will be adjusted as we go.

DateTopic
Part I β€” Foundations and computational toolkit
Tue Aug 25Introduction to structural estimation β€” what a structural project consists of
Thu Aug 27Work environment and submission workflow; placement test; recursion
Tue Sep 1Algorithms and complexity
Thu Sep 3Root finding and optimization β€” bisection, Newton–Raphson, BHHH
Part II β€” Dynamic programming
Tue Sep 8Bellman equations and backwards induction in finite horizon
Thu Sep 10Contraction mappings, infinite horizon, value function and policy iteration
Part III β€” Single-agent dynamic discrete choice
Tue Sep 15The Rust bus engine replacement model
Thu Sep 17Newton–Kantorovich iterations and the poly-algorithm
Tue Sep 22Nested fixed point estimation (NFXP)
Thu Sep 24Mathematical programming with equilibrium constraints (MPEC)
Tue Sep 29Conditional choice probabilities and identification
Thu Oct 1Two-step CCP estimation
Tue Oct 6Nested pseudo-likelihood (NPL)
Thu Oct 8Unobserved heterogeneity and the EM algorithm
Tue Oct 13Fall break β€” no class
Part IV β€” Continuous choice and simulation-based estimation
Thu Oct 15Cake eating on a grid; function approximation
Tue Oct 20The same model solved many ways β€” accuracy and speed compared
Thu Oct 22The endogenous gridpoint method and consumption-savings models
Tue Oct 27DC-EGM for discrete-continuous choice
Thu Oct 29Method of simulated moments
Part V β€” Equilibrium models
Tue Nov 3Micro-founded equilibrium models β€” equilibrium trade in used cars Β Β·Β  project proposal due
Thu Nov 5Doubly nested fixed point estimation Β Β·Β  project clinic
Part VI β€” Games
Tue Nov 10Static games of incomplete information and multiplicity of equilibria
Thu Nov 12Dynamic entry games and their estimation
Tue Nov 17Directional dynamic games β€” finding all equilibria
Thu Nov 19Estimation of directional dynamic games
Part VII β€” Guest lecture and project presentations
Tue Nov 24Guest lecture β€” speaker and topic to be announced
Thu Nov 26Thanksgiving β€” no class
Tue Dec 1Project presentations I
Thu Dec 3Project presentations II; course wrap-up

We have a quite unique opportunity for course co-creation.

  • Which topics would you add to the list?

  • Which topics would you remove from the list?

🏑 When and where¢

Time

Tuesday and Thursday, 09:30 – 10:50

Room

SOCBEHAV SCI N601

Office hours

Tuesdays after the lecture, any time by appointment

In other courses, what happens when you miss a lecture?

πŸŽ“ AssessmentΒΆ

WeightComponent
70%Individual project, presentation and oral exam
30%Homework and in-class participation

ProjectΒΆ

An individual structural estimation project, carried out in the second half of the semester, with a written report and code submitted, and presented in class in the last week. Ideally it includes all the steps of a structural estimation project:

The model may be one of your own interest, or an extension/modification of one of the models covered in class β€” the bus engine replacement model, the inventory management model, the consumption-savings model, or one of the entry games.

Project proposal is due Tuesday, November 3, and should give a brief (max 2 pages) description of the project you intend to carry out together with a roadmap of the steps you intend to take. All proposals are discussed in the project clinic on Thursday, November 5.

Presentations take place on December 1 and 3, approximately 30 minutes each, with room for a live demo of the solver and estimator code, not just slides.

Oral exam β€” paper and documented code should be submitted before the exam week β€” and will be a conversation starter in the oral exam during the exam period.

HomeworkΒΆ

Homework is typically given on Tuesday and is due the following Thursday.

Homework to be submitted by pull request to the course repository; the workflow is set up in the first week.

πŸ’» SoftwareΒΆ

The course is intended in Python, yet you can discover equivalent code online in Matlab, Julia and other languages. Particular language is less important these days because we will be working with small examples.

By next time sets up the work environment, see πŸ’» Work environment and submission workflow.

Computers are expected in the lectures, you are encouraged to run the code examples in the lecture, and interact with the code and the slides in class.

The lecture notes are published at dse.iskh.me

The course code and exercises repository is at github.com/fediskhakov/sb_dse_class You will have access to the repository after sending me your GitHub username (register now if not yet).

πŸ€– AI policyΒΆ

The course is designed to be AI-friendly and to encourage the use of AI tools in the learning process.

You are welcome to use AI tools, but you bear all responsibility for the produced work.

In particular, it implies that you have to understand deeply every line of code or prose that you let AI produce on your behalf.

You have to verify the correctness of the code, and your understanding of the AI content and ability to modify it on the fly will be tested in the exam.

See AI adoption stages by Boris Cherny, the man behind Anthropic’s Claude Code.

Where level are you in using AI today?