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)
# # 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'])
) 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")
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)