From 3803825fdb7e0fd5de9fe946d5fc07f571d97c69 Mon Sep 17 00:00:00 2001 From: rht Date: Wed, 5 Dec 2018 01:52:28 +0000 Subject: [PATCH 01/12] [REFACTOR] Move metainsuranceorg.py to a folder agents/ --- metainsuranceorg.py => agents/metainsuranceorg.py | 0 catbond.py | 2 +- insurancefirm.py | 2 +- reinsurancefirm.py | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename metainsuranceorg.py => agents/metainsuranceorg.py (100%) diff --git a/metainsuranceorg.py b/agents/metainsuranceorg.py similarity index 100% rename from metainsuranceorg.py rename to agents/metainsuranceorg.py diff --git a/catbond.py b/catbond.py index 1445011..de85424 100644 --- a/catbond.py +++ b/catbond.py @@ -4,7 +4,7 @@ import scipy.stats from insurancecontract import InsuranceContract from reinsurancecontract import ReinsuranceContract -from metainsuranceorg import MetaInsuranceOrg +from agents.metainsuranceorg import MetaInsuranceOrg from riskmodel import RiskModel import sys, pdb import uuid diff --git a/insurancefirm.py b/insurancefirm.py index 61d5746..105f29d 100644 --- a/insurancefirm.py +++ b/insurancefirm.py @@ -1,4 +1,4 @@ -from metainsuranceorg import MetaInsuranceOrg +from agents.metainsuranceorg import MetaInsuranceOrg from catbond import CatBond import numpy as np from reinsurancecontract import ReinsuranceContract diff --git a/reinsurancefirm.py b/reinsurancefirm.py index 1c1558b..ff45ede 100644 --- a/reinsurancefirm.py +++ b/reinsurancefirm.py @@ -1,4 +1,4 @@ -#from metainsuranceorg import MetaInsuranceOrg +#from agents.metainsuranceorg import MetaInsuranceOrg from insurancefirm import InsuranceFirm class ReinsuranceFirm(InsuranceFirm): From e1628108e0ded5a7de4658d43f24c772d8db9aab Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 02:15:20 +0000 Subject: [PATCH 02/12] Move catbond to agents/ --- catbond.py => agents/catbond.py | 0 insurancefirm.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename catbond.py => agents/catbond.py (100%) diff --git a/catbond.py b/agents/catbond.py similarity index 100% rename from catbond.py rename to agents/catbond.py diff --git a/insurancefirm.py b/insurancefirm.py index 105f29d..8a36cbc 100644 --- a/insurancefirm.py +++ b/insurancefirm.py @@ -1,5 +1,5 @@ from agents.metainsuranceorg import MetaInsuranceOrg -from catbond import CatBond +from agents.catbond import CatBond import numpy as np from reinsurancecontract import ReinsuranceContract import isleconfig From a9347e1298b7ac982da28ad3bc65ba31d83a058a Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 15:35:38 +0000 Subject: [PATCH 03/12] Move insurancefirm to agents/ --- insurancefirm.py => agents/insurancefirm.py | 0 insurancesimulation.py | 2 +- reinsurancefirm.py | 2 +- resume.py | 2 +- start.py | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename insurancefirm.py => agents/insurancefirm.py (100%) diff --git a/insurancefirm.py b/agents/insurancefirm.py similarity index 100% rename from insurancefirm.py rename to agents/insurancefirm.py diff --git a/insurancesimulation.py b/insurancesimulation.py index 7857f10..90d555b 100644 --- a/insurancesimulation.py +++ b/insurancesimulation.py @@ -1,4 +1,4 @@ -from insurancefirm import InsuranceFirm +from agents.insurancefirm import InsuranceFirm #from riskmodel import RiskModel from reinsurancefirm import ReinsuranceFirm from distributiontruncated import TruncatedDistWrapper diff --git a/reinsurancefirm.py b/reinsurancefirm.py index ff45ede..33c1ebb 100644 --- a/reinsurancefirm.py +++ b/reinsurancefirm.py @@ -1,5 +1,5 @@ #from agents.metainsuranceorg import MetaInsuranceOrg -from insurancefirm import InsuranceFirm +from agents.insurancefirm import InsuranceFirm class ReinsuranceFirm(InsuranceFirm): """ReinsuranceFirm class. diff --git a/resume.py b/resume.py index 7c60700..943603c 100644 --- a/resume.py +++ b/resume.py @@ -60,7 +60,7 @@ from abce import gui from insurancesimulation import InsuranceSimulation -from insurancefirm import InsuranceFirm +from agents.insurancefirm import InsuranceFirm from riskmodel import RiskModel from reinsurancefirm import ReinsuranceFirm diff --git a/start.py b/start.py index 26f43a0..509321a 100644 --- a/start.py +++ b/start.py @@ -19,7 +19,7 @@ override_no_riskmodels = False from insurancesimulation import InsuranceSimulation -from insurancefirm import InsuranceFirm +from agents.insurancefirm import InsuranceFirm from riskmodel import RiskModel from reinsurancefirm import ReinsuranceFirm import logger From 3b9fef460a8cb5830402f28fbfc523112d9d72ad Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:15:55 +0000 Subject: [PATCH 04/12] Move reinsurancefirm to agents/ --- reinsurancefirm.py => agents/reinsurancefirm.py | 0 insurancesimulation.py | 2 +- resume.py | 2 +- start.py | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename reinsurancefirm.py => agents/reinsurancefirm.py (100%) diff --git a/reinsurancefirm.py b/agents/reinsurancefirm.py similarity index 100% rename from reinsurancefirm.py rename to agents/reinsurancefirm.py diff --git a/insurancesimulation.py b/insurancesimulation.py index 90d555b..f129dee 100644 --- a/insurancesimulation.py +++ b/insurancesimulation.py @@ -1,6 +1,6 @@ from agents.insurancefirm import InsuranceFirm #from riskmodel import RiskModel -from reinsurancefirm import ReinsuranceFirm +from agents.reinsurancefirm import ReinsuranceFirm from distributiontruncated import TruncatedDistWrapper import numpy as np import scipy.stats diff --git a/resume.py b/resume.py index 943603c..c7935ed 100644 --- a/resume.py +++ b/resume.py @@ -62,7 +62,7 @@ from insurancesimulation import InsuranceSimulation from agents.insurancefirm import InsuranceFirm from riskmodel import RiskModel -from reinsurancefirm import ReinsuranceFirm +from agents.reinsurancefirm import ReinsuranceFirm # create conditional decorator def conditionally(decorator_function, condition): diff --git a/start.py b/start.py index 509321a..382a972 100644 --- a/start.py +++ b/start.py @@ -21,7 +21,7 @@ from insurancesimulation import InsuranceSimulation from agents.insurancefirm import InsuranceFirm from riskmodel import RiskModel -from reinsurancefirm import ReinsuranceFirm +from agents.reinsurancefirm import ReinsuranceFirm import logger import calibrationscore From b237057dd0563010c37adf088955cde15e26909e Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:16:58 +0000 Subject: [PATCH 05/12] Move genericagent to agents/ --- genericagent.py => agents/genericagent.py | 0 agents/metainsuranceorg.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename genericagent.py => agents/genericagent.py (100%) diff --git a/genericagent.py b/agents/genericagent.py similarity index 100% rename from genericagent.py rename to agents/genericagent.py diff --git a/agents/metainsuranceorg.py b/agents/metainsuranceorg.py index 49547a3..a3b65cd 100644 --- a/agents/metainsuranceorg.py +++ b/agents/metainsuranceorg.py @@ -13,7 +13,7 @@ from genericagentabce import GenericAgent #print("abce imported") else: - from genericagent import GenericAgent + from agents.genericagent import GenericAgent #print("abce not imported") class MetaInsuranceOrg(GenericAgent): From 099b0c980c101e2bd82e8ba9d81a3e08bd83af69 Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:17:31 +0000 Subject: [PATCH 06/12] Move genericagentabce to gents/ --- genericagentabce.py => agents/genericagentabce.py | 0 agents/metainsuranceorg.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename genericagentabce.py => agents/genericagentabce.py (100%) diff --git a/genericagentabce.py b/agents/genericagentabce.py similarity index 100% rename from genericagentabce.py rename to agents/genericagentabce.py diff --git a/agents/metainsuranceorg.py b/agents/metainsuranceorg.py index a3b65cd..ac671eb 100644 --- a/agents/metainsuranceorg.py +++ b/agents/metainsuranceorg.py @@ -10,7 +10,7 @@ import uuid if isleconfig.use_abce: - from genericagentabce import GenericAgent + from agents.genericagentabce import GenericAgent #print("abce imported") else: from agents.genericagent import GenericAgent From b3a168c335f8af2ea34650f9e2df45a9cf431969 Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:19:39 +0000 Subject: [PATCH 07/12] Move metainsurancecontract to contracts/ --- .../metainsurancecontract.py | 0 insurancecontract.py | 2 +- reinsurancecontract.py | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename metainsurancecontract.py => contracts/metainsurancecontract.py (100%) diff --git a/metainsurancecontract.py b/contracts/metainsurancecontract.py similarity index 100% rename from metainsurancecontract.py rename to contracts/metainsurancecontract.py diff --git a/insurancecontract.py b/insurancecontract.py index 5feb2d0..02c291d 100644 --- a/insurancecontract.py +++ b/insurancecontract.py @@ -1,6 +1,6 @@ import numpy as np -from metainsurancecontract import MetaInsuranceContract +from contracts.metainsurancecontract import MetaInsuranceContract class InsuranceContract(MetaInsuranceContract): diff --git a/reinsurancecontract.py b/reinsurancecontract.py index 199237c..45a2cb5 100644 --- a/reinsurancecontract.py +++ b/reinsurancecontract.py @@ -1,6 +1,6 @@ import numpy as np -from metainsurancecontract import MetaInsuranceContract +from contracts.metainsurancecontract import MetaInsuranceContract class ReinsuranceContract(MetaInsuranceContract): """ReinsuranceContract class. @@ -66,4 +66,4 @@ def mature(self, time): if np.random.uniform(0,1,1) < 0.95: reinrisk = self.property_holder.create_reinrisk(time,self.category) if reinrisk is not None and hasattr(self.insurer, 'reinrisks_kept'): - self.insurer.reinrisks_kept.append(reinrisk) \ No newline at end of file + self.insurer.reinrisks_kept.append(reinrisk) From 8658f9ade78260ab6a26ebc248056456f721525e Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:20:40 +0000 Subject: [PATCH 08/12] Move insurancecontract to contracts/ --- agents/catbond.py | 2 +- agents/metainsuranceorg.py | 2 +- insurancecontract.py => contracts/insurancecontract.py | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename insurancecontract.py => contracts/insurancecontract.py (100%) diff --git a/agents/catbond.py b/agents/catbond.py index de85424..5802589 100644 --- a/agents/catbond.py +++ b/agents/catbond.py @@ -2,7 +2,7 @@ import isleconfig import numpy as np import scipy.stats -from insurancecontract import InsuranceContract +from contracts.insurancecontract import InsuranceContract from reinsurancecontract import ReinsuranceContract from agents.metainsuranceorg import MetaInsuranceOrg from riskmodel import RiskModel diff --git a/agents/metainsuranceorg.py b/agents/metainsuranceorg.py index ac671eb..d8182eb 100644 --- a/agents/metainsuranceorg.py +++ b/agents/metainsuranceorg.py @@ -3,7 +3,7 @@ import numpy as np import scipy.stats import copy -from insurancecontract import InsuranceContract +from contracts.insurancecontract import InsuranceContract from reinsurancecontract import ReinsuranceContract from riskmodel import RiskModel import sys, pdb diff --git a/insurancecontract.py b/contracts/insurancecontract.py similarity index 100% rename from insurancecontract.py rename to contracts/insurancecontract.py From a9c0bc3cbd107ef392e0ea447126e00de1f31db1 Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 16:22:00 +0000 Subject: [PATCH 09/12] Move reinsurancecontract to agents/ --- agents/catbond.py | 2 +- agents/insurancefirm.py | 2 +- agents/metainsuranceorg.py | 2 +- reinsurancecontract.py => contracts/reinsurancecontract.py | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename reinsurancecontract.py => contracts/reinsurancecontract.py (100%) diff --git a/agents/catbond.py b/agents/catbond.py index 5802589..a09ff35 100644 --- a/agents/catbond.py +++ b/agents/catbond.py @@ -3,7 +3,7 @@ import numpy as np import scipy.stats from contracts.insurancecontract import InsuranceContract -from reinsurancecontract import ReinsuranceContract +from contracts.reinsurancecontract import ReinsuranceContract from agents.metainsuranceorg import MetaInsuranceOrg from riskmodel import RiskModel import sys, pdb diff --git a/agents/insurancefirm.py b/agents/insurancefirm.py index 8a36cbc..88398d8 100644 --- a/agents/insurancefirm.py +++ b/agents/insurancefirm.py @@ -1,7 +1,7 @@ from agents.metainsuranceorg import MetaInsuranceOrg from agents.catbond import CatBond import numpy as np -from reinsurancecontract import ReinsuranceContract +from contracts.reinsurancecontract import ReinsuranceContract import isleconfig class InsuranceFirm(MetaInsuranceOrg): diff --git a/agents/metainsuranceorg.py b/agents/metainsuranceorg.py index d8182eb..5e36152 100644 --- a/agents/metainsuranceorg.py +++ b/agents/metainsuranceorg.py @@ -4,7 +4,7 @@ import scipy.stats import copy from contracts.insurancecontract import InsuranceContract -from reinsurancecontract import ReinsuranceContract +from contracts.reinsurancecontract import ReinsuranceContract from riskmodel import RiskModel import sys, pdb import uuid diff --git a/reinsurancecontract.py b/contracts/reinsurancecontract.py similarity index 100% rename from reinsurancecontract.py rename to contracts/reinsurancecontract.py From 8b123de8430433f5c2af31034a16a849c6d9ae78 Mon Sep 17 00:00:00 2001 From: rht Date: Sat, 8 Dec 2018 23:52:08 +0000 Subject: [PATCH 10/12] insurancesimulation: Simplify riskmodel_config input --- agents/metainsuranceorg.py | 12 +----------- insurancesimulation.py | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/agents/metainsuranceorg.py b/agents/metainsuranceorg.py index 5e36152..7166752 100644 --- a/agents/metainsuranceorg.py +++ b/agents/metainsuranceorg.py @@ -47,17 +47,7 @@ def init(self, simulation_parameters, agent_parameters): self.cash_last_periods = list(np.zeros(4, dtype=int)*self.cash) rm_config = agent_parameters['riskmodel_config'] - self.riskmodel = RiskModel(damage_distribution=rm_config["damage_distribution"], \ - expire_immediately=rm_config["expire_immediately"], \ - cat_separation_distribution=rm_config["cat_separation_distribution"], \ - norm_premium=rm_config["norm_premium"], \ - category_number=rm_config["no_categories"], \ - init_average_exposure=rm_config["risk_value_mean"], \ - init_average_risk_factor=rm_config["risk_factor_mean"], \ - init_profit_estimate=rm_config["norm_profit_markup"], \ - margin_of_safety=rm_config["margin_of_safety"], \ - var_tail_prob=rm_config["var_tail_prob"], \ - inaccuracy=rm_config["inaccuracy_by_categ"]) + self.riskmodel = RiskModel(**rm_config) self.category_reinsurance = [None for i in range(self.simulation_no_risk_categories)] if self.simulation_reinsurance_type == 'non-proportional': diff --git a/insurancesimulation.py b/insurancesimulation.py index f129dee..04bbc4b 100644 --- a/insurancesimulation.py +++ b/insurancesimulation.py @@ -123,18 +123,19 @@ def __init__(self, override_no_riskmodels, replic_ID, simulation_parameters, rc_ self.inaccuracy = random.sample(self.inaccuracy, self.simulation_parameters["no_riskmodels"]) - risk_model_configurations = [{"damage_distribution": self.damage_distribution, - "expire_immediately": self.simulation_parameters["expire_immediately"], - "cat_separation_distribution": self.cat_separation_distribution, - "norm_premium": self.norm_premium, - "no_categories": self.simulation_parameters["no_categories"], - "risk_value_mean": risk_value_mean, - "risk_factor_mean": risk_factor_mean, - "norm_profit_markup": self.simulation_parameters["norm_profit_markup"], - "margin_of_safety": self.simulation_parameters["riskmodel_margin_of_safety"], - "var_tail_prob": self.simulation_parameters["value_at_risk_tail_probability"], - "inaccuracy_by_categ": self.inaccuracy[i]} \ - for i in range(self.simulation_parameters["no_riskmodels"])] + risk_model_configurations = [ + {"damage_distribution": self.damage_distribution, + "expire_immediately": self.simulation_parameters["expire_immediately"], + "cat_separation_distribution": self.cat_separation_distribution, + "norm_premium": self.norm_premium, + "category_number": self.simulation_parameters["no_categories"], + "init_average_exposure": risk_value_mean, + "init_average_risk_factor": risk_factor_mean, + "init_profit_estimate": self.simulation_parameters["norm_profit_markup"], + "margin_of_safety": self.simulation_parameters["riskmodel_margin_of_safety"], + "var_tail_prob": self.simulation_parameters["value_at_risk_tail_probability"], + "inaccuracy": self.inaccuracy[i]} + for i in range(self.simulation_parameters["no_riskmodels"])] # prepare setting up agents (to be done from start.py) self.agent_parameters = {"insurancefirm": [], "reinsurance": []} # TODO: rename reinsurance -> reinsurancefirm (also in start.py and below in method accept_agents From b176070bcba028b1194058365cc42fe8a52d4fcb Mon Sep 17 00:00:00 2001 From: rht Date: Sun, 9 Dec 2018 00:10:28 +0000 Subject: [PATCH 11/12] insurancesimulation: Combine insurancefirm and reinsurancefirm parameters init --- insurancesimulation.py | 65 ++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/insurancesimulation.py b/insurancesimulation.py index 04bbc4b..cba1366 100644 --- a/insurancesimulation.py +++ b/insurancesimulation.py @@ -141,47 +141,32 @@ def __init__(self, override_no_riskmodels, replic_ID, simulation_parameters, rc_ self.agent_parameters = {"insurancefirm": [], "reinsurance": []} # TODO: rename reinsurance -> reinsurancefirm (also in start.py and below in method accept_agents self.insurer_id_counter = 0 - # TODO: collapse the following two loops into one generic one? - for i in range(simulation_parameters["no_insurancefirms"]): - if simulation_parameters['static_non-proportional_reinsurance_levels']: - insurance_reinsurance_level = simulation_parameters["default_non-proportional_reinsurance_deductible"] - else: - insurance_reinsurance_level = np.random.uniform(simulation_parameters["insurance_reinsurance_levels_lower_bound"], simulation_parameters["insurance_reinsurance_levels_upper_bound"]) - - riskmodel_config = risk_model_configurations[i % len(risk_model_configurations)] - self.agent_parameters["insurancefirm"].append({'id': self.get_unique_insurer_id(), 'initial_cash': simulation_parameters["initial_agent_cash"], - 'riskmodel_config': riskmodel_config, 'norm_premium': self.norm_premium, - 'profit_target': simulation_parameters["norm_profit_markup"], - 'initial_acceptance_threshold': simulation_parameters["initial_acceptance_threshold"], - 'acceptance_threshold_friction': simulation_parameters["acceptance_threshold_friction"], - 'reinsurance_limit': simulation_parameters["reinsurance_limit"], - 'non-proportional_reinsurance_level': insurance_reinsurance_level, - 'capacity_target_decrement_threshold': simulation_parameters['capacity_target_decrement_threshold'], - 'capacity_target_increment_threshold': simulation_parameters['capacity_target_increment_threshold'], - 'capacity_target_decrement_factor': simulation_parameters['capacity_target_decrement_factor'], - 'capacity_target_increment_factor': simulation_parameters['capacity_target_increment_factor'], - 'interest_rate': simulation_parameters["interest_rate"]}) - self.reinsurer_id_counter = 0 - for i in range(simulation_parameters["no_reinsurancefirms"]): - if simulation_parameters['static_non-proportional_reinsurance_levels']: - reinsurance_reinsurance_level = simulation_parameters["default_non-proportional_reinsurance_deductible"] - else: - reinsurance_reinsurance_level = np.random.uniform(simulation_parameters["reinsurance_reinsurance_levels_lower_bound"], simulation_parameters["reinsurance_reinsurance_levels_upper_bound"]) - - riskmodel_config = risk_model_configurations[i % len(risk_model_configurations)] - self.agent_parameters["reinsurance"].append({'id': self.get_unique_reinsurer_id(), 'initial_cash': simulation_parameters["initial_reinagent_cash"], - 'riskmodel_config': riskmodel_config, 'norm_premium': self.norm_premium, - 'profit_target': simulation_parameters["norm_profit_markup"], - 'initial_acceptance_threshold': simulation_parameters["initial_acceptance_threshold"], - 'acceptance_threshold_friction': simulation_parameters["acceptance_threshold_friction"], - 'reinsurance_limit': simulation_parameters["reinsurance_limit"], - 'non-proportional_reinsurance_level': reinsurance_reinsurance_level, - 'capacity_target_decrement_threshold': simulation_parameters['capacity_target_decrement_threshold'], - 'capacity_target_increment_threshold': simulation_parameters['capacity_target_increment_threshold'], - 'capacity_target_decrement_factor': simulation_parameters['capacity_target_decrement_factor'], - 'capacity_target_increment_factor': simulation_parameters['capacity_target_increment_factor'], - 'interest_rate': simulation_parameters["interest_rate"]}) + + for a_type in ["insurance", "reinsurance"]: + _n = "no_" + a_type + "firms" + for i in range(simulation_parameters[_n]): + if simulation_parameters['static_non-proportional_reinsurance_levels']: + reinsurance_level = simulation_parameters["default_non-proportional_reinsurance_deductible"] + else: + reinsurance_level = np.random.uniform(simulation_parameters[a_type + "_reinsurance_levels_lower_bound"], simulation_parameters[a_type + "_reinsurance_levels_upper_bound"]) + + riskmodel_config = risk_model_configurations[i % len(risk_model_configurations)] + self.agent_parameters[a_type + "firm"].append({ + 'id': self.get_unique_insurer_id(), 'initial_cash': simulation_parameters["initial_agent_cash"], + 'riskmodel_config': riskmodel_config, 'norm_premium': self.norm_premium, + 'profit_target': simulation_parameters["norm_profit_markup"], + 'initial_acceptance_threshold': simulation_parameters["initial_acceptance_threshold"], + 'acceptance_threshold_friction': simulation_parameters["acceptance_threshold_friction"], + 'reinsurance_limit': simulation_parameters["reinsurance_limit"], + 'non-proportional_reinsurance_level': reinsurance_level, + 'capacity_target_decrement_threshold': simulation_parameters['capacity_target_decrement_threshold'], + 'capacity_target_increment_threshold': simulation_parameters['capacity_target_increment_threshold'], + 'capacity_target_decrement_factor': simulation_parameters['capacity_target_decrement_factor'], + 'capacity_target_increment_factor': simulation_parameters['capacity_target_increment_factor'], + 'interest_rate': simulation_parameters["interest_rate"]}) + + # set up remaining list variables From 3be05b17ba841fb55fa53ef73d2eb3d36acf2f40 Mon Sep 17 00:00:00 2001 From: rht Date: Sun, 9 Dec 2018 00:14:13 +0000 Subject: [PATCH 12/12] accept_agents: Remove unnecessary try-except wrapping --- insurancesimulation.py | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/insurancesimulation.py b/insurancesimulation.py index cba1366..c8f35bd 100644 --- a/insurancesimulation.py +++ b/insurancesimulation.py @@ -210,12 +210,8 @@ def build_agents(self, agent_class, agent_class_string, parameters, agent_parame def accept_agents(self, agent_class_string, agents, agent_group=None, time=0): # TODO: fix agent id's for late entrants (both firms and catbonds) if agent_class_string == "insurancefirm": - try: - self.insurancefirms += agents - self.insurancefirms_group = agent_group - except: - print(sys.exc_info()) - pdb.set_trace() + self.insurancefirms += agents + self.insurancefirms_group = agent_group # fix self.history_logs['individual_contracts'] list for agent in agents: self.logger.add_insurance_agent() @@ -223,21 +219,13 @@ def accept_agents(self, agent_class_string, agents, agent_group=None, time=0): new_agent_cash = sum([agent.cash for agent in agents]) self.reduce_money_supply(new_agent_cash) elif agent_class_string == "reinsurance": - try: - self.reinsurancefirms += agents - self.reinsurancefirms_group = agent_group - except: - print(sys.exc_info()) - pdb.set_trace() + self.reinsurancefirms += agents + self.reinsurancefirms_group = agent_group # remove new agent cash from simulation cash to ensure stock flow consistency new_agent_cash = sum([agent.cash for agent in agents]) self.reduce_money_supply(new_agent_cash) elif agent_class_string == "catbond": - try: - self.catbonds += agents - except: - print(sys.exc_info()) - pdb.set_trace() + self.catbonds += agents else: assert False, "Error: Unexpected agent class used {0:s}".format(agent_class_string)