Exemple #1
0
def test_run_small():
    from execute import runner
    output_base = "./OUTPUT"
    input_dir = "./OUTPUT"
    user_params = {'frisch': 0.41}
    runner(output_base=output_base,
           input_dir=input_dir,
           user_params=user_params,
           run_micro=False)
Exemple #2
0
def run_micro_macro(user_params):

    start_time = time.time()

    baseline_dir = "./OUTPUT_BASELINE"
    '''
    ------------------------------------------------------------------------
        Run calibration
    -----------------------------------------------------------------------
    '''
    # output_base = baseline_dir
    # input_dir = baseline_dir
    # user_params = {'frisch':1.5, 'sigma':3.0}
    # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
    #         'baseline':True, 'reform':0, 'user_params':user_params,
    #         'guid':'wealth_tax_baseline','calibrate_model':False}
    # runner_SS(**kwargs)
    # quit()
    # # sig_val = 3.0
    # # while sig_val < 3.05:
    # #     user_params = {'frisch':1.5, 'sigma':sig_val}
    # #     print 'SIMGA = ', sig_val
    # #     kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
    # #             'baseline':True, 'reform':0, 'user_params':user_params,
    # #             'guid':'wealth_tax_baseline','calibrate_model':False}
    # #     runner_SS(**kwargs)
    # #     sig_val += 0.05
    # #     quit()
    # #     time.sleep(10.5)
    # # quit()

    sigma_list = [2.0, 1.1, 1.0, 2.0, 2.1, 3.1, 3.2]
    '''
    Loop over value of sigma and run all baselines and reforms
    '''
    for item in sigma_list:
        print 'item= ', item
        # parameters that may update at each iteration
        user_params = {'frisch': 1.5, 'sigma': item}

        # set up directories to save output to
        baseline_dir = "./OUTPUT_BASELINE" + '/sigma' + str(item)
        wealth_dir = "./OUTPUT_WEALTH_REFORM" + '/sigma' + str(item)
        income_dir = "./OUTPUT_INCOME_REFORM" + '/sigma' + str(item)
        '''
        ------------------------------------------------------------------------
            Run SS for Baseline first
        ------------------------------------------------------------------------
        '''
        # output_base = baseline_dir
        # input_dir = baseline_dir
        # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
        #         'baseline':True, 'reform':0, 'fix_transfers':False, 'user_params':user_params,
        #         'guid':'baseline_sigma_'+str(item),'calibrate_model':False}
        # runner_SS(**kwargs)
        '''
        ------------------------------------------------------------------------
            Run baseline TPI
        ------------------------------------------------------------------------
        '''
        # output_base = baseline_dir
        # input_dir = baseline_dir
        # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
        #         'baseline':True,'reform':0,'fix_transfers':False, 'user_params':user_params,
        #         'guid':'baseline_sigma_'+str(item),'calibrate_model':False}
        # runner(**kwargs)
        # quit()
        '''
        ------------------------------------------------------------------------
            Run wealth tax reform (needs to be run before income tax reform
            because it determines the SS revenue target)
        ------------------------------------------------------------------------
        '''
        output_base = wealth_dir
        input_dir = wealth_dir
        guid_iter = 'reform_' + str(0)
        kwargs = {
            'output_base': output_base,
            'baseline_dir': baseline_dir,
            'baseline': False,
            'reform': 2,
            'fix_transfers': True,
            'user_params': user_params,
            'guid': 'wealth_tax_reform2',
            'calibrate_model': False
        }
        runner(**kwargs)
        quit()
        '''
Exemple #3
0
import ogusa
ogusa.parameters.DATASET = 'SMALL'

import ogusa.SS
import ogusa.TPI
from ogusa import parameters, wealth, labor, demographics, income, SS, TPI

from ogusa import txfunc

#txfunc.get_tax_func_estimate(baseline=False)

from execute import runner

if __name__ == "__main__":
    output_base = "./OUTPUT"
    input_dir = "./OUTPUT"

    reform = {
                2015: {
                    '_II_rt1': [.09],
                    '_II_rt2': [.135],
                    '_II_rt3': [.225],
                    '_II_rt4': [.252],
                    '_II_rt5': [.297],
                    '_II_rt6': [.315],
                    '_II_rt7': [0.3564],
                    },
              }

    runner(output_base=output_base, input_dir=input_dir, baseline=False, reform=reform, run_micro=False)
def run_micro_macro(user_params):

    # reform = {
    # 2015: {
    #     '_II_rt1': [.09],
    #     '_II_rt2': [.135],
    #     '_II_rt3': [.225],
    #     '_II_rt4': [.252],
    #     '_II_rt5': [.297],
    #     '_II_rt6': [.315],
    #     '_II_rt7': [0.3564],
    # }, }

    # reform = {
    # 2015: {
    #     '_II_rt1': [0.045]
    # }, }

    reform = {
        2015: {
            '_II_rt5': [.3],
            '_II_rt6': [.3],
            '_II_rt7': [0.3],
        },
    }

    start_time = time.time()

    REFORM_DIR = "./OUTPUT_REFORM"
    BASELINE_DIR = "./OUTPUT_BASELINE"

    user_params = {'frisch': 0.41, 'start_year': 2015}
    '''
    ------------------------------------------------------------------------
        Run SS for Baseline first - so can run baseline and reform in parallel if want 
    ------------------------------------------------------------------------
    '''
    output_base = BASELINE_DIR
    input_dir = BASELINE_DIR
    kwargs = {
        'output_base': output_base,
        'baseline_dir': BASELINE_DIR,
        'baseline': True,
        'analytical_mtrs': True,
        'age_specific': False,
        'user_params': user_params,
        'guid': '38_mtr',
        'run_micro': False
    }
    #p1 = Process(target=runner, kwargs=kwargs)
    #p1.start()
    runner_SS(**kwargs)
    '''
    ------------------------------------------------------------------------
        Run baseline
    ------------------------------------------------------------------------
    '''
    output_base = BASELINE_DIR
    input_dir = BASELINE_DIR
    kwargs = {
        'output_base': output_base,
        'baseline_dir': BASELINE_DIR,
        'baseline': True,
        'analytical_mtrs': True,
        'age_specific': False,
        'user_params': user_params,
        'guid': '38_mtr',
        'run_micro': False
    }
    #p1 = Process(target=runner, kwargs=kwargs)
    #p1.start()
    runner(**kwargs)
    quit()
    '''
    ------------------------------------------------------------------------
        Run reform 
    ------------------------------------------------------------------------
    '''
    output_base = REFORM_DIR
    input_dir = REFORM_DIR
    guid_iter = 'reform_' + str(0)
    kwargs = {
        'output_base': output_base,
        'baseline_dir': BASELINE_DIR,
        'baseline': False,
        'analytical_mtrs': False,
        'age_specific': False,
        'reform': reform,
        'user_params': user_params,
        'guid': '38_mtr',
        'run_micro': False
    }
    #p2 = Process(target=runner, kwargs=kwargs)
    #p2.start()
    runner(**kwargs)

    #p1.join()
    print "just joined"
    #p2.join()

    time.sleep(0.5)

    ans = postprocess.create_diff(baseline_dir=BASELINE_DIR,
                                  policy_dir=REFORM_DIR)

    print "total time was ", (time.time() - start_time)
    print ans

    return ans
'''
A 'smoke test' for the ogusa package. Uses a fake data set to run the
baseline
'''

import cPickle as pickle
import os
import numpy as np
import time

import ogusa
ogusa.parameters.DATASET = 'SMALL'

import ogusa.SS
import ogusa.TPI
from ogusa import parameters, wealth, labor, demographics, income, SS, TPI

from ogusa import txfunc

#txfunc.get_tax_func_estimate(baseline=True)

from execute import runner

if __name__ == "__main__":
    output_base = "./OUTPUT_BASELINE"
    input_dir = "./OUTPUT_BASELINE"
    runner(output_base=output_base, input_dir=input_dir, baseline=True)
def run_micro_macro(user_params):

    # reform = {
    # 2015: {
    #     '_II_rt1': [.09],
    #     '_II_rt2': [.135],
    #     '_II_rt3': [.225],
    #     '_II_rt4': [.252],
    #     '_II_rt5': [.297],
    #     '_II_rt6': [.315],
    #     '_II_rt7': [0.3564],
    # }, }

    # reform = {
    # 2015: {
    #     '_II_rt1': [0.045]
    # }, }

    reform = {
    2017: {
        '_II_rt5': [.3],
        '_II_rt6': [.3],
        '_II_rt7': [0.3],
    }, }


    start_time = time.time()

    REFORM_DIR = "./OUTPUT_REFORM"
    BASELINE_DIR = "./OUTPUT_BASELINE"


    user_params = {'frisch':0.41, 'start_year':2016}

    '''
    ------------------------------------------------------------------------
        Run SS for Baseline first - so can run baseline and reform in parallel if want
    ------------------------------------------------------------------------
    '''
    output_base = BASELINE_DIR
    input_dir = BASELINE_DIR
    kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR,
            'baseline':True, 'analytical_mtrs':False, 'age_specific':True,
            'user_params':user_params,'guid':'test',
            'run_micro':True}
    #p1 = Process(target=runner, kwargs=kwargs)
    #p1.start()
    runner_SS(**kwargs)


    '''
    ------------------------------------------------------------------------
        Run baseline
    ------------------------------------------------------------------------
    '''
    output_base = BASELINE_DIR
    input_dir = BASELINE_DIR
    kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR,
            'baseline':True, 'analytical_mtrs':False, 'age_specific':True,
            'user_params':user_params,'guid':'test',
            'run_micro':False}
    #p1 = Process(target=runner, kwargs=kwargs)
    #p1.start()
    runner(**kwargs)
    # quit()

    '''
    ------------------------------------------------------------------------
        Run reform
    ------------------------------------------------------------------------
    '''
    # output_base = REFORM_DIR
    # input_dir = REFORM_DIR
    # guid_iter = 'reform_' + str(0)
    # kwargs={'output_base':output_base, 'baseline_dir':BASELINE_DIR,
    #         'baseline':False, 'analytical_mtrs':False, 'age_specific':False,
    #         'reform':reform, 'user_params':user_params,'guid':'38_mtr',
    #         'run_micro':False}
    # #p2 = Process(target=runner, kwargs=kwargs)
    # #p2.start()
    # runner(**kwargs)




    #p1.join()
    # print "just joined"
    #p2.join()

    # time.sleep(0.5)

    # ans = postprocess.create_diff(baseline_dir=BASELINE_DIR, policy_dir=REFORM_DIR)

    print "total time was ", (time.time() - start_time)
Exemple #7
0
def run_micro_macro(user_params):

    start_time = time.time()

    baseline_dir = "./OUTPUT_BASELINE"

    '''
    ------------------------------------------------------------------------
        Run calibration
    -----------------------------------------------------------------------
    '''
    # output_base = baseline_dir
    # input_dir = baseline_dir
    # user_params = {'frisch':1.5, 'sigma':3.0}
    # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
    #         'baseline':True, 'reform':0, 'user_params':user_params,
    #         'guid':'wealth_tax_baseline','calibrate_model':False}
    # runner_SS(**kwargs)
    # quit()
    # # sig_val = 3.0
    # # while sig_val < 3.05:
    # #     user_params = {'frisch':1.5, 'sigma':sig_val}
    # #     print 'SIMGA = ', sig_val
    # #     kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
    # #             'baseline':True, 'reform':0, 'user_params':user_params,
    # #             'guid':'wealth_tax_baseline','calibrate_model':False}
    # #     runner_SS(**kwargs)
    # #     sig_val += 0.05
    # #     quit()
    # #     time.sleep(10.5)
    # # quit()


    sigma_list = [2.0, 1.1, 1.0, 2.0, 2.1, 3.1, 3.2]

    '''
    Loop over value of sigma and run all baselines and reforms
    '''
    for item in sigma_list:
        print 'item= ', item
        # parameters that may update at each iteration
        user_params = {'frisch': 1.5, 'sigma': item}

        # set up directories to save output to
        baseline_dir = "./OUTPUT_BASELINE" + '/sigma' + str(item)
        wealth_dir = "./OUTPUT_WEALTH_REFORM" + '/sigma' + str(item)
        income_dir = "./OUTPUT_INCOME_REFORM" + '/sigma' + str(item)


        '''
        ------------------------------------------------------------------------
            Run SS for Baseline first
        ------------------------------------------------------------------------
        '''
        # output_base = baseline_dir
        # input_dir = baseline_dir
        # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
        #         'baseline':True, 'reform':0, 'fix_transfers':False, 'user_params':user_params,
        #         'guid':'baseline_sigma_'+str(item),'calibrate_model':False}
        # runner_SS(**kwargs)


        '''
        ------------------------------------------------------------------------
            Run baseline TPI
        ------------------------------------------------------------------------
        '''
        # output_base = baseline_dir
        # input_dir = baseline_dir
        # kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
        #         'baseline':True,'reform':0,'fix_transfers':False, 'user_params':user_params,
        #         'guid':'baseline_sigma_'+str(item),'calibrate_model':False}
        # runner(**kwargs)
        # quit()


        '''
        ------------------------------------------------------------------------
            Run wealth tax reform (needs to be run before income tax reform
            because it determines the SS revenue target)
        ------------------------------------------------------------------------
        '''
        output_base = wealth_dir
        input_dir = wealth_dir
        guid_iter = 'reform_' + str(0)
        kwargs={'output_base':output_base, 'baseline_dir':baseline_dir,
                'baseline':False, 'reform':2, 'fix_transfers':True, 'user_params':user_params,
                'guid':'wealth_tax_reform2','calibrate_model':False}
        runner(**kwargs)
        quit()

        '''
'''
A 'smoke test' for the ogusa package. Uses a fake data set to run the
baseline
'''

import cPickle as pickle
import os
import numpy as np
import time

import ogusa
ogusa.parameters.DATASET = 'SMALL'

import ogusa.SS
import ogusa.TPI
from ogusa import parameters, wealth, labor, demographics, income, SS, TPI

from ogusa import txfunc

#txfunc.get_tax_func_estimate(baseline=True)

from execute import runner


if __name__ == "__main__":
    output_base = "./OUTPUT_BASELINE"
    input_dir = "./OUTPUT_BASELINE"
    runner(output_base=output_base, input_dir=input_dir, baseline=True)
Exemple #9
0
def test_run_small():
    from execute import runner
    output_base = "./OUTPUT"
    input_dir = "./OUTPUT"
    user_params = {'frisch':0.41}
    runner(output_base=output_base, input_dir=input_dir, user_params=user_params, run_micro=False)