Exemplo n.º 1
0
class test_AgentType(unittest.TestCase):
    def setUp(self):
        self.agent = AgentType(cycles=1)

    def test_solve(self):
        self.agent.time_vary = ["vary_1"]
        self.agent.time_inv = ["inv_1"]
        self.agent.vary_1 = [1.1, 1.2, 1.3, 1.4]
        self.agent.inv_1 = 1.05
        # to test the superclass we create a dummy solve_one_period function
        # for our agent, which doesn't do anything, instead of using a NullFunc
        self.agent.solve_one_period = lambda vary_1: MetricObject()
        self.agent.solve()
        self.assertEqual(len(self.agent.solution), 4)
        self.assertTrue(isinstance(self.agent.solution[0], MetricObject))

    def test___repr__(self):
        self.assertTrue('Parameters' in self.agent.__repr__())

    def test___eq__(self):
        agent2 = AgentType(cycles=1)
        agent3 = AgentType(cycels=2)

        self.assertEqual(self.agent, agent2)
        self.assertNotEqual(self.agent, agent3)
Exemplo n.º 2
0
class testAgentType(unittest.TestCase):
    def setUp(self):
        self.agent = AgentType()

    def test_time(self):
        self.agent.time_vary = ['var_1', 'var_2']
        self.agent.var_1 = [4.3, 2, 1]
        self.agent.var_2 = [1, 2, 3, 4, 5]
        self.agent.timeFlip()
        self.assertEqual(self.agent.var_1, [1, 2, 4.3])
        self.assertEqual(self.agent.var_2, [5, 4, 3, 2, 1])
        self.assertEqual(self.agent.time_flow, False)
        self.agent.timeFlip()
        self.assertEqual(self.agent.var_1, [4.3, 2, 1])
        self.assertEqual(self.agent.var_2, [1, 2, 3, 4, 5])
        self.assertEqual(self.agent.time_flow, True)
        self.agent.timeRev()
        self.assertEqual(self.agent.time_flow, False)
        self.agent.timeFwd()
        self.assertEqual(self.agent.time_flow, True)

    def test_solve(self):
        self.agent.time_vary = ['vary_1']
        self.agent.time_inv = ['inv_1']
        self.agent.vary_1 = [1.1, 1.2, 1.3, 1.4]
        self.agent.inv_1 = 1.05
        # to test the superclass we create a dummy solveOnePeriod function
        # for our agent, which doesn't do anything, instead of using a NullFunc
        self.agent.solveOnePeriod = lambda vary_1: HARKobject()
        self.agent.solve()
        self.assertEqual(len(self.agent.solution), 4)
        self.assertTrue(isinstance(self.agent.solution[0], HARKobject))
Exemplo n.º 3
0
class testAgentType(unittest.TestCase):
    def setUp(self):
        self.agent = AgentType()

    def test_solve(self):
        self.agent.time_vary = ['vary_1']
        self.agent.time_inv = ['inv_1']
        self.agent.vary_1 = [1.1, 1.2, 1.3, 1.4]
        self.agent.inv_1 = 1.05
        # to test the superclass we create a dummy solveOnePeriod function
        # for our agent, which doesn't do anything, instead of using a NullFunc
        self.agent.solveOnePeriod = lambda vary_1: HARKobject()
        self.agent.solve()
        self.assertEqual(len(self.agent.solution), 4)
        self.assertTrue(isinstance(self.agent.solution[0], HARKobject))
Exemplo n.º 4
0
    def __init__(self, cycles=1, verbose=1, quiet=False, **kwds):
        self.time_vary = []
        self.time_inv = [
            "CRRA", "Rfree", "DiscFac", "phi", "eta", "nu", "pssi", "B"
        ]
        self.state_vars = []
        self.shock_vars = []
        self.solveOnePeriod = makeOnePeriodOOSolver(GLsolver)
        self.__dict__.update(kwds)

        cmin = 1e-6  # lower bound on consumption

        Matlabgrid = loadmat('Bgrid')
        griddata = list(Matlabgrid.items())
        datagrid_array = np.array(griddata)

        Bgrid_uc = datagrid_array[3, 1]

        params = init_GL.copy()
        params.update(kwds)
        kwds = params
        #setup grid based on constraint phi

        #Rfree= 1.00625
        #phi=1.60054
        self.Bgrid = []
        for i in range(200):
            if Bgrid_uc[0, i] > -self.phi:
                self.Bgrid.append(Bgrid_uc[0, i])
        self.Bgrid = np.array(self.Bgrid).reshape(1, len(self.Bgrid))

        #initial Guess for Cpolicy
        Cguess = np.maximum(
            (self.Rfree - 1) * np.ones(13).reshape(13, 1).dot(self.Bgrid),
            cmin)

        self.solution_terminal_ = GLConsumerSolution(Cpol=Cguess, )

        AgentType.__init__(self,
                           solution_terminal=deepcopy(self.solution_terminal_),
                           cycles=cycles,
                           pseudo_terminal=False,
                           **kwds)

        self.verbose = verbose
        self.quiet = quiet
        self.solveOnePeriod = makeOnePeriodOOSolver(GLsolver)
Exemplo n.º 5
0
 def setUp(self):
     self.agent = AgentType(cycles=1)
Exemplo n.º 6
0
 def setUp(self):
     self.agent = AgentType(cycles=1, AgentCount=3)
Exemplo n.º 7
0
    def test___eq__(self):
        agent2 = AgentType(cycles=1)
        agent3 = AgentType(cycels=2)

        self.assertEqual(self.agent, agent2)
        self.assertNotEqual(self.agent, agent3)
Exemplo n.º 8
0
 def setUp(self):
     self.agent = AgentType()