# F5-conf-04 — VFI vs closed-form policy, optimal growth with log utility ## Question Planner maximises Σ β^t ln c_t s.t. y_{t+1} = (y_t − c_t)^α (full depreciation, TFP = 1). Compare the closed-form optimal consumption policy and value function with those obtained by value-function iteration (VFI) on the prescribed grid, using α = 0.36, β = 0.95. ## Data and exclusions Only `data/model.csv` (10 rows: α, β, grid spec, VFI tolerance, three evaluation points) is used. No exclusions. Grid: 400 points equally spaced in ln y on [0.05, 5.0] (log step 0.01154). Stopping rule: sup-norm change < 1e-8. Design notes recorded in `data_issues`: the evaluation points 0.5, 1, 2 are not grid nodes, so VFI output is linearly interpolated in ln y; VFI uses discrete choice of y' on the same grid. ## Method **Closed form (guess and verify).** Guess V(y) = a + b ln y. The Bellman RHS is ln c + β a + β b α ln(y − c). FOC: 1/c = αβb/(y − c) ⇒ c = y/(1 + αβb). Substituting back, the coefficient on ln y must satisfy b = 1 + αβb ⇒ b = 1/(1 − αβ), hence - **c(y) = (1 − αβ) y**, savings rate (y − c)/y = **αβ = 0.342**; - a = [ln(1 − αβ) + (αβ/(1 − αβ)) ln(αβ)] / (1 − β), so V(1) = a = −19.5244. The constant terms match identically, so the guess is verified. Assumptions: log (CRRA-1) utility, Cobb–Douglas technology with productivity 1, full depreciation (δ = 1), deterministic environment, and an interior solution (0 < c < y, guaranteed since 0 < αβ < 1 and ln c → −∞ as c → 0 or as savings → 0). **Contraction.** The Bellman operator T satisfies Blackwell's sufficient conditions—monotonicity (V ≤ W ⇒ TV ≤ TW) and discounting (T(V + k) = TV + βk)—so it is a contraction in the sup norm with modulus **β = 0.95** (on the bounded discretised problem; on the continuous unbounded-log problem the standard argument uses a weighted norm or restriction to a compact set of y, which the grid provides). **VFI.** State y on the grid; choice is next-period output y' on the same grid, so c = y − y'^{1/α}; infeasible pairs (c ≤ 0) get −∞. Starting from V₀ = 0, iterate V_{n+1}(y) = max_{y'} {ln c + β V_n(y')} (fully vectorised 400×400 matrix) until sup|V_{n+1} − V_n| < 1e-8. Policy and value are read at the evaluation points by linear interpolation in ln y. No optimal choice hit either grid boundary (diagnostic counts 0/0), so truncation of the grid does not bind. Deterministic; no random seed. ## Results | y | c closed form | c VFI | abs. diff | |---|---|---|---| | 0.5 | 0.32900 | 0.32882 | 0.00018 | | 1.0 | 0.65800 | 0.65899 | 0.00099 | | 2.0 | 1.31600 | 1.30963 | 0.00637 | - max_abs_error_policy = 0.00637 (≈0.5% of c at y = 2). - V(1): closed form −19.52441, VFI −19.52476 (diff 3.4e-4). - Savings rate (closed form) = 0.342; contraction modulus = 0.95. - VFI converged in 361 iterations; final sup change 9.997e-9. - Over the whole grid: max |policy error| = 0.0251 (largest at high y), max |value error| = 4.8e-4. ## Uncertainty There is no sampling uncertainty (deterministic model). The relevant error is numerical: (i) iteration error, bounded by β/(1−β)·final_sup_change ≈ 1.9e-7 in V; (ii) discretisation error of the choice set, which dominates. Because y' is restricted to grid nodes, the implied savings k = y'^{1/α} jumps in steps proportional to the local level spacing, which grows with y; this is why the policy error is largest at y = 2 and at the top of the grid. A side check outside the deliverable (same code, other grid sizes) gave grid-wide max policy errors of 0.061, 0.025, 0.013, 0.0068 for N = 200, 400, 800, 1600 — roughly first-order convergence in the grid step. Errors at the three individual evaluation points are not monotone in N (0.0059, 0.0064, 0.0014, 0.0008), because they depend on where each point falls relative to the grid nodes. ## Limitations and open issues - The validation covers one parameter point (α = 0.36, β = 0.95) and one grid (400 log-spaced points on [0.05, 5]); it does not establish accuracy for other parameters or grids. - The closed form relies on log utility, Cobb–Douglas technology, full depreciation and interior solutions; with δ < 1 or CRRA ≠ 1 no such closed form exists and this benchmark does not apply. - The discrete-choice VFI produces a step-function policy; continuous-choice methods (interpolated V with a continuous optimiser) or endogenous-grid methods would reduce the policy error considerably. Linear interpolation in ln y between nodes adds a small additional error at non-node evaluation points.