Projection Methods with Neoclassical Growth Model Application (Link to GitHub Repository)

This repository contains implementations of numerical methods for solving dynamic economic models, focusing on Projection Methods (Chebyshev Polynomials) and their application to the Neoclassical Growth Model (NGM).

Project Overview

The project is structured to demonstrate:

  1. Direct Implementation of Projection Methods: Using Chebyshev polynomials to approximate value and policy functions.
  2. Application: Solving the Stochastic NGM with Endogenous Labor Supply using global solution methods.

1. Function Approximation & Teaching Material

The following figures illustrate the core concepts of function approximation, demonstrating the convergence properties and structural advantages of Chebyshev projection methods.

Example 1: Convergence with Number of Points

Convergence with Points

Chebyshev Approximation: Smooth vs Non-Smooth Functions

Smooth vs Non-Smooth

Chebyshev vs Taylor Polynomial: Exponential Function

Chebyshev vs Taylor Exp

Chebyshev Approximation: Curvy Function

Chebyshev Curvy

Taylor Polynomial Approximation: Curvy Function

Taylor Curvy


2. Neoclassical Growth Model (NGM)

Calibration Parameters

The model is calibrated using standard quarterly parameters:

ParameterValueDescription
$\beta$0.99Discount Factor
$\alpha$0.33Capital Share
$\delta$0.025Depreciation Rate
$\nu$1.0Frisch Elasticity
$\rho$0.95Persistence of Productivity Shock
$\sigma$0.02Std. Dev. of Innovation
$L_{ss}$0.33Target Labor Supply (Steady State)

Deterministic Solution Comparison

Deterministic Comparison

Stochastic NGM with Endogenous Labor Supply

Policy Functions & Results

The stochastic solution provides the policy functions for $c(k,z)$ and $l(k,z)$.

2D Policy Functions

Policy Functions Z1

Euler Equation Errors: Convergence and Accuracy

Measurement of numerical precision as a function of the polynomial degree ($n$). As $n$ increases, the Euler residuals vanish, demonstrating high global accuracy.

Degree $n=3$Degree $n=5$
Euler n3Euler n5
Degree $n=10$Degree $n=20$
Euler n10Euler n20

Repository Structure

  • ./: Core implementations and comparisons.
    • chebyshev_loglinear_comparison/: Codes for the comparison study.
    • solve_NGM_model/: Stochastic NGM with endogenous labor.

Requirements

  • Python 3.x
  • NumPy, SciPy, Matplotlib

    </div>