[ Search |  Up Level |  Project home |  Index |  Class hierarchy ]

 BerkovecSternEmet1991.ox

Replicate Berkovec Stern 1991 Model of Retirement using DDP.

BerkovecSternEmet1991.ox replicates results shown in Figure 1 of Berkovec and Stern (1991).

The Model

Solution/smoothing:
Extreme Value ex ante, ρ = 1/τ.
Clock:
RandomMortality (T = 21)
Mortality probability mprob (in the paper called δ) a function of age and constant health.
Paper does not report probabilities. Stern contacted and could not find them.
Rates are approximated using: CDC Data
Action Vector:
\(\alpha = (i)\),
i       Means
-----------------------------------
0       Retire
1       Work Part-time new match
2       Work Full-time new match
3       Stay in current job
Semi-Exogenous Variables
\(\eta = (h)\), new job match value.
Endogenous State Variables
\(\theta = \pmatrix{ m_0& m_1 & s & d & M &t}\),
\(m_0\) and \(m_1\) and \(s\) are lagged action trackers (full-time implied).
\(d\) duration of current match (t-s) in the paper
\(M\) current match value if a job was held last year (\(M'=h\) if \(i=1\) or \(i=2\)).
Random Effects (elements of the group vector \(\gamma\))
\(\gamma = \pmatrix{g_0& g_1&g_2&g_3& g_I}\).
Each is a permanent normal random effect associated with sector i. \(g_I\) is an individual specific wage effect.

Utility:
U = Xβ0 + σ1gI + σ2g0  + τz.0
    Xβ1 + σ1gI + σ2g1 + σ3hs+ τz.1
    Xβ2 + σ1gI + σ2g2 + σ3hs+ τz.2
    Xβ0 + d  +  σ3M+ τz.3
z.i IID extreme value error
Feasible Actions
only retirement (i=0) after age 75
cannot choose stay (i=3) if retired last period (\(m_0=1\))
Reachable States
duration must be feasible
new and current match value irrelevant after age 75
current match value irrelevant if retired
Notes:
Paper used ?? Monte Carlo draws per normal component.

Implementation in DDP

Header File: 

Ox File:

Output niqlow/examples/output/BerkovecSternEmet1991.txt

 Retirement

Public fields
 acteqpars static βi
 Changing static const
 col static Column of table to get params from
 disc static const
 drates static const
 dur static duration of existing job
 eI static individual wage effect
 ejob static array of choice-specific draws
 eqpars static const
 eS static new match draw
 HThous static const
 i static Action variable
 iacc static const age bracket death rates per 100000.
 M static match value if worked last year
 m static move/match decision.
 p static const
 PrevJob static choice previous period
 sig1 static const
 sig2 static const
 sig3 static const
 tau static const
 Xn static
Public methods
 FeasibleActions
 mprob static Age-dependent mortality probability.
 Reachable Duration must be feasible, do not track current eta if retired.
 Run static Setup and solve the model for both columns.
 Sig1 static
 Sig2 static
 Utility The one period return.
Enumerations
 Anonymous enum 1
 Dimens State space dimensions.
 mortbrackets Mortality brackets.
 regressors Wage regressors.
 sectors Choices & Sectors.

 XLagged

Public methods
 Transit
 XLagged

 Retirement

Enumerations
Anonymous enum 1 Stay, Move, Nsearch
Dimens State space dimensions. nReps, nRepsS, S0, T0, Tstar, T2star, TMAX, Smax
mortbrackets Mortality brackets. A55_64, A65_74, A75_84, A85plus, AgeCategories
regressors Wage regressors. Constant, Education, Race, Age, Age2, Health, Tenure, Tenure2, Nregressors
sectors Choices & Sectors. Retire, Part, Full, Nsectors

 acteqpars

static decl acteqpars [public]
βi

 Changing

static const decl Changing [public]

 col

static decl col [public]
Column of table to get params from

 disc

static const decl disc [public]

 drates

static const decl drates [public]

 dur

static decl dur [public]
duration of existing job

 eI

static decl eI [public]
individual wage effect

 ejob

static decl ejob [public]
array of choice-specific draws

 eqpars

static const decl eqpars [public]

 eS

static decl eS [public]
new match draw

 FeasibleActions

Retirement :: FeasibleActions ( )

 HThous

static const decl HThous [public]

 i

static decl i [public]
Action variable

 iacc

static const decl iacc [public]
age bracket death rates per 100000. Paper does not report δ, state-dependent survival probability. Stern was contacted and said they could not be found. These rates are used as an approximation.
  • Source http://www.cdc.gov/nchs/data/dvs/mx196878.pdf
  • Table: 82/10/14 TABLE 290 82/10/14 TABLE 290. DEATH RATES FOR 69 SELECTED CAUSES, BY 10-YEAR AGE GROUPS, RACE, AND SEX: UNITED STATES, 1968-78
  • Row: White Male 1969, Age55-85+

  •  M

    static decl M [public]
    match value if worked last year

     m

    static decl m [public]
    move/match decision.

     mprob

    static Retirement :: mprob ( )
    Age-dependent mortality probability.

     p

    static const decl p [public]

     PrevJob

    static decl PrevJob [public]
    choice previous period

     Reachable

    Retirement :: Reachable ( )
    Duration must be feasible, do not track current eta if retired.

     Run

    static Retirement :: Run ( )
    Setup and solve the model for both columns.

     Sig1

    static Retirement :: Sig1 ( )

     sig1

    static const decl sig1 [public]

     Sig2

    static Retirement :: Sig2 ( )

     sig2

    static const decl sig2 [public]

     sig3

    static const decl sig3 [public]

     tau

    static const decl tau [public]

     Utility

    Retirement :: Utility ( )
    The one period return.

     Xn

    static decl Xn [public]

     XLagged

     Transit


     XLagged