Beispiel #1
0
    def runner__do_run(self, args):
        import os
        from src.bank import Bank
        from src.household import Household
        from src.firm import Firm
        from src.environment import Environment  # needed for the Directory
        from src.runner import Runner
        from src.measurement import Measurement

        text = "This test checks runner.do_run \n"
        self.print_info(text)
        #
        # INITIALIZATION
        #
        environment_directory = str(args[0])
        identifier = str(args[1])
        log_directory = str(args[2])

        # Configure logging parameters so we get output while the program runs
        logging.basicConfig(
            format="%(asctime)s %(message)s",
            datefmt="%m/%d/%Y %H:%M:%S",
            filename=log_directory + identifier + ".log",
            level=logging.INFO,
        )
        logging.info("START logging for test runner_do_run in run: %s", environment_directory + identifier + ".xml")

        # Construct bank filename
        environment = Environment(environment_directory, identifier)

        # get the bank_directory from the environment
        bank_directory = environment.bank_directory
        # and loop over all banks in the directory for testing purpose (just one bank)
        listing = os.listdir(bank_directory)
        bank_filename = bank_directory + listing[0]

        # making an instance of the Runner class
        runner = Runner(environment)

        #
        # TESTING
        #
        runner.do_run(environment)
Beispiel #2
0
#
# INITIALIZATION
#
    environment_directory = str(args[1])
    identifier = str(args[2])
    log_directory = str(args[3])

    # Configure logging parameters so we get output while the program runs
    logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S',
                        filename=log_directory + identifier + ".log", level=logging.INFO)
    logging.info('START logging for run: %s',  environment_directory + identifier + ".xml")

    environment = Environment(environment_directory,  identifier)
    runner = Runner(environment)

#
# UPDATE STEP
#
    for i in range(int(environment.num_simulations)):
        logging.info('  STARTED with run %s',  str(i))
        environment.initialize(environment_directory,  identifier)
        runner.initialize(environment)
        # do the run
        runner.do_run(environment)
        logging.info('  DONE')

#
# MEASUREMENT AND LOGGING
#
    logging.info('FINISHED logging for run: %s \n', environment_directory + identifier + ".xml")
    for index1, element1 in enumerate(delta_leverage):  

        for index2, element2 in enumerate(shock_list):

            print("**********START simulation %s") % (index2+1)
                
            environment.initialize(environment_directory, identifier)
            environment.shocks[0].asset_returns['m_14'] = element2
            environment.static_parameters['leverage_increase']  = element1 

            print environment.shocks[0].asset_returns['m_14']
            logging.info('  STARTED with run %s',  str(index2))
            runner.initialize(environment)
            # do the run
            runner.do_run(environment)
            df_system = runner.updater.env_var_par_df
        
            df_asset_class = pd.DataFrame({'asset_class': ['m_14']})
            df_shock = pd.DataFrame({'shock': [element2]})
            df_illiquidity = pd.DataFrame({'leverage': [element1]})

            df_all_fucking_variables = pd.concat((df_system , df_asset_class, df_shock, df_illiquidity), axis=1, ignore_index = False )
        
            output.append(df_all_fucking_variables)
        
            logging.info(' Run DONE')
            logging.info("***\nSimulation number %s had total number of %s sweeps", index2, str(runner.num_sweeps))
            logging.info("***\nSimulation number %s had total number of %s shocks", index2, str(number_shocks))

            logging.info("***\nThis run had the illiquidity coefficient %s " , environment.static_parameters['illiquidity'])
Beispiel #4
0
    )
    logging.info("START logging for run: %s", environment_directory + identifier + ".xml")

    environment = Environment(environment_directory, identifier)
    # environment.initialize(environment_directory,  identifier)
    runner = Runner()
    measurement = Measurement()

    #
    # UPDATE STEP
    #
    for i in range(environment.static_parameters["numSimulations"]):
        logging.info("  STARTED with run %s", str(i))
        environment.initialize(environment_directory, identifier)
        # check that environment file has been read correctly
        # environment.write_environment_file(identifier)
        runner.initialize(environment)
        measurement.initialize()  # clear the previous measurement

        # do the run
        runner.do_run(measurement, "info")
        # do the histograms, i.e. add the current measurement to the histogram
        measurement.do_histograms()
        logging.info("  DONE")

    #
    # MEASUREMENT AND LOGGING
    #
    measurement.write_histograms(measurement_directory, environment)
    logging.info("FINISHED logging for run: %s \n", environment_directory + identifier + ".xml")
Beispiel #5
0
    identifier = str(args[1])
    log_directory = str(args[2])

    # Configure logging parameters so we get output while the program runs
    logging.basicConfig(format='%(asctime)s %(message)s',
                        datefmt='%m/%d/%Y %H:%M:%S',
                        filename=log_directory + identifier + ".log",
                        level=logging.INFO)
    logging.info("START logging")

    logging.info(
        'Instantiate environment object to find environment.static_parameters["num_simulations"]'
    )
    environment = Environment(environment_directory, identifier)
    logging.info('Instantiate runner object')
    runner = Runner(environment)

    #
    # UPDATE STEP
    #
    logging.info('Iterating over %s number of simulations ',
                 environment.static_parameters['num_simulations'])
    for i in range(int(environment.static_parameters['num_simulations'])):
        # environment.initialize(environment_directory, identifier)  Turns out I don't need to call this as already initialized environment?? Crazy
        logging.info(
            'Call runner.initialize to get num_sweeps and pass into runner')

        runner.initialize(environment)
        #     # do the run
        runner.do_run(environment, i)