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        }
params
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).

61    @property
62    def merger_policy(self) -> Types.MergerPolicies:
63        return self.params["merger_policy"]