Week 8 Homework Feedback: Davide Magnini
Week 8 Homework Feedback: Davide Magnini
Assignment: Dynamic Programming & Value Function Iteration with Population Growth
Week: 8
Date: Week 8 Assessment
✅ Overall Assessment
Result: ✅ More than 50% Correct
The submission demonstrates good understanding of VFI and includes well-implemented parameter experiments with different β and α values. The consumption matrix correctly includes the (1+n) factor (line 27), and the code structure is clear. The submission includes valuable bonus work comparing n=0 vs n>0 cases. However, there are some missing elements: the value function convergence plot is not created (no V_history storage), and interpretation comments on how population growth affects steady state are minimal. The parameter experiments are correctly implemented, and the simulation of capital and consumption paths is accurate.
Task-by-Task Check
✅ Task 1: Correct Consumption Matrix with (1+n) Factor
Status: ✅ Correct
- Lines 27-28:
cons = f + (1-delta)*kgrid - (1+n) * kgrid';— CORRECT - Includes comment explaining population growth requirement
- The consumption matrix correctly includes the (1+n) factor for population growth
- Code structure computes n=0.01 first, then later compares with n=0, which is fine
✅ Task 2: Value Function Iteration Implementation
Status: ✅ Correct
- Lines 34-44: Proper VFI loop with Bellman update
- Correct maximization:
max(util(i,:) + beta*V') - Proper convergence criterion:
max(abs(Vnew - V)) < 1e-6
❌ Task 3: Convergence History Storage
Status: ❌ Missing
- No storage of V_history during iterations
- Cannot create convergence plot
✅ Task 4: Policy Function Extraction
Status: ✅ Correct
- Line 39: Extracts policy indices during VFI:
[Vnew(i), pol_ind(i)] = max(...) - Line 45: Maps to policy function:
policy = kgrid(pol_ind)
✅ Task 5: Policy Function Plot with 45° Line
Status: ✅ Correct
- Lines 52-81: Policy function plot with 45° line (line 65)
- Shows multiple (β, α) combinations
- Proper labels and legend
✅ Task 6: Capital Path Simulation
Status: ✅ Correct
- Lines 92-102: Simulates capital path using policy function
- Uses interpolation:
interp1(kgrid, T_policy{:,j}, kpath{t,j}) - Correct initial condition: k0 = 0.5
✅ Task 7: Consumption Path Simulation
Status: ✅ Correct
- Lines 120-133: Computes consumption using resource constraint
- Line 128: Correct formula:
cpath{t,j} = k_now^alpha + (1 - delta)*k_now - (1+n) * k_next - Includes (1+n) factor correctly
✅ Task 8: Capital Path Plot
Status: ✅ Correct
- Lines 104-114: Plots capital paths for different (β, α) combinations
- Proper labels, legend, and formatting
- Saved to Figures/ directory
✅ Task 9: Consumption Path Plot
Status: ✅ Correct
- Lines 135-145: Plots consumption paths for different (β, α) combinations
- Proper labels, legend, and formatting
- Saved to Figures/ directory
✅ Task 10: Parameter Experiments (β and α)
Status: ✅ Correct
- Lines 6, 22-50: Loops over β ∈ {0.9, 0.95, 0.98} and α ∈ {0.25, 0.30, 0.40}
- Stores results in tables for comparison
- Well-structured implementation
✅ Task 11: Policy Functions for Different Calibrations
Status: ✅ Correct
- Lines 52-81: Plots policy functions for all (β, α) combinations
- Includes 45° line for steady-state visualization
- Bonus: Also compares n=0 vs n=0.01 (lines 193-230)
✅ Task 12: Capital Paths for Different Calibrations
Status: ✅ Correct
- Lines 104-114: Plots capital paths for all (β, α) combinations
- Shows transition dynamics for each calibration
❌ Task 13: Value Function Convergence Plot
Status: ❌ Missing
- No convergence plot created
- V_history is never stored during VFI iterations
✅ Task 14: Figure Saving to Figures/ Directory
Status: ✅ Correct
- Line 83: Creates Figures/ directory
- Lines 84, 114, 145, 230: All figures saved to Figures/ directory
- Uses PDF format with high resolution
⚠️ Task 15: Interpretation Comments
Status: ⚠️ Partial
- Lines 86-90: Basic interpretation of β and α effects
- Lines 116-118: Comments on capital path convergence
- Missing: Interpretation of how population growth (n) affects steady state and policy functions
- The n=0 vs n>0 comparison (lines 232-234) has minimal interpretation
Task Summary: 11/15 tasks fully correct, 1 task incorrect (convergence plot), 1 task partial (interpretation), 2 tasks need clarification
Grade: ✅ (11/15 = 73% > 50% correct)
Technical Implementation
Strengths:
- Correct Parameter Experiments: Well-implemented loops over β and α values as required.
- Bonus n Comparison: Includes valuable comparison between n=0 and n>0 cases.
- Proper Simulation: Correctly simulates capital and consumption paths with proper resource constraints.
- Table Organization: Uses tables to store results, which is clean and organized.
Critical Issues:
-
Missing Convergence Plot: The value function convergence plot is a required deliverable but is completely missing. Need to store V_history during VFI iterations.
-
Code Structure Confusion: The code computes results for n=0.01 first (lines 16-91), then recomputes for n=0 (lines 149-231). While both implementations are correct, the structure is confusing. It would be clearer to compute n=0 first as baseline, then n>0.
Areas for Improvement:
- Interpretation: Missing detailed comments on how population growth affects the model, especially the steady-state comparative statics.
- Convergence Tracking: Need to add V_history storage to enable convergence visualization.
Style & Clarity
Strengths:
- Good Organization: Clear sections with comments
- Table Usage: Effective use of tables for storing results
- Proper Variable Naming: Clear variable names
Areas for Improvement:
- Code Structure: The flow is confusing - computes n=0.01 first, then n=0. Consider reorganizing.
- Comments: Could add more detailed comments explaining the economic intuition, especially for the n comparison.
- Interpretation Section: The interpretation comments are minimal. Need more detailed discussion of parameter effects.
Visual Output Assessment
Strengths:
- Comprehensive Plots: Includes policy functions, capital paths, and consumption paths
- Multiple Calibrations: Shows results for different (β, α) combinations
- Bonus Comparison: Includes n=0 vs n>0 comparison plots
- Proper Formatting: Figures have labels, legends, and titles
Missing:
- Value Function Convergence Plot: This is a required deliverable but is completely absent.
Suggestions for Improvement
- Add Convergence Plot (CRITICAL): Store V_history during VFI iterations and create a convergence plot showing how the value function evolves. Add code like:
V_history = []; store_iter = [1, 5, 10, 25, 50, 100]; while diff > 1e-6 % ... VFI update ... if ismember(iter, store_iter) V_history(:,end+1) = V; end end % Then plot convergence - Add Population Growth Interpretation: Include detailed comments explaining:
- How higher n reduces steady-state capital per worker (dilution effect)
- The economic intuition: population growth requires more capital to equip new workers
- Comparison of policy functions: n>0 shifts policy function downward relative to n=0
-
Reorganize Code Structure: Consider computing n=0 case first as baseline, then n>0 cases. This makes the comparison clearer.
- Expand Interpretation Comments: Add more detailed discussion of:
- How β affects savings behavior (patience → higher k*)
- How α affects steady state (higher productivity → higher k*)
- How these effects interact with population growth
Summary
Davide’s submission demonstrates good understanding of VFI and includes well-implemented parameter experiments with different β and α values. The code correctly includes the (1+n) factor in the consumption matrix. The submission includes valuable bonus work comparing n=0 vs n>0 cases. However, there are two key missing elements: (1) the value function convergence plot (required deliverable), and (2) detailed interpretation comments on how population growth affects the model. 11/15 tasks fully correct (73% > 50%), with the main gaps being the missing convergence plot and incomplete interpretation. The submission would benefit from adding convergence tracking and more detailed economic interpretation, especially regarding population growth effects.