Fumagalli_Motta_Tarantino_2020.Configurations.StoreConfig
1import Fumagalli_Motta_Tarantino_2020.Models.Types as Types 2 3 4class ParameterModel: 5 """ 6 Holds all parameters (excluding the asset distribution) for a 7 Fumagalli_Motta_Tarantino_2020.Models.OptimalMergerPolicy model and all child classes using the same parameters. 8 """ 9 10 def __init__( 11 self, 12 merger_policy: Types.MergerPolicies, 13 development_costs: float, 14 startup_assets: float, 15 success_probability: float, 16 development_success: bool, 17 private_benefit: float, 18 consumer_surplus_without_innovation: float, 19 incumbent_profit_without_innovation: float, 20 consumer_surplus_duopoly: float, 21 incumbent_profit_duopoly: float, 22 startup_profit_duopoly: float, 23 consumer_surplus_with_innovation: float, 24 incumbent_profit_with_innovation: float, 25 ): 26 self.params = { 27 "merger_policy": merger_policy, 28 "development_costs": development_costs, 29 "startup_assets": startup_assets, 30 "success_probability": success_probability, 31 "development_success": development_success, 32 "private_benefit": private_benefit, 33 "consumer_surplus_without_innovation": consumer_surplus_without_innovation, 34 "incumbent_profit_without_innovation": incumbent_profit_without_innovation, 35 "consumer_surplus_duopoly": consumer_surplus_duopoly, 36 "incumbent_profit_duopoly": incumbent_profit_duopoly, 37 "startup_profit_duopoly": startup_profit_duopoly, 38 "consumer_surplus_with_innovation": consumer_surplus_with_innovation, 39 "incumbent_profit_with_innovation": incumbent_profit_with_innovation, 40 } 41 42 def get(self, key: str): 43 """ 44 Returns the value for a specific parameter value 45 """ 46 assert key in self.params.keys() 47 return self.params[key] 48 49 def set(self, key: str, value: float): 50 """ 51 Sets the value of a specific parameter value. 52 53 For the merger policy use the designated setter 54 (Fumagalli_Motta_Tarantino_2020.Configurations.LoadConfig.merger_policy). 55 """ 56 assert key in self.params.keys() 57 self.params[key] = value 58 assert self.params[key] == value 59 60 @property 61 def merger_policy(self) -> Types.MergerPolicies: 62 return self.params["merger_policy"] 63 64 @merger_policy.setter 65 def merger_policy(self, value: Types.MergerPolicies): 66 assert type(value) is Types.MergerPolicies 67 self.params["merger_policy"] = value 68 69 def __call__(self, *args, **kwargs) -> dict: 70 """ 71 Returns a dict containing all the parameters and their values. 72 """ 73 return self.params
class
ParameterModel:
5class ParameterModel: 6 """ 7 Holds all parameters (excluding the asset distribution) for a 8 Fumagalli_Motta_Tarantino_2020.Models.OptimalMergerPolicy model and all child classes using the same parameters. 9 """ 10 11 def __init__( 12 self, 13 merger_policy: Types.MergerPolicies, 14 development_costs: float, 15 startup_assets: float, 16 success_probability: float, 17 development_success: bool, 18 private_benefit: float, 19 consumer_surplus_without_innovation: float, 20 incumbent_profit_without_innovation: float, 21 consumer_surplus_duopoly: float, 22 incumbent_profit_duopoly: float, 23 startup_profit_duopoly: float, 24 consumer_surplus_with_innovation: float, 25 incumbent_profit_with_innovation: float, 26 ): 27 self.params = { 28 "merger_policy": merger_policy, 29 "development_costs": development_costs, 30 "startup_assets": startup_assets, 31 "success_probability": success_probability, 32 "development_success": development_success, 33 "private_benefit": private_benefit, 34 "consumer_surplus_without_innovation": consumer_surplus_without_innovation, 35 "incumbent_profit_without_innovation": incumbent_profit_without_innovation, 36 "consumer_surplus_duopoly": consumer_surplus_duopoly, 37 "incumbent_profit_duopoly": incumbent_profit_duopoly, 38 "startup_profit_duopoly": startup_profit_duopoly, 39 "consumer_surplus_with_innovation": consumer_surplus_with_innovation, 40 "incumbent_profit_with_innovation": incumbent_profit_with_innovation, 41 } 42 43 def get(self, key: str): 44 """ 45 Returns the value for a specific parameter value 46 """ 47 assert key in self.params.keys() 48 return self.params[key] 49 50 def set(self, key: str, value: float): 51 """ 52 Sets the value of a specific parameter value. 53 54 For the merger policy use the designated setter 55 (Fumagalli_Motta_Tarantino_2020.Configurations.LoadConfig.merger_policy). 56 """ 57 assert key in self.params.keys() 58 self.params[key] = value 59 assert self.params[key] == value 60 61 @property 62 def merger_policy(self) -> Types.MergerPolicies: 63 return self.params["merger_policy"] 64 65 @merger_policy.setter 66 def merger_policy(self, value: Types.MergerPolicies): 67 assert type(value) is Types.MergerPolicies 68 self.params["merger_policy"] = value 69 70 def __call__(self, *args, **kwargs) -> dict: 71 """ 72 Returns a dict containing all the parameters and their values. 73 """ 74 return self.params
Holds all parameters (excluding the asset distribution) for a Fumagalli_Motta_Tarantino_2020.Models.OptimalMergerPolicy model and all child classes using the same parameters.
ParameterModel( merger_policy: Fumagalli_Motta_Tarantino_2020.Models.Types.MergerPolicies, development_costs: float, startup_assets: float, success_probability: float, development_success: bool, private_benefit: float, consumer_surplus_without_innovation: float, incumbent_profit_without_innovation: float, consumer_surplus_duopoly: float, incumbent_profit_duopoly: float, startup_profit_duopoly: float, consumer_surplus_with_innovation: float, incumbent_profit_with_innovation: float)
11 def __init__( 12 self, 13 merger_policy: Types.MergerPolicies, 14 development_costs: float, 15 startup_assets: float, 16 success_probability: float, 17 development_success: bool, 18 private_benefit: float, 19 consumer_surplus_without_innovation: float, 20 incumbent_profit_without_innovation: float, 21 consumer_surplus_duopoly: float, 22 incumbent_profit_duopoly: float, 23 startup_profit_duopoly: float, 24 consumer_surplus_with_innovation: float, 25 incumbent_profit_with_innovation: float, 26 ): 27 self.params = { 28 "merger_policy": merger_policy, 29 "development_costs": development_costs, 30 "startup_assets": startup_assets, 31 "success_probability": success_probability, 32 "development_success": development_success, 33 "private_benefit": private_benefit, 34 "consumer_surplus_without_innovation": consumer_surplus_without_innovation, 35 "incumbent_profit_without_innovation": incumbent_profit_without_innovation, 36 "consumer_surplus_duopoly": consumer_surplus_duopoly, 37 "incumbent_profit_duopoly": incumbent_profit_duopoly, 38 "startup_profit_duopoly": startup_profit_duopoly, 39 "consumer_surplus_with_innovation": consumer_surplus_with_innovation, 40 "incumbent_profit_with_innovation": incumbent_profit_with_innovation, 41 }
def
get(self, key: str):
43 def get(self, key: str): 44 """ 45 Returns the value for a specific parameter value 46 """ 47 assert key in self.params.keys() 48 return self.params[key]
Returns the value for a specific parameter value
def
set(self, key: str, value: float):
50 def set(self, key: str, value: float): 51 """ 52 Sets the value of a specific parameter value. 53 54 For the merger policy use the designated setter 55 (Fumagalli_Motta_Tarantino_2020.Configurations.LoadConfig.merger_policy). 56 """ 57 assert key in self.params.keys() 58 self.params[key] = value 59 assert self.params[key] == value
Sets the value of a specific parameter value.
For the merger policy use the designated setter (Fumagalli_Motta_Tarantino_2020.Configurations.LoadConfig.merger_policy).
merger_policy: Fumagalli_Motta_Tarantino_2020.Models.Types.MergerPolicies