Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Expectated vs Realized Income Growth in A Standard Life Cycle Model

This notebook uses the income process in Cocco, Gomes & Maenhout (2005) to demonstrate that estimates of a regression of expected income changes on realized income changes are sensitive to the size of transitory shocks.

We first load some tools from the HARK toolkit.

We now create a population of agents with the income process of Cocco, Gomes & Maenhout (2005), which is implemented as a default calibration in the toolkit.

We simulate a population of agents

We assume a standard income process with transitory and permanent shocks: The consumer’s Permanent noncapital income P grows by a predictable factor Γ and is subject to an unpredictable multiplicative shock 𝔼t[ψt+1]=1,

Pt+1=PtΓt+1ψt+1,

and, if the consumer is employed, actual income Y is permanent income multiplied by a transitory shock 𝔼t[θt+1]=1,

Yt+1=Pt+1θt+1,

Γt captures the predictable life cycle profile of income growth (faster when young, slower when old). See our replication of CGM-2005 for a detailed account of how these objects map to CGM’s notation.

Now define y=log⁡Y,p=log⁡P and similarly for other variables.

Using this notation, we construct all the necessary inputs to the regressors. The main input is the expected income growth of every agent at every time period, which is given by

𝔼t[Yt+1/Yt]=𝔼t[(θt+1PtΓt+1ψt+1θtPt)]=(Γt+1θt)𝔼t[yt+1−yt]=log⁡Γt+1−log⁡θt

A corresponding version of this relationship can be estimated in simulated data:

𝔼t[Δyi,t+1]=γ0+γ1Δyi,t+fi+ϵi,t

We now estimate an analogous regression in our simulated population.

                          PanelOLS Estimation Summary                           
================================================================================
Dep. Variable:                 ExpBin   R-squared:                        0.1958
Estimator:                   PanelOLS   R-squared (Between):             -0.0938
No. Observations:              100000   R-squared (Within):               0.1958
Date:                Thu, Apr 30 2026   R-squared (Overall):              0.1888
Time:                        21:39:45   Log-likelihood                -1.288e+05
Cov. Estimator:            Unadjusted                                           
                                        F-statistic:                   2.376e+04
Entities:                        2435   P-value                           0.0000
Avg Obs:                       41.068   Distribution:                 F(1,97564)
Min Obs:                       2.0000                                           
Max Obs:                       46.000   F-statistic (robust):          2.376e+04
                                        P-value                           0.0000
Time periods:                      45   Distribution:                 F(1,97564)
Avg Obs:                       2222.2                                           
Min Obs:                       1924.0                                           
Max Obs:                       2437.0                                           
                                                                                
                             Parameter Estimates                              
==============================================================================
            Parameter  Std. Err.     T-stat    P-value    Lower CI    Upper CI
------------------------------------------------------------------------------
const          0.1335     0.0028     47.527     0.0000      0.1280      0.1390
ChangeBin     -0.4408     0.0029    -154.14     0.0000     -0.4464     -0.4352
==============================================================================

F-test for Poolability: 1.3343
P-value: 0.0000
Distribution: F(2434,97564)

Included effects: Entity

The estimated γˆ1 is negative because in usual life-cycle calibrations, transitory shocks are volatile enough that mean reversion of transitory fluctuations is a stronger force than persistent trends in income age-profiles.

However, with less volatile transitory shocks, the regression coefficient would be positive. We demonstrate this by shutting off transitory shocks, simulating another population of agents, and re-running the regression.

                          PanelOLS Estimation Summary                           
================================================================================
Dep. Variable:                 ExpBin   R-squared:                        0.0084
Estimator:                   PanelOLS   R-squared (Between):             -0.0257
No. Observations:              100000   R-squared (Within):               0.0084
Date:                Thu, Apr 30 2026   R-squared (Overall):              0.0088
Time:                        21:39:49   Log-likelihood                -1.393e+05
Cov. Estimator:            Unadjusted                                           
                                        F-statistic:                      826.23
Entities:                        2435   P-value                           0.0000
Avg Obs:                       41.068   Distribution:                 F(1,97564)
Min Obs:                       2.0000                                           
Max Obs:                       46.000   F-statistic (robust):             826.23
                                        P-value                           0.0000
Time periods:                      45   Distribution:                 F(1,97564)
Avg Obs:                       2222.2                                           
Min Obs:                       1924.0                                           
Max Obs:                       2437.0                                           
                                                                                
                             Parameter Estimates                              
==============================================================================
            Parameter  Std. Err.     T-stat    P-value    Lower CI    Upper CI
------------------------------------------------------------------------------
const          0.1188     0.0031     38.061     0.0000      0.1127      0.1249
ChangeBin      0.0920     0.0032     28.744     0.0000      0.0857      0.0982
==============================================================================

F-test for Poolability: 1.2509
P-value: 0.0000
Distribution: F(2434,97564)

Included effects: Entity

The estimated γˆ1 when there are no transitory shocks is positive.