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

 WolpinEmet1987.ox

Replicate Wolpin (Econometrica 1987), the school to work transition search model.

ElementValueCategory / Params / Notes
Clock\(t\) Ordinary Aging. T=615. \(t\lt 61\) in school
CCP\(\ln z\)\(\sim\) \(N(\tilde{w},\sigma^2)\)OneDimensionalChoice
Actions\(\al\)\(=\) \((a)\)Binary Choiceaccept offer.
States:\(\th\)\(=\) \((h,m)\)h: IIDBinary
m: LaggedAction
has offer
accepted in \(t-1\).
Choice Sets \(CC(\th)\)\(=\)\((!m)h\,\&\,t\lt 115\)condition to solve for \(z^\star\)
\(A(\th)\)\(=\) \(\cases{ \{0\} &\)!h\(\cr \{0,1\} &\)CC(\th)\(\cr \{1\} &\)(!m)h\, \&\, t\ge 115\(\cr}\)no offer
has offer, can choose
must accept offer
Utility
at \(z\)
\(PDV(z)\)
\(U(z)\)
\(=\)
\(=\)
\({ z+\delta_v^{T-t}\over 1-\delta_v}\)
\(\left(\matrix{ -c \cr PDV(z) }\right).\)
lifetime value of offer
Exp. Utility\(E_w\)
\(EU\)
\(=\)
\(=\)
\({\tilde w}\exp\{\sigma^2/2\}\)
\(\left(\matrix{c \cr PDV(E_w\lambda/p)}\right)\)
Expected wage offer
see \eqref{EU}
Utility \(U()\)\(=\)\((1-m)(-(1-h)c\)
\(+ hPDV(E_w))\)
Non-choice state

The indicator for having an offer in hand, \(h\), evolves independent of other choices, but it is not identically distributed since its distribution depends on time. $\(P(h=1) = \cases{ 0.01 & if \)t\le k\(\cr \Phi\l(-2.08-0.0025(t-k)\r) & \)t\gt k\(.\cr}\nonumber\)\(

\)m\( is included in the state vector to indicate that a job was accepted the previous period and decision making ends. To mark a value \)m=1\( as terminal simply requires:

 m -> MakeTerminal(1);
This must happen in the Build code segment such as D. Future values are not computed at terminal states, so the value of a terminal state is return as the utility by the user's code.

Second, as discussed earlier in 4.2, a state involves a reservation value if it satisfies \)\(CC(\th) =(t\lt T+k)\ \&\ h\ \&\ (1-m).\nonumber\)\( At other states the searcher has no choice: they either have no offer to reject or they must accept any offer. This is achieved by providing a replacement for the virtual Continuous() method with one that returns the logical condition:

SchToWork::Continuous() {
    return (I::t < T+k) && CV(h) && (1-CV(m));
    }

The estimates use a discount rate of \)\delta = 0.999\(, but the original text states for the long post-search period a "annual discount rate of 5 percent" was used. In weekly terms this results in a discount factor of \)\delta_v = e^{\ln(.95)/52} = .99901408.\(

The searcher gets the full present value of wages upon acceptance. This is consistent with the model since there are no further decisions after a wage is accepted. If further decisions that depend on the accepted wage were made then a discrete approximation to its distribution would have to be tracked as a discrete state variable.

The target of the replication are predicted hazard rates reported in Wolpin (1987). A hazard rate is the same as averaging \)P^{\,\star}(1)\( conditional on not terminating yet (\)m=0\(). The paper grouped the hazard by weeks which requires some additional code. The table of predicted hazards in the original paper and the replicated results are given in 3.

The results are substantially different. Starting from the bottom, we see the replicated hazard is about one-fifth that of the reported values. The difference falls as we move back in time to the point that the initial replicated hazard is only 10% below the reported value. This first hazard includes in-school search. The computed reservation wages are for the most part negative. Given log-normal offers this implies all offers are accepted. And after week 54 all offers must be accepted if still searching (by assumption). Together this means that, except near week 1 in the table, the declining hazards simply reflect the falling offer probability not a change in rejection rates.

The differences remain unresolved with 3. The original text (Wolpin 1987 p. 812) notes negative reservation values. Given the need to calculate expected values entering this period while iterating backwards it is important to handle negative values carefully. That is, when \)w^\star\( is on the support of offers it is possible to use \)w^\star\( to compute \)v(0)\(, the value of rejection. This should receive 0 weight in the calculation because \)Prob(w\le w^\star)=0\( when offers are log-normal and \)w^\star\lt 0.$ Numerical issues in these computations from the 1980s may explain the discrepancy with modern calculations.

Replication of Wolpin (1987) Table IV, p. 813
Weeks iReportedReplicated
1 .313 .2773175
2-13 .141 .08758
14-26 .135 .0825763
27-39 .127 .0690007
40-52 .117 .0577042
53-65 .105 .0545755
66-78 .097 .0445571
79-91 .090 .0355048
92-104 .083 .028323
105-117 .076 .0228554
118-130 .070 .0186378
131-143 .064 .0153897
144-156 .059 .0127247
157-166 .054 .0107464
Predicted hazard rates out of job search at estimated parameters.

 SchToWork

Public methods
 Continuous
 EUtility
 FeasibleActions
 PDV
 Poff static
 Replicate static
 Utility
 Uz Return vector of utilities at the cutoff(s) z.

 SchToWork

 Continuous

SchToWork :: Continuous ( )

 EUtility

SchToWork :: EUtility ( )

 FeasibleActions

SchToWork :: FeasibleActions ( )

 PDV

SchToWork :: PDV ( z )

 Poff

static SchToWork :: Poff ( ... )

 Replicate

static SchToWork :: Replicate ( )

 Utility

SchToWork :: Utility ( )

 Uz

SchToWork :: Uz ( z )
Return vector of utilities at the cutoff(s) z.