# ### Incumbent Firms' Decision Rule (Tauchen's method first usage) # In[47]: ### k_grid k_low = k_ss - 0.5 k_high = k_ss + 0.5 k_grid = np.linspace(k_low, k_high, N_k) ### eps_grid using Tauchen ## https://lectures.quantecon.org/jl/finite_markov.html trans_eps_MC = tauchen(rho, sigma, n=N_eps).P sigma_y = np.sqrt( sigma ** 2 / (1 - rho ** 2) ) eps_grid = np.zeros(N_eps) eps_grid[0] = -m * sigma_y eps_grid[N_eps-1] = m * sigma_y s = (eps_grid[N_eps-1] - eps_grid[0]) / (N_eps - 1) for i in range(1, N_eps-1): eps_grid[i] = eps_grid[i-1] + s # Now we initialize the value function: V_init = np.zeros((N_eps, N_k)) # In[48]:
agrid = curvedspace(amin, amax, acurve, num_a) kapgrid = curvedspace(kapmin, kapmax, kapcurve, num_kap) # productivity shock rho_z = 0.7 sig_z = 0.1 num_z = 5 rho_eps = 0.70446 # Estimates based on: sig_eps = 0.1598256 # Low, Meghir, Pistaferri (2011) num_eps = 5 mc_z = tauchen(rho=rho_z, sigma_u=sig_z, m=3, n=num_z) # discretize z mc_eps = tauchen(rho=rho_eps, sigma_u=sig_eps, m=3, n=num_eps) # discretize eps # prob_z_filepath = './DeBacker/debacker_prob_z.csv' # prob_eps_filepath = './DeBacker/debacker_prob_eps.csv' # prob_z = np.loadtxt(prob_z_filepath)# read transition matrix from DeBacker # prob_eps = np.loadtxt(prob_eps_filepath) # read transition matrix from DeBacker prob_z = np.array([[ 6.115186988266497758e-01, 1.704010286422269760e-01, 9.831623067597275445e-02, 6.450040495404339713e-02, 5.526363690110723537e-02 ], [ 1.722564529992201832e-01, 5.509025811996880462e-01,