Documentation

LeanPool.AiyagariEquilibrium.Models.IncomeFluctuationConsumption

The consumption function #

Numbered Light references use the October 31, 2018 author draft, printed page 13: https://www.researchgate.net/publication/314238962

consumptionFn z a is what the household actually eats at assets a: cash on hand less the optimal saving. Light (2018) Theorem 1 needs three things from it — positivity, monotonicity, and CONCAVITY in assets (his Lemma 5). The first two are proved here. The third is not, and this file says exactly why.

Consumption rises with assets #

consumptionFn_mono is the theorem of this file, and it is the mirror image of policy_mono. That one swapped the two households' savings and used increasing differences of u; this one swaps them by the SAME resource gap, b ↦ b + Δ and b' ↦ b' - Δ, which leaves every consumption level untouched and moves only the continuation. So the roles are exchanged: the argument runs on increasing differences of the CONTINUATION, and it is again ConcaveOn.sub_le_sub_of_shift — applied to cont rather than to u.

Together the two say the marginal propensities are both non-negative:

0 ≤ c(a') - c(a) ≤ resources(a') - resources(a) for a ≤ a',

which is sub_le_sub_of_le_resources. Neither half needs a derivative.

Concavity is NOT free, and this file does not prove it #

It would be pleasant if concavity of c followed from concavity of u and of the value function, the way monotonicity does. It does not. With CRRA u and a continuation of constant absolute risk tolerance, the marginal propensity to consume is T_u(c) / (T_u(c) + T_W(b)) with T_u(c) = c/γ and T_W constant, which RISES with consumption — so the consumption function is CONVEX. Concavity therefore cannot follow from concavity of the two primitives; it needs the continuation to inherit the curvature of u, which is what makes it a statement about the FIXED POINT rather than about one application of the operator.

That is the Carroll and Kimball (1996) theorem — the Bellman operator preserves concavity of the consumption function when utility is HARA — and it is the shape of the closed-class arguments already used here for monotonicity, concavity, Lipschitz bounds and increasing differences. Light states it as his Lemma 5 and cites Jensen (2017) rather than proving it. It is left as a hypothesis: mul_marginal_le_of_scale takes it as an argument, and everything else that theorem needs about the consumption function is discharged here.

theorem LeanEconomics.IncomeFluctuation.concaveOn_cont {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (z : Z) :
ConcaveOn ℝ (Set.Icc assetFloor assetCap) (P.cont z)

The continuation value is concave in savings, being a non-negative combination of the value function's concave slices.

noncomputable def LeanEconomics.IncomeFluctuation.consumptionFn {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (z : Z) (a : ℝ) :

Consumption at the optimum, as a function of assets.

Equations
Instances For
    noncomputable def LeanEconomics.IncomeFluctuation.consumptionFnOf {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (v : BoundedContinuousFunction (ℝ × Z) ℝ) (z : Z) (a : ℝ) :

    The consumption function implied by an arbitrary continuation.

    Equations
    Instances For
      theorem LeanEconomics.IncomeFluctuation.consumption_policyOf_mem_dom {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (v : BoundedContinuousFunction (ℝ × Z) ℝ) {z : Z} {a : ℝ} (ha : a ∈ Set.Icc assetFloor assetCap) :

      Consumption at the optimum lies in the utility domain, whatever the continuation. This needs no positivity: the optimum's objective is a real number, so the reward is not ⊥.

      theorem LeanEconomics.IncomeFluctuation.consumptionFn_pos {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (hpc : P.PositiveConsumption) {a : ℝ} (ha : a ∈ Set.Icc assetFloor assetCap) (z : Z) :
      theorem LeanEconomics.IncomeFluctuation.maxSaving_le_add_sub {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {a a' : ℝ} {z : Z} (hle : a ≤ a') :

      The saving cap cannot grow by more than resources do.

      theorem LeanEconomics.IncomeFluctuation.consumptionFnOf_le_across_states {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {v : BoundedContinuousFunction (ℝ × Z) ℝ} (hv : ∀ (z : Z), ConcaveOn ℝ (Set.Icc assetFloor assetCap) fun (a : ℝ) => v (a, z)) {z₁ z₂ : Z} (hid : ∀ (x y : ℝ), x ∈ Set.Icc assetFloor assetCap → y ∈ Set.Icc assetFloor assetCap → x ≤ y → P.contOf v z₂ y - P.contOf v z₂ x ≤ P.contOf v z₁ y - P.contOf v z₁ x) {a a' : ℝ} (ha : a ∈ Set.Icc assetFloor assetCap) (ha' : a' ∈ Set.Icc assetFloor assetCap) (hres : P.resources (a, z₁) ≤ P.resources (a', z₂)) :
      P.consumptionFnOf v z₁ a ≤ P.consumptionFnOf v z₂ a'

      Consumption is ordered across states against a continuation whose increments are antitone in income.

      theorem LeanEconomics.IncomeFluctuation.consumptionFnOf_mono {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {v : BoundedContinuousFunction (ℝ × Z) ℝ} (hv : ∀ (z : Z), ConcaveOn ℝ (Set.Icc assetFloor assetCap) fun (a : ℝ) => v (a, z)) {a a' : ℝ} {z : Z} (ha : a ∈ Set.Icc assetFloor assetCap) (ha' : a' ∈ Set.Icc assetFloor assetCap) (hle : a ≤ a') :

      Consumption rises with assets, whatever the continuation. The exchange argument of consumptionFn_mono, run against v.

      theorem LeanEconomics.IncomeFluctuation.consumptionFn_mono {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {a a' : ℝ} {z : Z} (ha : a ∈ Set.Icc assetFloor assetCap) (ha' : a' ∈ Set.Icc assetFloor assetCap) (hle : a ≤ a') :

      Consumption rises with assets. The two households swap savings plans shifted by their resource gap, which leaves consumption alone and moves only the continuation — so the comparison is increasing differences of the continuation, exactly as policy_mono is increasing differences of u.

      theorem LeanEconomics.IncomeFluctuation.sub_le_sub_of_le_resources {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {a a' : ℝ} {z : Z} (ha : a ∈ Set.Icc assetFloor assetCap) (ha' : a' ∈ Set.Icc assetFloor assetCap) (hle : a ≤ a') :

      The marginal propensities are both non-negative. Consumption rises with assets, and by no more than resources do — the second half is policy_mono.

      theorem LeanEconomics.IncomeFluctuation.monotoneOn_consumptionFn {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) (z : Z) :
      MonotoneOn (P.consumptionFn z) (Set.Icc assetFloor assetCap)

      A linear lower bound on consumption makes assets decline #

      Ma and Toda study asymptotic linearity in an UNCAPPED savings problem. Corollary 2.10 of their March 8, 2021 draft gives the following asymptotic marginal propensity under its standing assumptions, bounded relative risk aversion, constant discount and return, and R ≥ 1. The standing infinite-horizon assumptions include β R < 1 and regular variation of marginal utility with index -γ, where γ > 0:

      c_bar = 1 - (β R^(1-γ))^(1/γ).

      No identification of that uncapped problem with this capped household is asserted. What is proved here is a conditional implication: a linear lower bound on consumption forces assets to fall above an explicit threshold. That is precisely the hypothesis hdecl of exists_exhaust_of_decline, on which the whole Doeblin uniqueness and convergence argument rests, and which has been a raw assumption until now.

      For the displayed candidate slope, the algebraic growth factor is (1 - c_bar) R = (β R)^(1/γ) — one_sub_mpc_mul_of_asymptotic, below — so the condition (1 - ε) (1 + r) < 1 demanded by policy_lt_self_of_consumption_lower_bound is exactly β R < 1. The lower-bound premise remains explicit; the identity alone supplies no asset bound.

      theorem LeanEconomics.IncomeFluctuation.one_sub_mpc_mul_of_asymptotic {β R γ : ℝ} (hβ : 0 ≤ β) (hR : 0 < R) (hγ : 0 < γ) :
      (β * R ^ (1 - γ)) ^ (1 / γ) * R = (β * R) ^ (1 / γ)

      The asymptotic growth factor of assets is (β R)^(1/γ). With Ma and Toda's asymptotic MPC c_bar = 1 - (β R^(1-γ))^(1/γ), the factor (1 - c_bar) R by which assets grow collapses to (β R)^(1/γ), so assets are eventually contracted exactly when β R < 1.

      theorem LeanEconomics.IncomeFluctuation.policy_lt_self_of_consumption_lower_bound {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {z : Z} {ε a : ℝ} (ha : a ∈ Set.Icc assetFloor assetCap) (hlb : ε * (P.resources (a, z) - assetFloor) ≤ P.consumptionFn z a) (hgt : (1 - ε) * P.income z + ε * assetFloor < (1 - (1 - ε) * (1 + P.interest)) * a) :
      P.policy (a, z) < a

      A household that consumes a fixed share of cash on hand runs its assets down, once assets pass an explicit threshold. The share ε has to be large enough that (1 - ε)(1 + r) < 1 — with Ma and Toda's asymptotic MPC that is exactly β(1 + r) < 1.

      theorem LeanEconomics.IncomeFluctuation.exists_decline_of_consumption_lower_bound {Z : Type u_1} [Fintype Z] [Nonempty Z] [TopologicalSpace Z] [DiscreteTopology Z] {assetFloor assetCap : ℝ} (P : IncomeFluctuation Z assetFloor assetCap) {z : Z} {ε : ℝ} (hε : (1 - ε) * (1 + P.interest) < 1) (hlb : ∀ a ∈ Set.Icc assetFloor assetCap, ε * (P.resources (a, z) - assetFloor) ≤ P.consumptionFn z a) :
      ∃ (ā : ℝ), ∀ a ∈ Set.Icc assetFloor assetCap, ā < a → P.policy (a, z) < a

      Every asset level above an explicit threshold declines, given a linear lower bound on consumption. This is the hypothesis hdecl of exists_exhaust_of_decline.