Empirical claim #4 (sensitivity) — Non-overlapping pooled own-goal subset
Generated 2026-05-26 16:50 UTC by `scripts/py/intelligence/event_study_pooled_own_goal_nonoverlap.py`. Re-run anytime; pure-Python, no network.
What this sensitivity defends
event-study-pooled-own-goal.md caveat #1: pooling claims #1 and #2 reuses post-event windows on MCHI (both sub-cohorts use the same centre ETF), so the pooled sign-test p-value is an anti-conservative upper bound. The leave-one-out check was the first defence; this script is the direct defence — walk events in date order per centre ticker, drop any event whose T0 falls inside an earlier accepted event's T+60d window on the SAME centre ticker, re-run the pooled stats on the reduced cohort.
Filter is anchored on the headline T+60d horizon, not T+120d — secondary horizon is reported, not used for filtering.
The headline pooled audit stays published verbatim. This file is its sensitivity, not a replacement.
Cohorts before vs. after the non-overlap filter
| Sub-cohort | Centre | Raw matched | Kept | Dropped |
|---|---|---|---|---|
| US BIS export-control -> CN (claim #1) | MCHI | 30 | 11 | 19 |
| CN MOFCOM export-control / sanctions (claim #2) | MCHI | 14 | 4 | 10 |
| ID hilirisasi minerals/batteries (claim #3) | EIDO | 10 | 6 | 4 |
| TOTAL | 54 | 21 | 33 |
In primary window (T+60 available): 20. In secondary window (T+120 available): 19.
Results — pooled abnormal returns (non-overlap subset)
| Horizon | n | median (%) | mean (%) | IQR (%) | % neg | sign-test p | Wilcoxon p |
|---|---|---|---|---|---|---|---|
| T+5d (non-overlap) | 20 | -0.51 | -0.21 | 2.19 | 55% | 0.824 | 0.351 |
| T+20d (non-overlap) | 20 | -1.25 | -0.58 | 5.99 | 60% | 0.503 | 0.601 |
| T+60d (non-overlap) | 20 | -3.03 | -1.72 | 8.53 | 65% | 0.263 | 0.279 |
| T+120d (non-overlap, secondary) | 19 | -8.44 | -6.52 | 13.41 | 74% | 0.064 | 0.020 |
Comparison vs. the headline pooled audit
| Headline pooled (with overlap) | Non-overlap subset | Sensitivity verdict | |
|---|---|---|---|
| Primary T+60d median (%) | source: -3.67 | see table above | sign match? |
| Primary T+60d sign-test p | source: 0.027 | see table above | preserves p ≤ 0.10? |
| Primary T+60d n | source: 53 | see table above | how much sample loss |
The "headline pooled" column is reported here as the published values from event-study-pooled-own-goal.md (committed 2026-05-23 21:47 CEST) so this audit is readable independently. Re-run the headline audit to confirm those values; they do not change unless the underlying register or parquet data changes.
Results — by sub-cohort (non-overlap subset only)
| Sub-cohort | T+5d med | T+20d med | T+60d med | T+60d % neg | T+60d sign p | n at T+60 |
|---|---|---|---|---|---|---|
| US BIS export-control -> CN (claim #1) | +0.32 | +0.71 | -2.39 | 64% | 0.549 | 11 |
| CN MOFCOM export-control / sanctions (claim #2) | +0.14 | +0.36 | -6.61 | 100% | 0.250 | 3 |
| ID hilirisasi minerals/batteries (claim #3) | -0.85 | -4.09 | -2.38 | 50% | 1.000 | 6 |
Sensitivity verdict
- Non-overlap pooled T+60d: median -3.03%, sign-test p 0.263, Wilcoxon p 0.279, n=20.
- Sign preserved vs. headline (-3.67%): YES.
- Sign-test p preserved (≤ 0.10 floor): NO (headline was 0.027).
Caveat #1 partially defused. The sign of the pooled negative T+60d effect survives non-overlap filtering, but the sign-test p-value crosses the 0.10 floor — consistent with the trade-independence concern being real (some of the headline significance came from window overlap on MCHI). The directional claim survives; the strength of the claim is reduced. Equity-research framing should drop p < 0.05 language for this pooled effect.
Events dropped by the non-overlap filter
| # | Date | Sub-cohort | Centre | Dropped because |
|---|---|---|---|---|
| 1 | 2020-10-17 | claim2_cn_mofcom | MCHI | overlaps 2020-08-17-us-bis-huawei-affiliates-entity-list-fdpr-tgl-removal (prior T+60d window) |
| 2 | 2020-12-23 | claim1_us_bis | MCHI | overlaps 2020-12-22-us-bis-entity-list-smic-77-entities (prior T+60d window) |
| 3 | 2020-12-23 | claim1_us_bis | MCHI | overlaps 2020-12-22-us-bis-entity-list-smic-77-entities (prior T+60d window) |
| 4 | 2021-01-15 | claim1_us_bis | MCHI | overlaps 2020-12-22-us-bis-entity-list-smic-77-entities (prior T+60d window) |
| 5 | 2022-10-07 | claim1_us_bis | MCHI | overlaps 2022-08-24-us-bis-entity-list-7-china-military-aerospace-electronics (prior T+60d window) |
| 6 | 2022-10-07 | claim1_us_bis | MCHI | overlaps 2022-08-24-us-bis-entity-list-7-china-military-aerospace-electronics (prior T+60d window) |
| 7 | 2023-03-06 | claim1_us_bis | MCHI | overlaps 2022-12-19-us-bis-entity-list-36-additions-china-japan (prior T+60d window) |
| 8 | 2023-10-17 | claim1_us_bis | MCHI | overlaps 2023-10-11-us-bis-entity-list-49-entities-russia-diversion (prior T+60d window) |
| 9 | 2023-10-20 | claim2_cn_mofcom | MCHI | overlaps 2023-10-11-us-bis-entity-list-49-entities-russia-diversion (prior T+60d window) |
| 10 | 2023-10-25 | claim1_us_bis | MCHI | overlaps 2023-10-11-us-bis-entity-list-49-entities-russia-diversion (prior T+60d window) |
| 11 | 2024-05-09 | claim1_us_bis | MCHI | overlaps 2024-02-23-us-bis-entity-list-93-additions-russia-china-turkey (prior T+60d window) |
| 12 | 2024-05-30 | claim3_id_hilirisasi | EIDO | overlaps 2024-05-30-indonesia-permen-esdm-6-2024-smelter-completion (prior T+60d window) |
| 13 | 2024-09-05 | claim1_us_bis | MCHI | overlaps 2024-08-27-us-bis-entity-list-123-additions-russia-china-iran-diversion (prior T+60d window) |
| 14 | 2024-10-19 | claim2_cn_mofcom | MCHI | overlaps 2024-08-27-us-bis-entity-list-123-additions-russia-china-iran-diversion (prior T+60d window) |
| 15 | 2024-12-03 | claim2_cn_mofcom | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 16 | 2025-01-06 | claim1_us_bis | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 17 | 2025-01-13 | claim1_us_bis | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 18 | 2025-01-16 | claim1_us_bis | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 19 | 2025-02-04 | claim2_cn_mofcom | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 20 | 2025-02-04 | claim2_cn_mofcom | MCHI | overlaps 2024-12-02-us-bis-hbm-sme-entity-list-package (prior T+60d window) |
| 21 | 2025-02-24 | claim3_id_hilirisasi | EIDO | overlaps 2025-03-19-indonesia-uu-2-2025-fourth-amendment-minerba (prior T+60d window) |
| 22 | 2025-03-28 | claim1_us_bis | MCHI | overlaps 2025-03-23-china-afsl-implementation-regulations (prior T+60d window) |
| 23 | 2025-03-28 | claim1_us_bis | MCHI | overlaps 2025-03-23-china-afsl-implementation-regulations (prior T+60d window) |
| 24 | 2025-04-04 | claim2_cn_mofcom | MCHI | overlaps 2025-03-23-china-afsl-implementation-regulations (prior T+60d window) |
| 25 | 2025-04-11 | claim3_id_hilirisasi | EIDO | overlaps 2025-03-19-indonesia-uu-2-2025-fourth-amendment-minerba (prior T+60d window) |
| 26 | 2025-05-13 | claim1_us_bis | MCHI | overlaps 2025-03-23-china-afsl-implementation-regulations (prior T+60d window) |
| 27 | 2025-09-16 | claim1_us_bis | MCHI | overlaps 2025-09-02-us-bis-veu-revocation-china-fabs (prior T+60d window) |
| 28 | 2025-09-30 | claim1_us_bis | MCHI | overlaps 2025-09-02-us-bis-veu-revocation-china-fabs (prior T+60d window) |
| 29 | 2025-10-09 | claim2_cn_mofcom | MCHI | overlaps 2025-09-02-us-bis-veu-revocation-china-fabs (prior T+60d window) |
| 30 | 2025-10-26 | claim2_cn_mofcom | MCHI | overlaps 2025-09-02-us-bis-veu-revocation-china-fabs (prior T+60d window) |
| 31 | 2025-11-14 | claim3_id_hilirisasi | EIDO | overlaps 2025-09-30-indonesia-permen-esdm-17-rkab-annual-quota (prior T+60d window) |
| 32 | 2026-01-06 | claim2_cn_mofcom | MCHI | overlaps 2025-12-09-china-mofcom-steel-export-licensing-announcement-79 (prior T+60d window) |
| 33 | 2026-01-13 | claim1_us_bis | MCHI | overlaps 2025-12-09-china-mofcom-steel-export-licensing-announcement-79 (prior T+60d window) |
Events used in the non-overlap primary T+60 window
| # | Date | Sub-cohort | Centre | Severity | Action |
|---|---|---|---|---|---|
| 1 | 2019-08-30 | claim3_id_hilirisasi | EIDO | 5 | 2020-01-01-indonesia-nickel-ore-export-ban |
| 2 | 2020-08-17 | claim1_us_bis | MCHI | 5 | 2020-08-17-us-bis-huawei-affiliates-entity-list-fdpr-tgl-removal |
| 3 | 2020-12-18 | claim1_us_bis | MCHI | 4 | 2020-12-22-us-bis-entity-list-smic-77-entities |
| 4 | 2021-04-09 | claim1_us_bis | MCHI | 4 | 2021-04-08-us-bis-entity-list-7-china-supercomputing |
| 5 | 2021-11-26 | claim1_us_bis | MCHI | 4 | 2021-11-26-us-bis-entity-list-27-quantum-pakistan-meu |
| 6 | 2022-08-24 | claim1_us_bis | MCHI | 4 | 2022-08-24-us-bis-entity-list-7-china-military-aerospace-electronics |
| 7 | 2022-12-19 | claim1_us_bis | MCHI | 4 | 2022-12-19-us-bis-entity-list-36-additions-china-japan |
| 8 | 2022-12-21 | claim3_id_hilirisasi | EIDO | 4 | 2023-06-10-indonesia-bauxite-ore-export-ban |
| 9 | 2023-07-03 | claim2_cn_mofcom | MCHI | 4 | 2023-07-03-china-mofcom-gallium-germanium-export-controls |
| 10 | 2023-10-11 | claim1_us_bis | MCHI | 4 | 2023-10-11-us-bis-entity-list-49-entities-russia-diversion |
| 11 | 2024-02-27 | claim1_us_bis | MCHI | 4 | 2024-02-23-us-bis-entity-list-93-additions-russia-china-turkey |
| 12 | 2024-05-30 | claim3_id_hilirisasi | EIDO | 4 | 2024-05-30-indonesia-permen-esdm-6-2024-smelter-completion |
| 13 | 2024-08-27 | claim1_us_bis | MCHI | 4 | 2024-08-27-us-bis-entity-list-123-additions-russia-china-iran-diversion |
| 14 | 2024-12-02 | claim1_us_bis | MCHI | 5 | 2024-12-02-us-bis-hbm-sme-entity-list-package |
| 15 | 2025-02-18 | claim3_id_hilirisasi | EIDO | 4 | 2025-03-19-indonesia-uu-2-2025-fourth-amendment-minerba |
| 16 | 2025-03-23 | claim2_cn_mofcom | MCHI | 4 | 2025-03-23-china-afsl-implementation-regulations |
| 17 | 2025-06-05 | claim3_id_hilirisasi | EIDO | 4 | 2025-06-05-indonesia-pp-28-2025-risk-based-licensing-nickel-smelter-moratorium |
| 18 | 2025-09-02 | claim1_us_bis | MCHI | 4 | 2025-09-02-us-bis-veu-revocation-china-fabs |
| 19 | 2025-09-30 | claim3_id_hilirisasi | EIDO | 4 | 2025-09-30-indonesia-permen-esdm-17-rkab-annual-quota |
| 20 | 2025-12-09 | claim2_cn_mofcom | MCHI | 4 | 2025-12-09-china-mofcom-steel-export-licensing-announcement-79 |
Honest caveats (sensitivity-specific)
1. Cohort shrinks meaningfully. The non-overlap filter drops every claim-#2 MCHI event whose T0 falls inside an earlier claim-#1 MCHI event's T+60 window (or vice versa). This is exactly the trade-independence enforcement the headline caveat #1 flagged, and it costs a substantial share of the pooled sample. The smaller n means the Wilcoxon test moves more than the sign test (Wilcoxon is more sensitive to sample size at small n).
2. The greedy first-wins acceptance rule is one defendable choice among several. "Walk in date order, accept the first event per ticker, then block until its T+60 ends" is the simplest non-overlap rule. Alternative rules — "accept the more severe event," "accept the most recent event in each block," or "thin to mutually-exclusive windows by global optimisation" — give different subsets. The first-wins rule was chosen because it is unambiguous and matches the "post-event windows on the SAME ticker overlap" framing in the headline caveat #1.
3. EIDO is filtered too, but never reduces. The claim-#3 (Indonesia) sub-cohort is the only one centred on EIDO and its events are sparse enough that the non-overlap filter leaves it unchanged at primary T+60d. The sensitivity is effectively a check on the MCHI overlap; the EIDO sub-cohort sails through the filter and behaves the same as in the headline audit. This is honest about where the defence does and doesn't bind.
4. The non-overlap subset is post-hoc. This sensitivity is a defence of a published claim, not an independent claim. The discipline is that we publish whichever result the non-overlap test produces — including a reversal — and that both versions stay published per the project file's rollback rule.
5. Cohort-period confounding still applies. All caveats from the headline audit that are not about window overlap still apply here: no factor adjustment, EM-DM divergence in 2020-2026, the "regime-centre" outcome-equivalence vs. mechanism-equivalence point.
6. The T+120d secondary row is reported even though the filter is anchored on T+60d. Filtering on the headline horizon is the conservative choice; using T+120 as the filter horizon would shrink the kept set further. The T+120d row in the table is informational — read it with the understanding that overlaps in the T+60-to-T+120 tail are not filtered.