View and download the notebook here!
Hyperbolic Discounting#
A major component of Eckstein-Keane-Wolpin models is the intertemporal decision problem that forward-looking agents face when making their choices. In this modeling framework, agents maximize their expected present value of utility over the remaining lifetime. respy controls discounting of future payoffs through one or multiple parameters in the params
. This guide gives a brief overview of the currently available time preferences and how to incorporate them in your model.
We load an example model for illustrative purposes.
[1]:
import respy as rp
params, options = rp.get_example_model("robinson_crusoe_basic", with_data=False)
Standard discounting (delta
)#
The standard discount factor in respy is called delta
(\(\delta\)) and specified in the params
object. respy expects this parameter to be specified and will raise an error otherwise.
The standard discount factor represents time-consistent preferences for \(\delta \in (0,1]\). However, it can also be set to 0 for a static specification, rendering agents completely myopic.
[2]:
params.head(1)
[2]:
value | ||
---|---|---|
category | name | |
delta | delta | 0.95 |
Hyperbolic discounting (beta
)#
Aside from standard discounting, respy also supports time-inconsistent preferences to be modeled. These types of time preferences follow O’Donoghue and Rabin (1999) and are known as (quasi-)hyperbolic discounting or \(\beta\)-\(\delta\) preferences. In this case, in addition to \(\delta\), we also specify a parameter \(\beta \in (0, 1]\). This parameter implements a present-bias (or impatience) in agents.
To implement hyperbolic discounting, add a parameter of category beta
and name beta
to the params
DataFrame.
[3]:
params.loc[("beta", "beta"), "value"] = 0.7
params
[3]:
value | ||
---|---|---|
category | name | |
delta | delta | 0.95 |
wage_fishing | exp_fishing | 0.30 |
nonpec_fishing | constant | -0.20 |
nonpec_hammock | constant | 2.00 |
shocks_sdcorr | sd_fishing | 0.50 |
sd_hammock | 0.50 | |
corr_hammock_fishing | 0.00 | |
beta | beta | 0.70 |
For an extended example of implementing hyperbolic discounting in one of respy’s example models, check out the tutorial linked below.
References#
O’Donoghue, T. and and Rabin, M. (1999). Doing It Now or Later. American Economic Review, 89(1): 103-124.