def bellman_operator(pgrid, c, f0, f1, L0, L1, J):
"""
Evaluates the value function for a given continuation value
function; that is, evaluates
J(p) = min((1 - p) L0, p L1, c + E J(p'))
Uses linear interpolation between points.
"""
m = np.size(pgrid)
assert m == np.size(J)
J_out = np.zeros(m)
J_interp = interp.UnivariateSpline(pgrid, J, k=1, ext=0)
for (p_ind, p) in enumerate(pgrid):
# Payoff of choosing model 0
p_c_0 = expect_loss_choose_0(p, L0)
p_c_1 = expect_loss_choose_1(p, L1)
p_con = expect_loss_cont(p, c, f0, f1, J_interp)
J_out[p_ind] = min(p_c_0, p_c_1, p_con)
return J_out
# == Now run at given parameters == #
# First set up distributions
wf_first_pass.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录