mergeron 2024.739099.1__tar.gz → 2024.739099.2__tar.gz
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-2024.739099.1 → mergeron-2024.739099.2}/PKG-INFO +1 -1
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/pyproject.toml +1 -1
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/__init__.py +1 -1
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/guidelines_boundary_functions.py +3 -3
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/__init__.py +1 -1
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/_data_generation_functions.py +1 -6
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/enforcement_stats.py +3 -3
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/upp_tests.py +5 -17
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/README.rst +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/License.txt +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/__init__.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/damodaran_margin_data.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/ftc_merger_investigations_data.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/guidelines_boundaries.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/guidelines_boundary_functions_extra.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/pseudorandom_numbers.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/__init__.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/damodaran_margin_data.xls +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/damodaran_margin_data_dict.msgpack +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/ftc_invdata.msgpack +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/clrrate_cis_summary_table_template.tex.jinja2 +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/ftcinvdata_byhhianddelta_table_template.tex.jinja2 +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/ftcinvdata_summary_table_template.tex.jinja2 +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/ftcinvdata_summarypaired_table_template.tex.jinja2 +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/mergeron.cls +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/mergeron_table_collection_template.tex.jinja2 +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/jinja2_LaTeX_templates/setup_tikz_tables.tex +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/demo/__init__.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/demo/visualize_empirical_margin_distribution.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/data_generation.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/market_sample.py +0 -0
- {mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mergeron
|
|
3
|
-
Version: 2024.739099.
|
|
3
|
+
Version: 2024.739099.2
|
|
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
|
{mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/guidelines_boundary_functions.py
RENAMED
|
@@ -667,7 +667,7 @@ def shrratio_boundary_max(
|
|
|
667
667
|
"""
|
|
668
668
|
|
|
669
669
|
# _r_val is not needed for max boundary, but is specified for consistency
|
|
670
|
-
# of function call with other
|
|
670
|
+
# of function call with other share-ratio boundary functions
|
|
671
671
|
del _r_val
|
|
672
672
|
_delta_star = mpf(f"{_delta_star}")
|
|
673
673
|
_s_intcpt = _delta_star
|
|
@@ -883,9 +883,9 @@ def boundary_plot(*, mktshares_plot_flag: bool = True) -> tuple[Any, ...]:
|
|
|
883
883
|
mktshares_plot_flag: bool = False,
|
|
884
884
|
mktshares_axlbls_flag: bool = False,
|
|
885
885
|
) -> mpa.Axes:
|
|
886
|
-
# Set the width of axis
|
|
886
|
+
# Set the width of axis grid lines, and tick marks:
|
|
887
887
|
# both axes, both major and minor ticks
|
|
888
|
-
# Frame, grid, and
|
|
888
|
+
# Frame, grid, and face color
|
|
889
889
|
for _spos0 in "left", "bottom":
|
|
890
890
|
_ax1.spines[_spos0].set_linewidth(0.5)
|
|
891
891
|
_ax1.spines[_spos0].set_zorder(5)
|
{mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/gen/_data_generation_functions.py
RENAMED
|
@@ -148,7 +148,7 @@ def _gen_market_shares_uniform(
|
|
|
148
148
|
)
|
|
149
149
|
_mrng.fill()
|
|
150
150
|
# Convert draws on U[0, 1] to Uniformly-distributed draws on simplex, s_1 + s_2 <= 1
|
|
151
|
-
_frmshr_array
|
|
151
|
+
_frmshr_array.sort(axis=1)
|
|
152
152
|
_frmshr_array = np.column_stack((
|
|
153
153
|
_frmshr_array[:, 0],
|
|
154
154
|
_frmshr_array[:, 1] - _frmshr_array[:, 0],
|
|
@@ -471,11 +471,6 @@ def _gen_margin_price_data(
|
|
|
471
471
|
1 + _m1_nr,
|
|
472
472
|
)
|
|
473
473
|
_mnl_test_array = (_pcm_array[:, [1]] >= 0) & (_pcm_array[:, [1]] <= 1)
|
|
474
|
-
else:
|
|
475
|
-
# Generate i.i.d. PCMs
|
|
476
|
-
# Construct price_array = 1/ (1 - pcm_array)
|
|
477
|
-
# Rgenerate MNL test
|
|
478
|
-
pass
|
|
479
474
|
|
|
480
475
|
_margin_data = MarginDataSample(_pcm_array[:, :2], _mnl_test_array)
|
|
481
476
|
del _price_array_here
|
|
@@ -121,7 +121,7 @@ if not (_out_path := DATA_DIR.joinpath(f"{_PKG_NAME}.cls")).is_file():
|
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
if not (_DOTTEX := DATA_DIR / Rf"{_PKG_NAME}_TikZTableSettings.tex").is_file():
|
|
124
|
-
# Write to
|
|
124
|
+
# Write to LaTeX table settings file
|
|
125
125
|
with resources.as_file(
|
|
126
126
|
resources.files(f"{_PKG_NAME}.data.jinja2_LaTeX_templates").joinpath(
|
|
127
127
|
"setup_tikz_tables.tex"
|
|
@@ -667,7 +667,7 @@ def _stats_formatted_row(
|
|
|
667
667
|
match _return_type_sel:
|
|
668
668
|
case StatsReturnSelector.RIN:
|
|
669
669
|
_stats_row_ci = np.array([
|
|
670
|
-
|
|
670
|
+
propn_ci(*g, method="Wilson")
|
|
671
671
|
for g in zip(_stats_row_cnt[1:], _stats_row_tot[1:], strict=True)
|
|
672
672
|
])
|
|
673
673
|
return [
|
|
@@ -722,7 +722,7 @@ def stats_print_rows(
|
|
|
722
722
|
print()
|
|
723
723
|
|
|
724
724
|
|
|
725
|
-
def
|
|
725
|
+
def propn_ci(
|
|
726
726
|
_npos: ArrayINT[TI] | int = 4,
|
|
727
727
|
_nobs: ArrayINT[TI] | int = 10,
|
|
728
728
|
/,
|
|
@@ -260,7 +260,7 @@ def enf_cnts(
|
|
|
260
260
|
)
|
|
261
261
|
_enf_cnts_sim_byfirmcount_array[0] = 2
|
|
262
262
|
|
|
263
|
-
# Clearance/
|
|
263
|
+
# Clearance/enforcement counts --- by delta
|
|
264
264
|
_hhi_delta_ranged = esl.hhi_delta_ranger(_hhi_delta)
|
|
265
265
|
_enf_cnts_sim_bydelta_array = -1 * np.ones(_stats_rowlen, np.int64)
|
|
266
266
|
for _hhi_delta_lim in esl.HHI_DELTA_KNOTS[:-1]:
|
|
@@ -282,7 +282,7 @@ def enf_cnts(
|
|
|
282
282
|
|
|
283
283
|
_enf_cnts_sim_bydelta_array = _enf_cnts_sim_bydelta_array[1:]
|
|
284
284
|
|
|
285
|
-
# Clearance/
|
|
285
|
+
# Clearance/enforcement counts --- by zone
|
|
286
286
|
try:
|
|
287
287
|
_hhi_zone_post_ranged = esl.hhi_zone_post_ranger(_hhi_post)
|
|
288
288
|
except ValueError as _err:
|
|
@@ -367,23 +367,11 @@ def gen_upp_test_arrays(
|
|
|
367
367
|
out=_guppi_array,
|
|
368
368
|
)
|
|
369
369
|
|
|
370
|
-
_cmcr_array = np.empty_like(_market_data.divr_array)
|
|
371
|
-
np.divide(
|
|
372
|
-
np.einsum("ij,ij->ij", _market_data.pcm_array, _market_data.divr_array),
|
|
373
|
-
np.einsum("ij,ij->ij", 1 - _market_data.pcm_array, 1 - _market_data.divr_array),
|
|
374
|
-
out=_cmcr_array,
|
|
375
|
-
)
|
|
376
|
-
|
|
377
370
|
_ipr_array = np.empty_like(_market_data.divr_array)
|
|
378
|
-
np.divide(
|
|
379
|
-
np.einsum("ij,ij->ij", _market_data.pcm_array, _market_data.divr_array),
|
|
380
|
-
1 - _market_data.divr_array,
|
|
381
|
-
out=_ipr_array,
|
|
382
|
-
)
|
|
371
|
+
np.divide(_guppi_array, (1 - _market_data.divr_array[:, ::-1]), out=_ipr_array)
|
|
383
372
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
# np.divide(_guppi_array, (1 - _market_data.divr_array[:, ::-1]), out=_ipr_array_alt)
|
|
373
|
+
_cmcr_array = np.empty_like(_market_data.divr_array)
|
|
374
|
+
np.divide(_ipr_array, 1 - _market_data.pcm_array, out=_cmcr_array)
|
|
387
375
|
|
|
388
376
|
_test_measure_seq = (_market_data.divr_array, _guppi_array, _cmcr_array, _ipr_array)
|
|
389
377
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/damodaran_margin_data.py
RENAMED
|
File without changes
|
|
File without changes
|
{mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/core/guidelines_boundaries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mergeron-2024.739099.1 → mergeron-2024.739099.2}/src/mergeron/data/damodaran_margin_data.xls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|