Example #1
0
    cFunc = [solution_regular.cFunc, solution_insured.cFunc]
    solution_t = DiscreteChoiceSolution(vFunc,vPfunc)
    solution_t.cFunc = cFunc
    
    # Add the "pass through" attributes to the solution and report it
    other_attributes = [key for key in solution_regular.__dict__]
    other_attributes.remove('vFunc')
    other_attributes.remove('vPfunc')
    other_attributes.remove('cFunc')
    for name in other_attributes:
        do_string = 'solution_t.' + name + ' = solution_regular.' + name
        exec(do_string)
    return solution_t

# Make an infinite horizon agent that has the option of buying out of income shocks 
TestType = ConsumerType(**Params.init_consumer_objects)
TestType.timeFwd()
TestType.assignParameters(survival_prob = [None,0.98],
                          beta = [None,0.96],
                          Gamma = [None,1.01],
                          sigma_epsilon = [0.2,None],
                          state_grid = setupGridsExpMult(0.00001, 50, 64, 3),
                          a_size = 48,
                          calc_vFunc = True,
                          cubic_splines = False,
                          constrained = True,
                          #transFunc = lambda x : CRRAutility_inv(x,gam=TestType.rho),
                          #transFuncP = lambda x : CRRAutility_invP(x,gam=TestType.rho),
                          transFunc = identityFunc,
                          transFuncP = onesFunc,
                          income_distrib = [None,TestType.income_distrib[0]],
Example #2
0
from TractableBufferStockModel import TractableConsumerType
>>>>>>> eeb37f24755d0c683c9d9efbe5e7447425c98b86
from copy import deepcopy

import unittest
import numpy as np

class Compare_PerfectForesight_and_Infinite(unittest.TestCase):
    
    def setUp(self):

        # Set up and solve infinite type
<<<<<<< HEAD
        import SetupConsumerParameters as Params
        
        InfiniteType = ConsumerType(**Params.init_consumer_objects)
        InfiniteType.solveOnePeriod = consumptionSavingSolverENDG
        InfiniteType.assignParameters(LivPrb = [1.],
                                      DiscFac = [0.955],
=======
        import ConsumerParameters as Params
        
        InfiniteType = IndShockConsumerType(**Params.init_idiosyncratic_shocks)
        InfiniteType.assignParameters(LivPrb = [1.],
                                      DiscFac = 0.955,
>>>>>>> eeb37f24755d0c683c9d9efbe5e7447425c98b86
                                      PermGroFac = [1.],
                                      PermShkStd  = [0.],
                                      TempShkStd  = [0.],
                                      T_total = 1, T_retire = 0, BoroCnstArt = None, UnempPrb = 0.,
                                      cycles = 0) # This is what makes the type infinite horizon
Example #3
0
    solution_t.kappa_min = kappa_min[v_best]
    solution_t.kappa_max = np.min(kappa_max)
    solution_t.gothic_h = gothic_h[v_best]
    solution_t.v_lim_slope = solution_t.kappa_min**(-rho/(1.0-rho))
    solution_t.v_lim_intercept = solution_t.gothic_h*solution_t.v_lim_slope
    
    return solution_t


# Make an infinite horizon agent that has the option of buying out of income shocks
Params.init_consumer_objects['xi_sigma'] = [0.1,0.1,0.1]
Params.init_consumer_objects['psi_sigma'] = [0.1,0.15,0.2]
Params.init_consumer_objects['T_retire'] = 0
Params.init_consumer_objects['T_total'] = 3
Gamma_set = [1.01,1.02,1.03]
TestType = ConsumerType(**Params.init_consumer_objects)
TestType.timeFwd()
TestType.assignParameters(survival_prob = [None,0.98],
                          beta = [None,0.96],
                          Gamma = [None,Gamma_set],
                          rho = 3.0,
                          sigma_epsilon = [0.0001,None],
                          state_grid = setupGridsExpMult(0.001, 50, 64, 3),
                          a_max = 20,
                          a_size = 48,
                          calc_vFunc = True,
                          cubic_splines = False,
                          constrained = True,
                          income_distrib = [None,TestType.income_distrib],
                          p_zero_income = [None,TestType.p_zero_income],
                          solveAPeriod = [discreteChoiceContinuousStateSolver, occupationalChoiceSolver],
Example #4
0
    "a_min": 0.001,
    "a_max": ExampleType.m_max,
    "a_size": 16,
    "a_extra": [None],
    "exp_nest": 3,
    "survival_prob": [1.0],
    "beta": [base_primitives["beta"]],
    "Nagents": 1,
    "psi_seed": 0,
    "xi_seed": 0,
    "unemp_seed": 0,
    "tax_rate": 0.0,
    "calc_vFunc": False,
    "cubic_splines": True,
}
MarkovType = ConsumerType(**init_consumer_objects)
transition_matrix = np.array([[1.0 - base_primitives["mho"], base_primitives["mho"]], [0.0, 1.0]])
employed_income_dist = [np.ones(1), np.ones(1), np.ones(1)]
unemployed_income_dist = [np.ones(1), np.ones(1), np.zeros(1)]
p_zero_income = [np.array([0.0, 1.0])]
MarkovType.solution_terminal.cFunc = 2 * [MarkovType.solution_terminal.cFunc]
MarkovType.solution_terminal.vFunc = 2 * [MarkovType.solution_terminal.vFunc]
MarkovType.solution_terminal.vPfunc = 2 * [MarkovType.solution_terminal.vPfunc]
MarkovType.solution_terminal.vPPfunc = 2 * [MarkovType.solution_terminal.vPPfunc]
MarkovType.solution_terminal.m_underbar = 2 * [MarkovType.solution_terminal.m_underbar]
MarkovType.income_distrib = [[employed_income_dist, unemployed_income_dist]]
MarkovType.p_zero_income = p_zero_income
MarkovType.transition_matrix = transition_matrix
MarkovType.time_inv.append("transition_matrix")
MarkovType.solveAPeriod = consumptionSavingSolverMarkov
MarkovType.cycles = 0