Demographic Change and Entrepreneurship: General Equilibrium Implications for Economic Dynamism

Published: 23 March 2026| Version 2 | DOI: 10.17632/rdbhghj8ww.2
Contributor:
Taejun Lim

Description

This replication package contains all code and data necessary to reproduce the quantitative results (tables and figures) in the paper. The model is a heterogeneous-agent overlapping generations (OLG) model with endogenous occupational choice (worker vs. entrepreneur), calibrated to the South Korean economy. The computational model is written in Fortran 90 with GPU acceleration (OpenACC/CUDA). A Python wrapper is used for the calibration procedure (Simulated Method of Moments). Figure 4 is generated using a Jupyter notebook.

Files

Steps to reproduce

All commands should be run from the replication/code/ directory. --- Step 0: Setup --- Copy input data to the code directory (the model reads from ./input/): cp -r ../data/input ./input mkdir -p ./output/benchmark ./output/2070_GE ./output/2070_PE \ ./output/2070_Low_r ./output/2070_Fiscal --- Step 1: Compile --- make release This compiles the Fortran source into the executable ./model using nvfortran. If using gfortran instead, modify the Makefile: - Change F90_COMP to gfortran - Replace BASE_FLAGS with: -O3 -fopenmp - Remove -acc=gpu and -gpu=cuda13.1 flags --- Step 2: Run Benchmark (Tables 2-4 calibration, Table 5 baseline) --- ./model This solves the 2020 stationary equilibrium and writes results to ./output/benchmark/. Runtime: ~1-2 minutes on GPU, ~10 minutes on CPU. Output file: output/benchmark/1_moment.txt --- Step 3: Run Counterfactual Experiments (Tables 5-11) --- ./model experiment This first solves the benchmark (if not already solved), then runs four 2070 counterfactual scenarios: 1. 2070 General Equilibrium (GE) -> output/2070_GE/ 2. 2070 Partial Equilibrium (PE) -> output/2070_PE/ 3. 2070 Low Interest Rate -> output/2070_Low_r/ 4. 2070 Fiscal Closure -> output/2070_Fiscal/ Runtime: ~5-10 minutes on GPU, ~40-60 minutes on CPU. --- Step 4: Generate Figure 4 --- cd ../figures/ jupyter notebook Figure4_Decomposition_Selection.ipynb Run all cells. The notebook reads the entrepreneurship-rate-by-z data from the model output and generates Figure 4 (Decomposition of the selection effect). The data values are embedded in the notebook. --- Step 5 (Optional): Run Calibration --- python calibration.py This runs the Simulated Method of Moments (SMM) calibration, which repeatedly calls the Fortran model. The calibration searches over 12 parameters to match 9 empirical moments. Runtime: several hours. NOTE: The final calibrated parameters are already stored in data/input/0_parameters.txt, so this step is not needed for replication.

Institutions

Categories

Fortran

Licence