mergeron 2024.739127.1__py3-none-any.whl → 2024.739145.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mergeron might be problematic. Click here for more details.
- mergeron/__init__.py +5 -8
- mergeron/core/__init__.py +5 -0
- mergeron/core/{damodaran_margin_data.py → empirical_margin_distribution.py} +6 -3
- mergeron/core/ftc_merger_investigations_data.py +23 -20
- mergeron/core/guidelines_boundaries.py +89 -89
- mergeron/core/guidelines_boundary_functions.py +203 -61
- mergeron/core/guidelines_boundary_functions_extra.py +19 -25
- mergeron/core/pseudorandom_numbers.py +3 -3
- mergeron/demo/visualize_empirical_margin_distribution.py +2 -3
- mergeron/gen/__init__.py +63 -45
- mergeron/gen/data_generation.py +17 -17
- mergeron/gen/data_generation_functions.py +68 -58
- mergeron/gen/upp_tests.py +6 -9
- {mergeron-2024.739127.1.dist-info → mergeron-2024.739145.0.dist-info}/METADATA +5 -5
- mergeron-2024.739145.0.dist-info/RECORD +24 -0
- mergeron-2024.739127.1.dist-info/RECORD +0 -24
- {mergeron-2024.739127.1.dist-info → mergeron-2024.739145.0.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mergeron
|
|
3
|
-
Version: 2024.
|
|
3
|
+
Version: 2024.739145.0
|
|
4
4
|
Summary: Merger Policy Analysis using Python
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: merger policy analysis,merger guidelines,merger screening,policy presumptions,concentration standards,upward pricing pressure,GUPPI
|
|
@@ -55,9 +55,9 @@ and :code:`.gen.data_generation.MarketSample.enf_counts`, respectively, the unde
|
|
|
55
55
|
|
|
56
56
|
By default, merging-firm shares are drawn with uniform distribution over the space :math:`s_1 + s_2 \leqslant 1` for an unspecified number of firms. Alternatively, shares may be drawn from the Dirichlet distribution (see property `dist_type` of :code:`.gen.data_generation.MarketSample.share_spec`, of type, :code:`.gen.SHRDistribution`), with specified shape parameters (property `dist_parms` of :code:`.gen.data_generation.MarketSample.share_spec`. When drawing shares from the Dirichlet distribution, the user specifies the `firm_count_weights` property of :code:`.gen.data_generation.MarketSample.share_spec`, as a vector of weights specifying the frequency distribution over sequential firm counts, e.g., :code:`[133, 184, 134, 52, 32, 10, 12, 4, 3]` to specify shares drawn from Dirichlet distributions with 2 to 10 pre-merger firms distributed as in data for FTC merger investigations during 1996--2003 (See, for example, Table 4.1 of `FTC, Horizontal Merger Investigations Data, Fiscal Years 1996--2003 (Revised: August 31, 2004) <https://www.ftc.gov/sites/default/files/documents/reports/horizontal-merger-investigation-data-fiscal-years-1996-2003/040831horizmergersdata96-03.pdf>`_). If the property `firm_count_weights` is not explicitly assigned a value when defining :code:`.gen.data_generation.MarketSample.share_spec`, the default values is used, which results in a sample of markets with 2 to 7 firms with relative frequency in inverse proportion to firm-count, with 2-firm markets being 6 times as likely to be drawn as 7-firm markets.
|
|
57
57
|
|
|
58
|
-
Recapture
|
|
58
|
+
Recapture ratios can be specified as, "proportional", "inside-out", or "outside-in" (see :code:`.RECForm`). The "inside-out" specification (assigning :code:`.RECForm.INOUT` to the `recapture_form` property of :code:`.gen.data_generation.MarketSample.share_spec`) results in recapture ratios consistent with MNL demand, given merging-firms' in-market shares and a default recapture ratio. The "outside-in" specification (assigning :code:`.RECForm.INOUT` to the `recapture_form` property of :code:`.gen.data_generation.MarketSample.share_spec`) yields diversion ratios from purchase probabilities drawn at random for :math:`N+1` goods, with market shares and recapture ratios for the :math:`N` goods in the putative market (see, :code:`.gen.ShareSpec`) computed from the simulated choice probabilities. The "outside-in" specification requires specification of the distribution of markets over firm counts (the default being uniform distirbution over markets with 2 to 7 firms pre-merger), and Dirichlet-distributed shares, with optional parameters (the default being a "flat" Dirichlet distribution, i.e., one with all parameters being 1). The parameters of the Dirichlet distribution can, for example, be specified to increase (decrease) the probability of drawing mergers to monopoly relative to that probability associated with the Flat Dirichlet specification, by setting the first 2 specified parameters at higher (lower) values relative to the others. Lastly, the "proportional" form of recapture ratio (`recapture_form` = :code:`.RECForm.FIXED`) is often used in the literature, as an approximation to the "inside-out" calibration. See, for example, Coate (2011).
|
|
59
59
|
|
|
60
|
-
Price-cost-margins may be specified as having uniform distribution, Beta distribution (including a bounded Beta distribution with specified mean and variance), or
|
|
60
|
+
Price-cost-margins may be specified as having uniform distribution, Beta distribution (including a bounded Beta distribution with specified mean and variance), or a built-in empirical distribution (see, :code:`.gen.PCMSpec`). The in-built empirical margin distribution is based on resampling margin data published by Prof. Damodaran of NYU Stern School of Business (see Notes), using an estimated Gaussian KDE. The second merging firm's margin (per the property `firm2_pcm_constraint` of :code:`.gen.data_generation.MarketSample.pcm_spec`) may be specified as symmetric, i.i.d., or subject to equilibrium conditions for (profit-maximization in) Bertrand-Nash oligopoly with MNL demand (:code:`.gen.FM2Constraint`).
|
|
61
61
|
|
|
62
62
|
Prices may be specified as symmetric or asymmetric, and in the latter case, the direction of correlation between merging firm prices, if any, can also be specified (see, :code:`.gen.PriceSpec`). Prices may also be defined by imposing cost symmetry on firms in the sample, with fixed unit marginal costs normalized to 1 unit, such that prices equal :math:`1 / (1 - \pmb{m})`, where :math:`\pmb{m}` represents the array of margins for firms in the sample.
|
|
63
63
|
|
|
@@ -101,7 +101,7 @@ FTC Premerger Notification Office. “To File or Not to File: When You Must File
|
|
|
101
101
|
|
|
102
102
|
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
|
|
103
103
|
:alt: Ruff
|
|
104
|
-
:target: https://github.com/astral-sh/ruff
|
|
104
|
+
:target: https://github.com/astral-sh/ruff/
|
|
105
105
|
|
|
106
106
|
.. image:: https://www.mypy-lang.org/static/mypy_badge.svg
|
|
107
107
|
:alt: Checked with mypy
|
|
@@ -109,6 +109,6 @@ FTC Premerger Notification Office. “To File or Not to File: When You Must File
|
|
|
109
109
|
|
|
110
110
|
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
|
|
111
111
|
:alt: License: MIT
|
|
112
|
-
:target: https://opensource.org/licenses/MIT
|
|
112
|
+
:target: https://opensource.org/licenses/MIT/
|
|
113
113
|
|
|
114
114
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mergeron/License.txt,sha256=7iX-y0EyjkbVJKJLS4ZKzuuE1wd0lryfsD_IytLG8lQ,1246
|
|
2
|
+
mergeron/__init__.py,sha256=kRj4ei5H3RLxUuBxJgnj63boshupWN-hCIjFr9p20Ig,1476
|
|
3
|
+
mergeron/core/__init__.py,sha256=jPGd0okmvNOdWnTu4biR4hqnL29IERaY4Olv8mS02ko,188
|
|
4
|
+
mergeron/core/empirical_margin_distribution.py,sha256=iU72c6rPwqduH8GlvES1na2uvw5qXq0IQfsTWnL_ueQ,8726
|
|
5
|
+
mergeron/core/ftc_merger_investigations_data.py,sha256=_Qno1_oWcHmDd60j8YX6BLUSLeAn-DU6KpvMOcbCIaE,28728
|
|
6
|
+
mergeron/core/guidelines_boundaries.py,sha256=sFC4kRjH4ndINluwxBBftBWcn5g4Vfq2ezhzzbpnlGE,15765
|
|
7
|
+
mergeron/core/guidelines_boundary_functions.py,sha256=BJyZAoHK0ibiAHEdD9PJT_F0NEYMLjYdGR5lW67iQ6M,34558
|
|
8
|
+
mergeron/core/guidelines_boundary_functions_extra.py,sha256=AZKkLPjiMtBaQIKj1bFs5xgV9xSntlHkf-pc7j4OkVk,11289
|
|
9
|
+
mergeron/core/pseudorandom_numbers.py,sha256=ps5H3n7jC5iJq_ulrmGvTAFmMeNXq-7IPWQQog7q5TY,9225
|
|
10
|
+
mergeron/data/__init__.py,sha256=KtjBlZOl7jwBCAUhrTJB9PdrN39YLYytNiSUSM_gRmA,62
|
|
11
|
+
mergeron/data/damodaran_margin_data.xls,sha256=Qggl1p5nkOMJI8YUXhkwXQRz-OhRSqBTzz57N0JQyYA,79360
|
|
12
|
+
mergeron/data/damodaran_margin_data_dict.msgpack,sha256=sr6s4L69kposEpzGI7jpPb4ULz0UpY-bEYfeNi6UlRA,57621
|
|
13
|
+
mergeron/data/ftc_invdata.msgpack,sha256=WBFHgi7Ld4R-h2zL2Zc3TOIlKqVrbVFMH1LoI4-T-M0,264664
|
|
14
|
+
mergeron/demo/__init__.py,sha256=KtjBlZOl7jwBCAUhrTJB9PdrN39YLYytNiSUSM_gRmA,62
|
|
15
|
+
mergeron/demo/visualize_empirical_margin_distribution.py,sha256=_1SWKqFJNqKV_yA3v2tmzl8Th3CC3SXpb6VGiwGGuN0,2373
|
|
16
|
+
mergeron/gen/__init__.py,sha256=hrOACw-loPDXiPTP-5wjpu7cW6T5ade6eVW-CtNGEXg,17287
|
|
17
|
+
mergeron/gen/data_generation.py,sha256=wyrSfoDf3F5RVAqfzOv27R9x97_4Ciz6OmXH_w8PHbA,16870
|
|
18
|
+
mergeron/gen/data_generation_functions.py,sha256=Lr9co1qylkmAyu8OPUVwYpE3KvxU-97glqmJ04E-LTA,28977
|
|
19
|
+
mergeron/gen/enforcement_stats.py,sha256=ZjrV_VkFMF0D1myc-fj-W99M1EhJMA9-nCfyE5g9e54,10890
|
|
20
|
+
mergeron/gen/upp_tests.py,sha256=S0XUpP0t5DLR3PCNcTL9xZ_icxdS31hfNwg3LH7mctE,12529
|
|
21
|
+
mergeron/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
22
|
+
mergeron-2024.739145.0.dist-info/METADATA,sha256=EJD8ascIdWBNCN0s3XGunNNn45_8VQayJGy1hcaEqwY,14432
|
|
23
|
+
mergeron-2024.739145.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
24
|
+
mergeron-2024.739145.0.dist-info/RECORD,,
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
mergeron/License.txt,sha256=7iX-y0EyjkbVJKJLS4ZKzuuE1wd0lryfsD_IytLG8lQ,1246
|
|
2
|
-
mergeron/__init__.py,sha256=SJjvuKqKcQsybbuFoLgA4PrvV8gB6TJFoQL7qbd2Jr4,1459
|
|
3
|
-
mergeron/core/__init__.py,sha256=KtjBlZOl7jwBCAUhrTJB9PdrN39YLYytNiSUSM_gRmA,62
|
|
4
|
-
mergeron/core/damodaran_margin_data.py,sha256=rMrgN1Qtw572a0ftY97OOj4otq8ldlLrcOi-bcE-org,8554
|
|
5
|
-
mergeron/core/ftc_merger_investigations_data.py,sha256=eldNU4hX9oKE4Rb08YE9_1LgolvNKZnhOXW6KyWSwnM,28622
|
|
6
|
-
mergeron/core/guidelines_boundaries.py,sha256=aOpSOaZPsN3CKcLMgkjtCXT2O-l0qb8Qh0Xv4chdSgM,15593
|
|
7
|
-
mergeron/core/guidelines_boundary_functions.py,sha256=GGn5mwBWmxkqcat4Ya0D-J6-7ujosgCCK3eJ9RFWASI,29749
|
|
8
|
-
mergeron/core/guidelines_boundary_functions_extra.py,sha256=HDwwKZDWlrj3Tw-I0gHm0TCSDcIyb9jDfwbuDvK55B8,11322
|
|
9
|
-
mergeron/core/pseudorandom_numbers.py,sha256=cJEWDTfy9CUTzR_di6Fm1Vl1Le6xWoU8wFHbYVMEuLI,9225
|
|
10
|
-
mergeron/data/__init__.py,sha256=KtjBlZOl7jwBCAUhrTJB9PdrN39YLYytNiSUSM_gRmA,62
|
|
11
|
-
mergeron/data/damodaran_margin_data.xls,sha256=Qggl1p5nkOMJI8YUXhkwXQRz-OhRSqBTzz57N0JQyYA,79360
|
|
12
|
-
mergeron/data/damodaran_margin_data_dict.msgpack,sha256=sr6s4L69kposEpzGI7jpPb4ULz0UpY-bEYfeNi6UlRA,57621
|
|
13
|
-
mergeron/data/ftc_invdata.msgpack,sha256=WBFHgi7Ld4R-h2zL2Zc3TOIlKqVrbVFMH1LoI4-T-M0,264664
|
|
14
|
-
mergeron/demo/__init__.py,sha256=KtjBlZOl7jwBCAUhrTJB9PdrN39YLYytNiSUSM_gRmA,62
|
|
15
|
-
mergeron/demo/visualize_empirical_margin_distribution.py,sha256=R-sGC87kVovWBqcM5U6GiNC9oLsbNaMTJgljv8ts8w0,2347
|
|
16
|
-
mergeron/gen/__init__.py,sha256=0rfcWpKDhYE_jNsw6xKTGFJqgNtfJ-5JFxHS89CIEuI,16575
|
|
17
|
-
mergeron/gen/data_generation.py,sha256=jSpwB2BHBDPVTsT1-NZhTSCcUV6816qn5oZBe6S0Hio,16797
|
|
18
|
-
mergeron/gen/data_generation_functions.py,sha256=bP3E0IPXINRc8s0dUxS_Wqo1byVzheZLX811A17WNbU,28571
|
|
19
|
-
mergeron/gen/enforcement_stats.py,sha256=ZjrV_VkFMF0D1myc-fj-W99M1EhJMA9-nCfyE5g9e54,10890
|
|
20
|
-
mergeron/gen/upp_tests.py,sha256=uRF4RrBo3amwQQSu661Xa50xKGMUxtnM3zRtYy3nyB0,12581
|
|
21
|
-
mergeron/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
22
|
-
mergeron-2024.739127.1.dist-info/METADATA,sha256=crHd8c-F-fRENxyWbg7kjVS0a-GhPDozGn2UxvLssB4,13967
|
|
23
|
-
mergeron-2024.739127.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
24
|
-
mergeron-2024.739127.1.dist-info/RECORD,,
|
|
File without changes
|