コード例 #1
0
def makeNonFarmerHist(stdPerm, stdTran, numAgents, numPeriods):
    NonFarmerParams = {
        'BoroCnstArt': 0.0,
        'CRRA': np.inf,
        'CubicBool': True,
        'DiscFac': 0.5,
        'IncUnemp': 0.0,
        'IncUnempRet': 0.0,
        'LivPrb': [0.98],
        'Nagents': 100,
        'PermGroFac': [1.01],
        'PermShkCount': 20,
        'PermShkStd': [stdPerm],
        'Rfree': 1.0,
        'T_retire': 0,
        'T_total': 1,
        'TranShkCount': numAgents,
        'TranShkStd': [stdTran],
        'UnempPrb': 0.0,
        'UnempPrbRet': 0.00,
        'aXtraCount': 12,
        'aXtraExtra': [None],
        'aXtraMax': 20,
        'aXtraMin': 0.001,
        'aXtraNestFac': 3,
        'tax_rate': 0.0,
        'vFuncBool': False
    }
    PerfForNonFarmer = PerfForesightConsumerType(**NonFarmerParams)
    PerfForNonFarmer.solve()
    NonFarmer = IndShockConsumerType(**NonFarmerParams)
    NonFarmer.solution = copy.deepcopy(PerfForNonFarmer.solution)
    NonFarmer.addToTimeVary('solution')
    NonFarmer.sim_periods = numPeriods
    NonFarmer.initializeSim(sim_prds=NonFarmer.sim_periods)
    NonFarmer.makeIncShkHist()
    NonFarmer.simConsHistory()
    NonFarmer.IncHist = np.multiply(NonFarmer.PermShkHist,
                                    NonFarmer.TranShkHist)
    NonFarmer.IncHist = np.reshape(
        NonFarmer.IncHist, (NonFarmer.Nagents * NonFarmer.sim_periods, 1))
    NonFarmer.cHist = np.reshape(
        NonFarmer.cHist, (NonFarmer.Nagents * NonFarmer.sim_periods, 1))
    NonFarmer.IncHist = list(itertools.chain.from_iterable(NonFarmer.IncHist))
    NonFarmer.cHist = list(itertools.chain.from_iterable(NonFarmer.cHist))
    return (NonFarmer.IncHist, NonFarmer.cHist)