fig = plt.figure() bottom = 0.1 top = 2*KSEconomy.kSS x = np.linspace(bottom,top,1000,endpoint=True) print(KSEconomy.AFunc) y0 = KSEconomy.AFunc[0](x) y1 = KSEconomy.AFunc[1](x) plt.plot(x,y0) plt.plot(x,y1) plt.xlim([bottom, top]) make_figs('aggregate_savings', True, False) # remark.show('aggregate_savings') print('Consumption function at each aggregate market resources gridpoint (in general equilibrium):') KSAgent.unpackcFunc() m_grid = np.linspace(0,10,200) KSAgent.unpackcFunc() for M in KSAgent.Mgrid: c_at_this_M = KSAgent.solution[0].cFunc[0](m_grid,M*np.ones_like(m_grid)) #Have two consumption functions, check this plt.plot(m_grid,c_at_this_M) make_figs('consumption_function', True, False) # remark.show('consumption_function') print('Savings at each individual market resources gridpoint (in general equilibrium):') fig = plt.figure() KSAgent.unpackcFunc() m_grid = np.linspace(0,10,200) KSAgent.unpackcFunc() for M in KSAgent.Mgrid:
# Solve the microeconomic model for the Markov aggregate shocks example type (and display results) t_start = process_time() AggShockMrkvExample.solve() t_end = process_time() print( "Solving an aggregate shocks Markov consumer took " + mystr(t_end - t_start) + " seconds." ) print( "Consumption function at each aggregate market \ resources-to-labor ratio gridpoint (for each macro state):" ) m_grid = np.linspace(0, 10, 200) AggShockMrkvExample.unpackcFunc() for i in range(2): for M in AggShockMrkvExample.Mgrid.tolist(): mMin = AggShockMrkvExample.solution[0].mNrmMin[i](M) c_at_this_M = AggShockMrkvExample.cFunc[0][i]( m_grid + mMin, M * np.ones_like(m_grid) ) plt.plot(m_grid + mMin, c_at_this_M) plt.ylim(0.0, None) plt.show() # %% if solve_markov_market: # Solve the "macroeconomic" model by searching for a "fixed point dynamic rule" t_start = process_time() print("Now solving a two-state Markov economy. This should take a few minutes...")