@@ -141,47 +141,32 @@ def __init__(self, override_no_riskmodels, replic_ID, simulation_parameters, rc_
141
141
self .agent_parameters = {"insurancefirm" : [], "reinsurance" : []} # TODO: rename reinsurance -> reinsurancefirm (also in start.py and below in method accept_agents
142
142
143
143
self .insurer_id_counter = 0
144
- # TODO: collapse the following two loops into one generic one?
145
- for i in range (simulation_parameters ["no_insurancefirms" ]):
146
- if simulation_parameters ['static_non-proportional_reinsurance_levels' ]:
147
- insurance_reinsurance_level = simulation_parameters ["default_non-proportional_reinsurance_deductible" ]
148
- else :
149
- insurance_reinsurance_level = np .random .uniform (simulation_parameters ["insurance_reinsurance_levels_lower_bound" ], simulation_parameters ["insurance_reinsurance_levels_upper_bound" ])
150
-
151
- riskmodel_config = risk_model_configurations [i % len (risk_model_configurations )]
152
- self .agent_parameters ["insurancefirm" ].append ({'id' : self .get_unique_insurer_id (), 'initial_cash' : simulation_parameters ["initial_agent_cash" ],
153
- 'riskmodel_config' : riskmodel_config , 'norm_premium' : self .norm_premium ,
154
- 'profit_target' : simulation_parameters ["norm_profit_markup" ],
155
- 'initial_acceptance_threshold' : simulation_parameters ["initial_acceptance_threshold" ],
156
- 'acceptance_threshold_friction' : simulation_parameters ["acceptance_threshold_friction" ],
157
- 'reinsurance_limit' : simulation_parameters ["reinsurance_limit" ],
158
- 'non-proportional_reinsurance_level' : insurance_reinsurance_level ,
159
- 'capacity_target_decrement_threshold' : simulation_parameters ['capacity_target_decrement_threshold' ],
160
- 'capacity_target_increment_threshold' : simulation_parameters ['capacity_target_increment_threshold' ],
161
- 'capacity_target_decrement_factor' : simulation_parameters ['capacity_target_decrement_factor' ],
162
- 'capacity_target_increment_factor' : simulation_parameters ['capacity_target_increment_factor' ],
163
- 'interest_rate' : simulation_parameters ["interest_rate" ]})
164
-
165
144
self .reinsurer_id_counter = 0
166
- for i in range (simulation_parameters ["no_reinsurancefirms" ]):
167
- if simulation_parameters ['static_non-proportional_reinsurance_levels' ]:
168
- reinsurance_reinsurance_level = simulation_parameters ["default_non-proportional_reinsurance_deductible" ]
169
- else :
170
- reinsurance_reinsurance_level = np .random .uniform (simulation_parameters ["reinsurance_reinsurance_levels_lower_bound" ], simulation_parameters ["reinsurance_reinsurance_levels_upper_bound" ])
171
-
172
- riskmodel_config = risk_model_configurations [i % len (risk_model_configurations )]
173
- self .agent_parameters ["reinsurance" ].append ({'id' : self .get_unique_reinsurer_id (), 'initial_cash' : simulation_parameters ["initial_reinagent_cash" ],
174
- 'riskmodel_config' : riskmodel_config , 'norm_premium' : self .norm_premium ,
175
- 'profit_target' : simulation_parameters ["norm_profit_markup" ],
176
- 'initial_acceptance_threshold' : simulation_parameters ["initial_acceptance_threshold" ],
177
- 'acceptance_threshold_friction' : simulation_parameters ["acceptance_threshold_friction" ],
178
- 'reinsurance_limit' : simulation_parameters ["reinsurance_limit" ],
179
- 'non-proportional_reinsurance_level' : reinsurance_reinsurance_level ,
180
- 'capacity_target_decrement_threshold' : simulation_parameters ['capacity_target_decrement_threshold' ],
181
- 'capacity_target_increment_threshold' : simulation_parameters ['capacity_target_increment_threshold' ],
182
- 'capacity_target_decrement_factor' : simulation_parameters ['capacity_target_decrement_factor' ],
183
- 'capacity_target_increment_factor' : simulation_parameters ['capacity_target_increment_factor' ],
184
- 'interest_rate' : simulation_parameters ["interest_rate" ]})
145
+
146
+ for a_type in ["insurance" , "reinsurance" ]:
147
+ _n = "no_" + a_type + "firms"
148
+ for i in range (simulation_parameters [_n ]):
149
+ if simulation_parameters ['static_non-proportional_reinsurance_levels' ]:
150
+ reinsurance_level = simulation_parameters ["default_non-proportional_reinsurance_deductible" ]
151
+ else :
152
+ reinsurance_level = np .random .uniform (simulation_parameters [a_type + "_reinsurance_levels_lower_bound" ], simulation_parameters [a_type + "_reinsurance_levels_upper_bound" ])
153
+
154
+ riskmodel_config = risk_model_configurations [i % len (risk_model_configurations )]
155
+ self .agent_parameters [a_type + "firm" ].append ({
156
+ 'id' : self .get_unique_insurer_id (), 'initial_cash' : simulation_parameters ["initial_agent_cash" ],
157
+ 'riskmodel_config' : riskmodel_config , 'norm_premium' : self .norm_premium ,
158
+ 'profit_target' : simulation_parameters ["norm_profit_markup" ],
159
+ 'initial_acceptance_threshold' : simulation_parameters ["initial_acceptance_threshold" ],
160
+ 'acceptance_threshold_friction' : simulation_parameters ["acceptance_threshold_friction" ],
161
+ 'reinsurance_limit' : simulation_parameters ["reinsurance_limit" ],
162
+ 'non-proportional_reinsurance_level' : reinsurance_level ,
163
+ 'capacity_target_decrement_threshold' : simulation_parameters ['capacity_target_decrement_threshold' ],
164
+ 'capacity_target_increment_threshold' : simulation_parameters ['capacity_target_increment_threshold' ],
165
+ 'capacity_target_decrement_factor' : simulation_parameters ['capacity_target_decrement_factor' ],
166
+ 'capacity_target_increment_factor' : simulation_parameters ['capacity_target_increment_factor' ],
167
+ 'interest_rate' : simulation_parameters ["interest_rate" ]})
168
+
169
+
185
170
186
171
# set up remaining list variables
187
172
0 commit comments