révision scientifique complète (editorial board, 2026-10-17)
WP 17 v1.0 → v1.1 (October 2026). Corpus misdescribed in v1.0 (8-K + partial 10-Q, filing year; no 10-K) documented and tested (8-K-only signal); post-2022 evidence shown to rest on the 2024 cohort; event-time DiD clustering bug fixed; dependence-robust event-study tests; IT-sector factor spanning; entrants/survivorship checks; 15 equations; 21 verified references with DOIs; 4 new tables; docs/REVIEW-REPORT.md + docs/CHANGELOG-REVISION.md. À valider par les co-auteurs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
58 changed files +3,340 −1,024
modified
.gitignore
+4 −0
@@ -36,3 +36,7 @@ logs/ | ||
| 36 | 36 | |
| 37 | 37 | # WP 17: the processed firm-year panel (19 MB) is committed on purpose (see README Notes) |
| 38 | 38 | !data/processed/*.parquet |
| 39 | + | |
| 40 | +# Claude Code local settings | |
| 41 | +.claude/ | |
| 42 | +**/.claude/ | |
modified
README.md
+107 −80
@@ -3,23 +3,26 @@ | ||
| 3 | 3 | |
| 4 | 4 | **UQO Working Paper No. 17** — *A Semantic Analysis of S&P 500 SEC Filings and the Cross-Section of Stock Returns, 2010–2026* |
| 5 | 5 | |
| 6 | −[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf) | |
| 6 | +[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf) | |
| 7 | 7 | [](requirements.txt) |
| 8 | −[](data/processed/) | |
| 9 | −[-2e7d32)](scripts/) | |
| 8 | +[](data/processed/) | |
| 9 | +[-2e7d32)](scripts/) | |
| 10 | 10 | [](https://uqo.ca) |
| 11 | 11 | [](mailto:simon-pierre.boucher@uqo.ca) |
| 12 | 12 | |
| 13 | −> **TL;DR** — We embed the full text of every S&P 500 annual report (Form 10-K, fiscal years | |
| 14 | −> 2010–2026) with a sentence transformer and score each passage by cosine similarity to curated AI | |
| 15 | −> “anchor” concepts (internal adoption, infrastructure exposure, product-disruption risk). Linked to | |
| 16 | −> look-ahead-free forward returns, the panel of 7,869 firm-years shows a **conditional, economically | |
| 17 | −> large** effect: the top-minus-bottom quintile spread in AI-disclosure intensity rises from | |
| 18 | −> **+2.4 pp/yr before ChatGPT to +14.6 pp/yr after** (long-short Sharpe 0.15 → 1.33), survives | |
| 19 | −> exclusion of the Magnificent 7, is AI-specific in a five-factor placebo (ESG and climate spreads turn | |
| 20 | −> *negative*), and shows up as **+10.1 % cumulative abnormal return** (t = 1.97) for high-AI firms in | |
| 21 | −> the year after the ChatGPT launch. The repricing is cross-sectional and regime-dependent: the | |
| 22 | −> market re-rated *which firms and sectors* are AI-exposed once AI became salient. | |
| 13 | +> **TL;DR** — We embed the SEC filings of the 500 current S&P 500 constituents (Form 8-K current | |
| 14 | +> reports for all firms and Form 10-Q reports for 84 of them, filed 2010–2026; no 10-K was parsed in | |
| 15 | +> the database version used) with a sentence transformer and score each passage by cosine similarity | |
| 16 | +> to AI “anchor” concepts (adoption, infrastructure, disruption risk). Linked to look-ahead-free | |
| 17 | +> forward returns (signal of filing year Y → July Y+1 to June Y+2), the panel of 7,869 firm-years shows | |
| 18 | +> a **weak unconditional relation** (Q5–Q1 ≈ +5 pp/yr, t < 2; FF6 alpha 1.9 %/yr, insignificant) and a | |
| 19 | +> **post-ChatGPT increase** (+2.5 → +14.6 pp/yr; long–short Sharpe 0.22 → 1.32; +10.1 pp High–Low | |
| 20 | +> CAR one year after the launch, portfolio t = 2.3). The revision shows that this post-2022 evidence | |
| 21 | +> is **thin**: it rests on three cohorts and essentially on the 2024 cohort (+38 pp vs +9 and −4 pp; | |
| 22 | +> without it the spread is +2.6 pp), winsorizing halves the pooled spread (+14.7 → +7.2 pp), an IT | |
| 23 | +> sector factor absorbs most of the post-period alpha (5.2 → 1.9 %/yr), and sector-by-year fixed | |
| 24 | +> effects leave the slope insignificant. Reading: a sector-level re-rating of persistent AI exposure | |
| 25 | +> during the 2024–2026 AI investment cycle, not a stable premium nor a sharp attention shock. | |
| 23 | 26 | |
| 24 | 27 | --- |
| 25 | 28 | |
@@ -27,130 +30,146 @@ | ||
| 27 | 30 | |
| 28 | 31 | | Item | Value | |
| 29 | 32 | |---|---| |
| 30 | −| Version | 1.0 (June 2026) — `main.tex` reconstructed 2026-10-17 | | |
| 33 | +| Version | **1.1 (October 2026) — revised 2026-10-17 by the editorial-board review; à valider par les co-auteurs** (v1.0 June 2026; `main.tex` reconstructed 2026-10-17) | | |
| 31 | 34 | | SSRN | not yet submitted | |
| 32 | 35 | | Journal | — (draft) | |
| 33 | −| Code & data | reproducible from `scripts/` on the committed processed panel (`data/processed/`, 19 MB); raw 10-K embeddings come from the EDGAR Research Database (not redistributed) | | |
| 36 | +| Review documents | [`docs/REVIEW-REPORT.md`](docs/REVIEW-REPORT.md) (scientific review) · [`docs/CHANGELOG-REVISION.md`](docs/CHANGELOG-REVISION.md) (audit trail) · pre-revision PDF `docs/main_pre-revision-20261017.pdf` (tag `pre-revision-20261017`) | | |
| 37 | +| Code & data | reproducible from `scripts/` on the committed processed panel (`data/processed/`, 20 MB); raw filing text and embeddings come from the EDGAR Research Database (not redistributed) | | |
| 34 | 38 | |
| 35 | 39 | ## 🎯 What this paper does |
| 36 | 40 | |
| 37 | −Did the *language* of AI in firms' mandatory disclosures carry information about their subsequent | |
| 38 | −stock returns, when did that information begin to be priced, and through which channel? Three | |
| 39 | −ingredients are combined: a machine-readable 10-K corpus (EDGAR Research Database), a semantic | |
| 40 | −measurement technology (sentence embeddings scored against AI anchor concepts, section-weighted), | |
| 41 | −and a clean look-ahead-free mapping from fiscal-year disclosure to tradeable forward returns | |
| 42 | −(July Y+1 → June Y+2). | |
| 41 | +Did the *language* of AI in firms' SEC filings carry information about their subsequent stock | |
| 42 | +returns, when did that information begin to be priced, and through which channel? Three | |
| 43 | +ingredients are combined: a machine-readable filing corpus (EDGAR Research Database), a semantic | |
| 44 | +measurement technology (sentence embeddings scored against AI anchor concepts, section-weighted | |
| 45 | +within filings and averaged across the filings of a calendar year), and a look-ahead-free mapping | |
| 46 | +from the filing year to tradeable forward returns (July Y+1 → June Y+2, at least six months after the | |
| 47 | +last filing). | |
| 43 | 48 | |
| 44 | 49 | ``` |
| 45 | 50 | r_{i,Y+1} = α + β · AI_{i,Y} + γ' X_{i,Y} + δ · (AI_{i,Y} × Post-ChatGPT) + ε_{i,Y+1} |
| 46 | 51 | ``` |
| 47 | 52 | |
| 48 | 53 | Signals: `AI_ADOPT` (internal AI use), `AI_INFRA` (compute / capex exposure), `AI_RISK` |
| 49 | −(product-disruption risk), `AI_COMPOS` = z(ADOPT) + z(INFRA). Methods: within-year z-scoring, | |
| 54 | +(product-disruption risk), `AI_COMPOS` = ½[z(ADOPT) + z(INFRA)]. Methods: within-year z-scoring, | |
| 50 | 55 | quintile portfolio sorts (EW/VW, raw and market-adjusted) with Newey–West t-statistics, FF5 + |
| 51 | −momentum alphas, two-way fixed-effects panels with double-clustered errors, Fama–MacBeth, and a | |
| 52 | −post-ChatGPT (30 November 2022) structural-break interaction. | |
| 56 | +momentum (+ IT-sector factor) alphas, two-way fixed-effects panels with double-clustered errors, | |
| 57 | +Fama–MacBeth (with and without sector dummies), post-ChatGPT (30 November 2022) interaction, DiD and | |
| 58 | +event-time profile on pre-determined exposure, market-model event study with dependence-robust | |
| 59 | +portfolio tests, placebo on five non-AI semantic factors, 8-K-only signal, seasoned-firm universe. | |
| 53 | 60 | |
| 54 | 61 | ## 🏆 Headline results |
| 55 | 62 | |
| 56 | 63 | | Object | Estimate | |
| 57 | 64 | |---|---| |
| 58 | −| Panel | 7,869 firm-years, 500 firms, FY 2010–2026 (estimation sample 6,852 firm-years, 497 firms) | | |
| 59 | −| Q5–Q1 forward-return spread, pre- / post-ChatGPT | **+2.4 pp/yr → +14.6 pp/yr** | | |
| 60 | −| Long-short Sharpe, pre / post | 0.15 → 1.33 | | |
| 61 | −| Full-sample risk-adjusted long-short alpha | ≈ 2 %/yr, insignificant | | |
| 62 | −| Event study: ChatGPT launch, high- vs low-AI firms, 1-year CAR | **+10.1 %** (t = 1.97) | | |
| 63 | −| Placebo (5 non-AI semantic factors) | post-2022 jump specific to AI; ESG / climate spreads negative | | |
| 64 | −| Magnificent 7 excluded | break unchanged | | |
| 65 | −| Firm fixed effects / sector fixed effects | effect absorbed / roughly halved → cross-sectional re-rating | | |
| 65 | +| Panel | 7,869 firm-years, 500 firms, filing years 2010–2026 (estimation sample 6,852 firm-years, 497 firms, formation years 2010–2024) | | |
| 66 | +| Scored corpus | 103,926 Form 8-K (all 500 firms) + 3,710 Form 10-Q (84 firms); 0 Form 10-K; median 28 chunks per firm-year | | |
| 67 | +| Full-sample Q5–Q1 spread (composite, EW) | +4.9 pp/yr (t = 1.88); FF6 alpha +1.9 %/yr (t = 1.24); with IT-sector factor +0.4 %/yr | | |
| 68 | +| Q5–Q1 spread, pre- / post-ChatGPT | **+2.5 pp/yr → +14.6 pp/yr**; post cohorts 2022 / 2023 / 2024 = **+9.3 / −4.0 / +38.4**; post mean without 2024 = +2.6 | | |
| 69 | +| Pooled post-period Q5 vs Q1 (firm-clustered) | +14.7 pp (t = 2.18) raw; **+7.2 pp (t = 2.21) winsorized**; 2022–2023 only +2.6 pp (t = 0.46) | | |
| 70 | +| Monthly long–short, pre / post (36 months) | mean 1.1 → 7.5 %/yr; Sharpe **0.22 → 1.32**; FF6 alpha post +5.2 %/yr (t = 1.72); **FF6 + TECH alpha +1.9 %/yr (t = 0.86), β_TECH = 0.47** | | |
| 71 | +| Event study: ChatGPT launch, High–Low 1-year CAR | **+10.1 pp**; Welch t = 1.97 (independence); portfolio t = 2.28 (estimation-window SD) / 2.60 (event-window SD); 60 days: +2.9 pp, t = 1.35 | | |
| 72 | +| Placebo (5 non-AI semantic factors) | ESG −8.8, climate −5.0, macro −0.5 pp; but cybersecurity +13.5 and automation/labour +7.2 pp | | |
| 73 | +| Event-time premium on 2019–21 exposure (firm-clustered SE) | 2015 +3.9 (t 2.8), 2016 +3.0 (2.3), 2022 +3.4 (2.2), 2023 +0.5 (0.3), 2024 +6.8 (3.0) — pre-trend not flat | | |
| 74 | +| Sector controls | FM post slope +5.5 (t 2.0) → +2.9 (t 1.4) with sector dummies; sector×year FE +1.3 (t 1.2); sector-neutral sort +3.8 (t 0.8) | | |
| 75 | +| 8-K-only signal / seasoned firms / Mag-7 excluded | +1.6 → +16.3 pp; +1.0 → +17.3 pp; +1.7 → +14.1 pp (break unchanged) | | |
| 66 | 76 | |
| 67 | 77 | ## 🗂 Repository layout |
| 68 | 78 | |
| 69 | 79 | ``` |
| 70 | 80 | ai-disclosure-stock-returns/ |
| 71 | −├── data/processed/ # analysis_panel, merged_panel, prices, market caps, FF5, event CARs (parquet, 19 MB, committed) | |
| 81 | +├── data/processed/ # analysis_panel, merged_panel, filing_type_scores, prices, market caps, FF5, event CARs (parquet, 20 MB, committed) | |
| 72 | 82 | ├── scripts/ # the pipeline, in order |
| 73 | −│ ├── 01_download_prices.py # monthly prices (500 tickers), SPY, market caps | |
| 74 | −│ ├── 02_build_panel.py # look-ahead-free forward returns (July formation) + controls | |
| 83 | +│ ├── 01_download_prices.py # monthly prices (500 tickers), SPY, market caps [needs network; outputs committed] | |
| 84 | +│ ├── 02_build_panel.py # look-ahead-free forward returns (July formation) + controls [needs the EDGAR DB panel] | |
| 75 | 85 | │ ├── 03_analysis.py # sorts, FF6 alphas, two-way FE, Fama–MacBeth, post-ChatGPT break |
| 76 | 86 | │ ├── 04_figures.py # figures 1–5 |
| 77 | −│ ├── 05_make_tables.py # LaTeX tables (core) | |
| 78 | −│ ├── 06_extended.py # placebo, sector-neutral / double sorts, Mag-7 exclusion, PCA, DiD | |
| 79 | −│ ├── 07_event_study.py # ChatGPT market-model event study | |
| 87 | +│ ├── 05_make_tables.py # LaTeX tables (core) — the committed fragments were hand-edited afterwards (see CHANGELOG) | |
| 88 | +│ ├── 06_extended.py # placebo, sector-neutral / double sorts, Mag-7 exclusion, PCA, DiD, event-time (firm-clustered SE since v1.1) | |
| 89 | +│ ├── 07_event_study.py # ChatGPT market-model event study [daily prices committed] | |
| 80 | 90 | │ ├── 08_figures_ext.py # figures 6–13 |
| 81 | −│ └── 09_make_tables_ext.py # LaTeX tables (extended) | |
| 82 | −├── results/tables/ # results*.json + CSV tables emitted by the scripts | |
| 83 | −├── figures/ # 13 publication figures (PNG, 200 dpi) | |
| 84 | −├── docs/ # original June 2026 report (full + short), analysis README | |
| 85 | −└── paper/ # main.tex + sections/ + tables/ + figures/ + appendix/ + references.bib → main.pdf | |
| 91 | +│ ├── 09_make_tables_ext.py # LaTeX tables (extended) | |
| 92 | +│ ├── 10_filing_type_scores.py # v1.1: 8-K vs 10-Q filing-level scores from the EDGAR DB → data/processed/filing_type_scores.parquet | |
| 93 | +│ ├── 11_review_reanalysis.py # v1.1: cohorts, pooled tests, monthly Sharpe/alphas + TECH factor, 8-K-only, seasoned firms, sector FE, event-study CDA | |
| 94 | +│ └── 12_make_tables_review.py # v1.1: tab_corpus, tab_postinference, tab_review_robust, tab_event_cda | |
| 95 | +├── results/tables/ # results.json, results2.json, results_event.json, results_review.json, corpus_composition.json, CSVs | |
| 96 | +├── figures/ # 13 figures (PNG) — copied to paper/figures/ | |
| 97 | +├── paper/ # main.tex, sections/, appendix/, tables/, references.bib (57 entries, DOIs), main.pdf | |
| 98 | +└── docs/ # REVIEW-REPORT.md, CHANGELOG-REVISION.md, README-analysis.md (June 2026), original reports, pre-revision PDF | |
| 86 | 99 | ``` |
| 87 | 100 | |
| 88 | 101 | ## 🚀 Quick start |
| 89 | 102 | |
| 90 | 103 | ```bash |
| 91 | −python3 -m pip install -r requirements.txt | |
| 92 | − | |
| 93 | −# scripts read/write relative to the repository root | |
| 94 | −python3 scripts/01_download_prices.py # needs network (Yahoo Finance) — skip if data/processed/ is present | |
| 95 | −python3 scripts/02_build_panel.py | |
| 96 | −python3 scripts/03_analysis.py | |
| 97 | −python3 scripts/06_extended.py | |
| 98 | −python3 scripts/07_event_study.py | |
| 99 | −python3 scripts/04_figures.py && python3 scripts/08_figures_ext.py # → figures/ | |
| 100 | −python3 scripts/05_make_tables.py && python3 scripts/09_make_tables_ext.py # → paper/tables/ | |
| 101 | − | |
| 102 | −cd paper && make # latexmk → main.pdf | |
| 104 | +pip install -r requirements.txt | |
| 105 | +# Re-analyses (no network, < 1 min each) from the committed parquet files: | |
| 106 | +python scripts/03_analysis.py && python scripts/06_extended.py && python scripts/07_event_study.py | |
| 107 | +python scripts/11_review_reanalysis.py && python scripts/12_make_tables_review.py | |
| 108 | +python scripts/04_figures.py && python scripts/08_figures_ext.py && cp figures/*.png paper/figures/ | |
| 109 | +cd paper && make # latexmk → main.pdf | |
| 103 | 110 | ``` |
| 104 | 111 | |
| 105 | −Runtime ≈ 3 minutes on an Apple-silicon laptop from the processed panel. | |
| 112 | +`01_download_prices.py` and `02_build_panel.py` require, respectively, network access to Yahoo Finance and the | |
| 113 | +EDGAR Research Database panel (`annual_final.parquet`); their outputs are committed. `10_filing_type_scores.py` | |
| 114 | +also reads the EDGAR Research Database; its output is committed. | |
| 106 | 115 | |
| 107 | 116 | ## 🗃 Data |
| 108 | 117 | |
| 109 | −- **Disclosure signals**: section-weighted cosine similarity of 10-K passages to AI anchor concepts, computed in the | |
| 110 | − EDGAR Research Database (`~/Desktop/UQO/UQO_RESEARCH_DB`, sentence-transformer embeddings of every S&P 500 10-K, | |
| 111 | − FY 2010–2026). Only the firm-year scores enter this repository. | |
| 112 | −- **Prices and factors**: monthly prices and market capitalisations for the 500 constituents and SPY (Yahoo Finance), | |
| 113 | − Fama–French five factors and momentum (Kenneth French data library). | |
| 114 | −- **Timing**: fiscal-year Y disclosure → forward 12-month return July (Y+1) to June (Y+2), strictly tradeable. | |
| 115 | −- Sample cascade: 7,869 firm-years → 6,852 firm-years (497 firms) with non-missing forward returns and controls | |
| 116 | − (Table 1 of the paper). | |
| 118 | +- **Disclosure signals**: section-weighted cosine similarity of filing text chunks to AI anchor concepts, computed in the | |
| 119 | + EDGAR Research Database (`~/Desktop/UQO/UQO_RESEARCH_DB`, `all-MiniLM-L6-v2` embeddings). **Scored corpus**: all Form 8-K | |
| 120 | + filings of the 500 current constituents (103,926) and the Form 10-Q filings of 84 firms (3,710); no Form 10-K was parsed. | |
| 121 | + The panel year is the **calendar year of the filing date**. Only firm-year scores (and, since v1.1, firm-year-by-form-type | |
| 122 | + scores) enter this repository. | |
| 123 | +- **Prices and factors**: monthly prices and market capitalisations for the 500 constituents and SPY (Yahoo Finance, downloaded | |
| 124 | + 17 June 2026), Fama–French five factors and momentum (Kenneth French data library, through April 2026). | |
| 125 | +- **Timing**: filings of calendar year Y → forward 12-month return July (Y+1) to June (Y+2); gap ≥ 6 months. | |
| 126 | +- **Universe**: current (June 2026) S&P 500 membership — **not point-in-time**; survivorship and entrant bias are discussed in | |
| 127 | + the paper and tested with listing-history restrictions (not eliminated). | |
| 128 | +- Sample cascade: 7,869 firm-years → 6,852 firm-years (497 firms) with a forward return (Table 2 of the paper). | |
| 117 | 129 | |
| 118 | 130 | ## 🔬 Methodology |
| 119 | 131 | |
| 120 | 132 | 1. **Signal construction** (`02_build_panel.py`): within-year z-scores of the three anchors and the composite; controls (momentum, volatility, log market cap). |
| 121 | 133 | 2. **Portfolio sorts** (`03_analysis.py`): quintiles, EW/VW, raw and market-adjusted, Newey–West inference; long-short spread regressed on FF5 + momentum. |
| 122 | 134 | 3. **Panel and Fama–MacBeth** (`03_analysis.py`): two-way fixed effects with double-clustered errors; year-by-year cross-sectional slopes. |
| 123 | −4. **Structural break** (`03_analysis.py`, `06_extended.py`): post-ChatGPT interaction, DiD in event time, sector-neutral and double sorts, Magnificent-7 exclusion, alternative signals/horizons, PCA. | |
| 124 | −5. **Placebo** (`06_extended.py`): five non-AI semantic factors (incl. ESG, climate) through the same pipeline. | |
| 135 | +4. **Structural break** (`03_analysis.py`, `06_extended.py`): post-ChatGPT interaction, DiD and event-time profile, sector-neutral and double sorts, Magnificent-7 exclusion, alternative signals/horizons, PCA. | |
| 136 | +5. **Placebo** (`06_extended.py`): five non-AI semantic factors through the same pipeline. | |
| 125 | 137 | 6. **Event study** (`07_event_study.py`): market-model CARs around 30 November 2022, binscatter on pre-event AI intensity. |
| 138 | +7. **Review re-analyses** (`11_review_reanalysis.py`): cohort-by-cohort and leave-one-out spreads, pooled firm-clustered tests (raw and winsorized), monthly Sharpe ratios and sub-period alphas with an IT-sector factor, 8-K-only signal, seasoned-firm universe, alternative break dates, Fama–MacBeth with sector dummies and sector×year FE, event-study portfolio tests (Brown–Warner CDA, event-window SD, Kolari–Pynnönen ρ̄). | |
| 126 | 139 | |
| 127 | 140 | ## 🖼 Figures & tables inventory |
| 128 | 141 | |
| 129 | 142 | | Figure | Content | |
| 130 | 143 | |---|---| |
| 131 | −| `fig1_quintile_returns` | forward returns by AI-disclosure quintile | | |
| 144 | +| `fig1_quintile_returns` | forward returns by AI-language quintile (full / pre / post) | | |
| 132 | 145 | | `fig2_cumulative_ls` | cumulative long-short returns by signal | |
| 133 | −| `fig3_annual_spread` | Q5–Q1 spread by formation year | | |
| 146 | +| `fig3_annual_spread` | Q5–Q1 spread by formation (filing) year | | |
| 134 | 147 | | `fig4_ai_language_trend` | AI-language intensity over time | |
| 135 | −| `fig5_binscatter` | forward return vs AI intensity | | |
| 148 | +| `fig5_binscatter` | forward return vs AI intensity, pre/post | | |
| 136 | 149 | | `fig6_fm_byyear` | Fama–MacBeth slopes by year | |
| 137 | 150 | | `fig7_placebo` | AI vs five placebo semantic factors | |
| 138 | 151 | | `fig8_event_car` | cumulative abnormal returns around ChatGPT | |
| 139 | −| `fig9_double_sort` | double sorts pre/post | | |
| 152 | +| `fig9_double_sort` | AI × size double sorts pre/post | | |
| 140 | 153 | | `fig10_mag7` | Magnificent-7 exclusion | |
| 141 | −| `fig11_eventtime` | DiD in event time | | |
| 154 | +| `fig11_eventtime` | event-time premium on pre-determined exposure (firm-clustered 95 % CI) | | |
| 142 | 155 | | `fig12_sector_box` | AI intensity by sector | |
| 143 | 156 | | `fig13_event_binscatter` | 1-year CAR vs pre-event AI intensity | |
| 144 | 157 | |
| 145 | −Tables (`paper/tables/*.tex`): summary statistics, correlations, top firms, portfolio sorts, alphas, panel, | |
| 146 | −structural break, double sorts, placebo, event study, DiD, robustness. | |
| 158 | +Tables (`paper/tables/*.tex`): corpus composition, summary statistics, correlations, top firms, portfolio sorts, alphas, | |
| 159 | +panel, structural break, post-period inference, double sorts, placebo, event study, event-study inference (CDA), DiD, | |
| 160 | +robustness, additional robustness (8-K-only, entrants, break definition, sector controls). | |
| 147 | 161 | |
| 148 | 162 | ## ⚠️ Limitations |
| 149 | 163 | |
| 150 | −- Anchor concepts embed the authors' definitional choices; alternative anchors are explored but not exhaustive. | |
| 151 | −- S&P 500 constituents only (large caps); survivorship handled through point-in-time membership but results may not extend to small caps. | |
| 152 | −- The post-ChatGPT window is short (2023–2026 formation years); the break is identified on few annual cross-sections. | |
| 153 | −- Prices from Yahoo Finance (adjusted closes) rather than CRSP. | |
| 164 | +- The post-2022 period has three formation cohorts and the average spread is driven by the 2024 cohort (holding period ending | |
| 165 | + with the partial June 2026 observation); a regime claim is a hypothesis for future cohorts, not an established fact. | |
| 166 | +- The scored corpus is 8-K current reports plus a partial, alphabetically selected set of 10-Qs; no 10-K text. Results hold on | |
| 167 | + 8-K filings alone, but the original question about annual-report narrative has not been tested. | |
| 168 | +- Current S&P 500 constituents only (survivorship and entrant bias; return levels biased upward). Entrants are evenly spread | |
| 169 | + across AI quintiles and results hold among seasoned firms, but the point-in-time index has not been reconstructed. | |
| 170 | +- AI language is correlated with sector; every sector control halves the post-2022 effect and leaves it insignificant. | |
| 171 | +- Anchor concepts embed the authors' definitional choices; no alternative anchor set has been tried. | |
| 172 | +- Market-cap proxy with constant (June 2026) shares; Yahoo Finance adjusted closes rather than CRSP; French factors end April 2026. | |
| 154 | 173 | |
| 155 | 174 | ## 📝 Citation |
| 156 | 175 | |
@@ -162,7 +181,8 @@ structural break, double sorts, placebo, event study, DiD, robustness. | ||
| 162 | 181 | type = {Working Paper}, |
| 163 | 182 | number = {17}, |
| 164 | 183 | year = {2026}, |
| 165 | − month = {June} | |
| 184 | + month = {October}, | |
| 185 | + note = {Version 1.1} | |
| 166 | 186 | } |
| 167 | 187 | ``` |
| 168 | 188 | |
@@ -174,6 +194,13 @@ Université du Québec en Outaouais (UQO), Gatineau, QC. | ||
| 174 | 194 | |
| 175 | 195 | ## 🗒 Notes |
| 176 | 196 | |
| 177 | −- **Reconstruction (2026-10-17)**: the working-paper `main.tex` of the June 2026 draft (former folder `UQO_WP_SPB_MK_CT`) had been lost; it was rebuilt from `Recherche-UQO/_modele-working-paper/main.tex` with title, abstract, keywords and JEL taken from the original report (`docs/original_report_full_2026-06.tex`). The 13 figures were regenerated from the committed panel with `scripts/04_figures.py` and `08_figures_ext.py`. Sections, tables and appendix are untouched. | |
| 178 | −- Deviations from the standard: three author e-mails on the cover (`\WPemail` holds three `\href`s, the title page prints `\WPemail` directly); the long abstract is single-spaced so that Keywords and JEL stay on page 2; `data/processed/*.parquet` (19 MB) is committed because it is the only reproducible input outside the EDGAR Research Database. | |
| 197 | +- **Revision 2026-10-17 (v1.1, à valider par les co-auteurs)**: complete scientific revision by the editorial-board procedure | |
| 198 | + (`Recherche-UQO/REVISION-MASTER-PROMPT.md`). The review found that the June 2026 draft misdescribed the corpus (10-K text | |
| 199 | + was claimed; the scored filings are 8-K and partial 10-Q, by calendar year of filing), overstated the uniformity of the | |
| 200 | + post-2022 cohorts, used degenerate year-clustered standard errors in the event-time DiD, used an independence-based test in | |
| 201 | + the event study, and relied on Newey–West t-statistics computed on three annual observations. All numbers were re-derived | |
| 202 | + from versioned scripts; see `docs/REVIEW-REPORT.md` and `docs/CHANGELOG-REVISION.md`. `docs/README-analysis.md` is the | |
| 203 | + June 2026 analysis note and keeps the original (incorrect) corpus description for the record. | |
| 204 | +- **Reconstruction (2026-10-17)**: the working-paper `main.tex` of the June 2026 draft (former folder `UQO_WP_SPB_MK_CT`) had been lost; it was rebuilt from `Recherche-UQO/_modele-working-paper/main.tex` with title, abstract, keywords and JEL taken from the original report (`docs/original_report_full_2026-06.tex`). The 13 figures were regenerated from the committed panel with `scripts/04_figures.py` and `08_figures_ext.py`. | |
| 205 | +- Deviations from the standard: three author e-mails on the cover (`\WPemail` holds three `\href`s, the title page prints `\WPemail` directly); the long abstract is single-spaced so that Keywords and JEL stay on page 2; `data/processed/*.parquet` (20 MB) is committed because it is the only reproducible input outside the EDGAR Research Database. | |
| 179 | 206 | - Macros `\tstat` and `\tablelegend` (used by sections and tables) are defined in `main.tex`. |
modified
data/processed/analysis_panel.parquet
+0 −0
Binary file not shown.
added
data/processed/filing_type_scores.parquet
+0 −0
Binary file not shown.
added
docs/CHANGELOG-REVISION.md
+87 −0
@@ -0,0 +1,87 @@ | ||
| 1 | +# CHANGELOG — Révision scientifique complète (editorial board, 2026-10-17) | |
| 2 | + | |
| 3 | +WP 17 — *Does the Language of Artificial Intelligence Move Markets?* (Kammoun, Tandjambianda, Boucher). | |
| 4 | +Version 1.0 (June 2026, `main.tex` reconstruit le 2026-10-17) → **version 1.1 (October 2026)**. État figé avant révision : | |
| 5 | +tag git `pre-revision-20261017`, PDF `docs/main_pre-revision-20261017.pdf` (39 p.). PDF révisé : `paper/main.pdf` (54 p.). | |
| 6 | +Statut : **à valider par les co-auteurs**. | |
| 7 | + | |
| 8 | +Toute modification de chiffre ci-dessous provient d'un résultat recalculé par un script versionné (`scripts/06_extended.py` | |
| 9 | +corrigé, `scripts/10–12` ajoutés) ; aucune estimation n'a été inventée ou tapée à la main. | |
| 10 | + | |
| 11 | +--- | |
| 12 | + | |
| 13 | +## 1. Corrections majeures (où / avant / après / pourquoi / preuve) | |
| 14 | + | |
| 15 | +| # | Où | Avant (v1.0) | Après (v1.1) | Pourquoi | Preuve | | |
| 16 | +|---|---|---|---|---|---| | |
| 17 | +| 1 | Abstract, intro, §Data (2.1–2.3), captions, notes de tables, appendice | « the full text of their annual reports (Form 10-K), parsed section by section » ; « a 10-K covering fiscal year Y … filed Feb–Mar Y+1 » ; « FY2021 10-K » | Le corpus scoré = **103 926 Form 8-K (500 firmes) + 3 710 Form 10-Q (84 firmes, tickers ≈ SMCI→ZTS)** ; **0 Form 10-K parsé** ; « fiscal_year » = **année civile de la date de dépôt**. Nouvelle Table 1 (`tab_corpus`), §3.1, §6.5, Annexe C | Lecture du code de la base (`src/factors/scoring.py` : `EXTRACT(YEAR FROM filing_date)` ; `data/parquet/chunk_scores/form_type=10-Q|8-K` ; `filings.parquet` : parse_status 10-K = pending 7 655/7 655 ; `project-db/README.md` : « the upstream corpus only sectioned 10-Q and 8-K filings ») | `results/tables/corpus_composition.json` ; `scripts/10_filing_type_scores.py` | | |
| 18 | +| 2 | §Results 5.4, Fig. 3 (caption), intro, abstract | « uniformly large and positive for every post-2022 cohort » ; « appears in every post-2022 formation cohort taken on its own » | Cohortes post : **2022 +9.3, 2023 −4.0, 2024 +38.4 pp** ; sans 2024 la moyenne post = +2.6 pp ≈ pré (+2.4) ; deux cohortes pré (2012 +10.4, 2015 +12.1) dépassent 2022 | La figure 3 elle-même montrait 2023 négatif ; le texte était faux | `results_review.json` → `B_cohorts_and_pooled` ; `review_cohort_spreads.csv` ; Table 9 (`tab_postinference`) | | |
| 19 | +| 3 | §Robustness 6.3, Fig. 11, `scripts/06_extended.py` l. 234 | Profil event-time avec SE **groupées par année** : SE 0.001–0.004 (t ≈ 20–30), bandes 95 % quasi nulles ; texte : « flat and near zero through 2021 and jumps after 2022 » | SE **groupées par firme** : 2015 +3.9 (t 2.8), 2016 +3.0 (2.3), 2018 +2.3 (1.5), 2022 +3.4 (2.2), 2023 +0.5 (0.3), 2024 +6.8 (3.0) ; « pre-trend not flat », affirmation retirée | Chaque coefficient année×exposition est identifié dans un seul cluster-année → variance cluster dégénérée | Diff `results2.json` avant/après (seul le bloc `did_eventtime` change ; tous les autres blocs identiques à 1e-16) ; `t6_did_eventtime.csv` | | |
| 20 | +| 4 | §Robustness 6.2, Table 12 (note), nouvelle Table 13 (`tab_event_cda`), §Méthodo 4.6 | Inférence de l'étude d'événement par test de Welch (firmes indépendantes) : t = 1.97 à 1 an | Ajout : corrélation moyenne des résidus ρ̄ = 0.039 (facteur de déflation KP ≈ 0.27) ; **test de portefeuille** (Brown–Warner CDA) : t = 1.35 (60 j), 1.45 (6 m), **2.28 (1 an)**, 2.63 (18 m) ; avec SD fenêtre d'événement : 1.54 / 1.65 / 2.60 / 2.99 | Un seul événement → CAR corrélés en coupe (Kolari–Pynnönen 2010) | `results_review.json` → `G_event_inference` ; `review_event_cda.csv` | | |
| 21 | +| 5 | Tables 8 et 11 (`tab_break`, `tab_placebo`), §5.4 | Coefficients d'interaction en décimales (0.0199, 0.0277…) à côté de spreads en % | Convertis en **points de pourcentage par écart-type** (+2.0, +2.8, +2.7 ; placebo : −0.6, +0.1, +0.9, +0.0, +1.3) | Unités mixtes dans la même table | Conversion ×100, aucun recalcul | | |
| 22 | +| 6 | §5.6 Economic significance, abstract, conclusion, README | Sharpe **0.15 → 1.33** (composite), 0.33 → 1.15 (risk) — chiffres issus de `results_extra.json`, **sans script générateur** | Sharpe recalculés et versionnés : **0.22 → 1.32** (composite ; pré = 144 mois < juil. 2023, post = 36 mois) ; risk 0.41 → 1.09 ; moyenne mensuelle LS post 7.5 %/an (HAC t 2.20) | Un chiffre du papier doit provenir d'un script | `scripts/11_review_reanalysis.py` → `A_monthly_longshort` | | |
| 23 | +| 7 | Table 15 (`tab_robust`), §6.4 | « It holds at six-, twelve-, and twenty-four-month horizons (growing with the horizon…) » ; post 6 m = +1.1 **sans t** (NaN) | Post 6 m et 24 m calculés sur **2 cohortes seulement** (2022–23) → note `a`, pas de t ; texte : « the post-2022 relation is not visible at a six-month horizon » | Script 06 utilise `range(2022,2024)` pour les horizons alternatifs | `results2.json` → `alt_horizon` (`post: [0.0113, NaN, 2]`) | | |
| 24 | +| 8 | §Discussion/Limitations, README « Limitations » | README : « survivorship handled through point-in-time membership » (faux) ; papier : biais « less likely to drive the cross-sectional relation » sans test | Univers = **constituants actuels (juin 2026)**, 83 entrants post-2009 ; nouvelle §3.4 et §6.6 : entrants répartis uniformément dans les quintiles (11–12 %), spread firmes « seasoned » (416) +1.0 → +17.3 ; sorties de l'indice non traitées | Biais majeur à assumer explicitement | `results_review.json` → `D_entrants` | | |
| 25 | +| 9 | §5.2, §5.4, §6.8, Table 9 panel C | Pas de contrôle « secteur/tech » dans la régression de spanning | Ajout du facteur **TECH** (EW IT − EW univers) : β = 0.47 (t 6.5) post ; alpha FF6 post 5.2 % (t 1.72) → **1.9 % (t 0.86)** ; FM avec dummies sectoriels post 5.5 → 2.9 (t 1.4) ; EF secteur×année 1.3 (t 1.2) | Le signal IA post-2022 ≈ exposition secteur IT/semis | `results_review.json` → `A_monthly_longshort`, `E_sector_controls` | | |
| 26 | +| 10 | Table 9 panel B, §5.4 | Spread post présenté sur rendements bruts | Test poolé firme-cluster : brut **+14.7 (t 2.18)**, **winsorisé +7.2 (t 2.21)** ; 2022–23 seuls +2.6 (t 0.46) ; post−pré +12.1 (t 1.79) ; identification des gagnants extrêmes (WDC +969 %, MU +730 %, STX +624 %, cohorte 2024) | Influence des valeurs extrêmes | `results_review.json` → `B_cohorts_and_pooled`, `H_coverage.largest_post_period_forward_returns` | | |
| 27 | +| 11 | §6.5 (nouvelle), Table 16 panel A | — | Signal **8-K seulement** : corr. 0.95 avec la base ; spreads +1.6 → +16.3 (t 2.10) ; cohortes +6.3/+1.3/+41.3 ; effet mécanique d'un 10-Q scoré sur le z de base : **+0.67 ET (t 6.7)** (part de firm-years avec 10-Q : 3 % en Q1 → 30 % en Q5) ; nul sur le signal 8-K (−0.10, t −1.1) | Artefact de mesure lié au parsing partiel | `data/processed/filing_type_scores.parquet` ; `F_filing_type` | | |
| 28 | +| 12 | §4 Méthodologie | Peu d'équations (1 seule) | 15 équations numérotées : cosinus, wmean, agrégation annuelle, z-score, rendement forward, spread, spanning (FF6+TECH), panel, FM, break, DiD, event-time, modèle de marché, CAR, t CDA ; discussion explicite des limites d'inférence (3 obs. post, 15 clusters-année) | Master prompt §4 | — | | |
| 29 | +| 13 | Abstract, intro, discussion, conclusion | Ton : « more than sextuples », « exceptional », « among the largest single-theme cross-sectional effects in the recent asset-pricing record », « decisively favor H2–H4 » | Réécriture complète, prudente : « sector-level re-rating of persistent AI exposure, concentrated in the 2024 cohort » ; H1 rejetée, H2 partiellement, H3 partiellement, H4 en partie | Intégrité / standards des revues cibles | — | | |
| 30 | +| 14 | `paper/tables/regression.tex`, `summary_stats.tex` | Fragments du gabarit (125 400 obs. fictives, `eq:baseline`) présents dans le dépôt, non inclus | **Supprimés** (`git rm`) | Fichiers parasites | — | | |
| 31 | +| 15 | Persistance du signal (§3.8) | « rank autocorrelation 0.88 / 0.73 » sans source | **Vérifié et versionné : 0.883 / 0.726** | Traçabilité | `H_coverage.rank_autocorr_*` | | |
| 32 | +| 16 | Chiffre pré-période | Abstract « +2.4 », tables « +2.5 » (0.0245 arrondi différemment) | **+2.5** partout (tables générées) ; la moyenne des cohortes vaut 2.449 | Cohérence | — | | |
| 33 | +| 17 | `\WPversion`, `\WPdate` | 1.0, June 2026 | **1.1, October 2026** | Protocole | — | | |
| 34 | + | |
| 35 | +## 2. Références | |
| 36 | + | |
| 37 | +**Avant : 36 entrées, 0 DOI. Après : 57 entrées, 56 DOI (MacKinlay 1997 : pas de DOI Crossref ; JSTOR 2729691 noté).** | |
| 38 | +Toutes vérifiées par l'API Crossref (`api.crossref.org/works/<DOI>` ou `query.bibliographic`) le 2026-10-17 ; les 36 entrées | |
| 39 | +existantes ont été confirmées (auteurs, revue, volume, pages) et dotées de leur DOI. | |
| 40 | + | |
| 41 | +Entrées corrigées : `cong2022textfactor` (NBER WP 33168, 2024, 4e auteur Zhu ajouté) ; `kelly2019textregression` (JBES 2021, DOI) ; | |
| 42 | +`lopezlira2023risk` (SSRN 3313663) ; `webb2020` (SSRN 3482150) ; `reimers2019sbert` (pages 3980–3990, EMNLP-IJCNLP) ; | |
| 43 | +`eisfeldt2023generative` (DOI NBER w31222). | |
| 44 | + | |
| 45 | +Références ajoutées (21, toutes citées dans le texte) : Carhart 1997 (JF) ; Kolari–Pynnönen 2010 (RFS) ; Brown–Warner 1985 (JFE) ; | |
| 46 | +Boehmer–Musumeci–Poulsen 1991 (JFE) ; Kothari–Warner 2007 (Handbook) ; Barber–Lyon 1997 (JFE) ; Fama 1998 (JFE) ; Mitchell–Stafford | |
| 47 | +2000 (J. Business) ; Brown–Goetzmann–Ross 1995 (JF) ; Hou–Xue–Zhang 2020 (RFS) ; Harvey–Liu–Zhu 2016 (RFS) ; McLean–Pontiff 2016 (JF) ; | |
| 48 | +Thompson 2011 (JFE) ; Ke–Kelly–Xiu 2019 (NBER) ; Hanley–Hoberg 2019 (RFS) ; Loughran–McDonald 2020 (ARFE) ; Li–Mai–Shen–Yan 2021 (RFS) ; | |
| 49 | +Sautner–van Lent–Vilkov–Zhang 2023 (JF) ; Huang–Wang–Yang 2023 (CAR) ; Acemoglu–Autor–Hazell–Restrepo 2022 (JOLE) ; | |
| 50 | +Lopez-Lira–Tang 2026 (JFE 184, 104335) ; Jha–Qian–Weber–Yang 2024 (NBER). | |
| 51 | + | |
| 52 | +Aucune référence retirée. Note : la clé `acemoglu2020wrong` pointe sur « Robots and Jobs » (JPE 2020), conforme à la v1.0 ; le texte | |
| 53 | +la cite désormais pour les robots industriels (et Acemoglu et al. 2022 pour l'IA). | |
| 54 | + | |
| 55 | +## 3. Réanalyses exécutées (toutes locales, depuis `data/processed/`, aucun téléchargement) | |
| 56 | + | |
| 57 | +| Script | Durée | Sortie | | |
| 58 | +|---|---|---| | |
| 59 | +| `scripts/06_extended.py` (SE event-time corrigées) | 19 s | `results/tables/results2.json`, `t6_did_eventtime.csv`, `data/processed/analysis_panel.parquet` (inchangé hors colonne recalculée) | | |
| 60 | +| `scripts/10_filing_type_scores.py` (lecture de la base EDGAR locale) | 20 s | `data/processed/filing_type_scores.parquet` (1.2 Mo), `results/tables/corpus_composition.json` | | |
| 61 | +| `scripts/11_review_reanalysis.py` | 13 s | `results/tables/results_review.json`, `review_cohort_spreads.csv`, `review_event_cda.csv` | | |
| 62 | +| `scripts/12_make_tables_review.py` | < 1 s | `paper/tables/tab_corpus.tex`, `tab_postinference.tex`, `tab_review_robust.tex`, `tab_event_cda.tex` | | |
| 63 | +| `scripts/04_figures.py`, `08_figures_ext.py` (labels « 10-K » → filing year ; fig. 11 avec SE corrigées) | 10 s | `figures/*.png` → `paper/figures/` | | |
| 64 | + | |
| 65 | +Vérification de non-régression : tous les blocs de `results2.json` autres que `did_eventtime` sont identiques avant/après | |
| 66 | +(différence max 8e-17 sur `fm_byyear`). `results.json` et `results_event.json` n'ont pas été régénérés (scripts 03/07 inchangés). | |
| 67 | + | |
| 68 | +## 4. Tables existantes éditées à la main (notes et unités seulement) | |
| 69 | + | |
| 70 | +`tab_break` (unités interaction, note), `tab_placebo` (unités, note), `tab_robust` (note `a`, conclusion de la note), `tab_panel` | |
| 71 | +(formulation « firm and year », renvois aux équations, `6{,}811`), `tab_did` (note prudente, `6{,}790`), `tab_summary`, `tab_topfirms`, | |
| 72 | +`tab_sorts`, `tab_event`, `tab_doublesort` (mentions « 10-K » / « FY2021 » corrigées, formulations tempérées). Les scripts `05`/`09` | |
| 73 | +produisent les versions sans `\tablelegend` d'origine ; ils n'ont pas été relancés pour ne pas écraser les notes (déjà le cas en v1.0). | |
| 74 | + | |
| 75 | +## 5. Éléments non modifiés faute de données / non exécutés (voir REVIEW-REPORT §7) | |
| 76 | + | |
| 77 | +- Pas de scoring des 7 655 Form 10-K (base EDGAR : parsing non fait ; hors périmètre < 30 min, et interdit par le protocole si téléchargement). | |
| 78 | +- Pas de reconstruction de la composition historique du S&P 500 (données non disponibles localement). | |
| 79 | +- Pas de jeu d'ancres alternatif (nécessite ré-embedding du corpus). | |
| 80 | +- Pas de facteur semi-conducteurs externe (SOX) ni de CRSP ; le facteur TECH est construit à partir du panel lui-même. | |
| 81 | +- Pas de bootstrap par blocs sur les 3 cohortes post (jugé non informatif) ; pas de test BHAR/calendar-time formel au-delà du CDA. | |
| 82 | + | |
| 83 | +## 6. Autres | |
| 84 | + | |
| 85 | +- `docs/README-analysis.md` : encart ajouté signalant les deux erreurs de la note de juin 2026 (fichier conservé pour mémoire). | |
| 86 | +- README : Status, TL;DR, Headline results, Data, Limitations, Notes mis à jour ; mention « à valider par les co-auteurs ». | |
| 87 | +- Compilation : `cd paper && make` → 0 erreur, 0 référence/citation indéfinie, 1 Overfull de 1.15 pt (texte), 54 pages. | |
modified
docs/README-analysis.md
+7 −0
@@ -1,3 +1,10 @@ | ||
| 1 | +> **Note (2026-10-17, editorial-board revision, v1.1).** This file is the June 2026 analysis note, kept for the record. | |
| 2 | +> Two statements below were found to be incorrect during the revision and are corrected in the paper and in | |
| 3 | +> `docs/REVIEW-REPORT.md`: (i) the semantic signals are **not** computed from 10-K filings — the EDGAR Research Database had | |
| 4 | +> scored only the Form 8-K current reports (all 500 firms) and the Form 10-Q reports of 84 firms, and the panel year is the | |
| 5 | +> calendar year of the filing date; (ii) the post-2022 spread is **not** uniform across cohorts (2022 +9.3, 2023 −4.0, | |
| 6 | +> 2024 +38.4 pp). The `report/` paths refer to the former analysis folder of the database; the paper now lives in `paper/`. | |
| 7 | + | |
| 1 | 8 | # AI Disclosure & S&P 500 Returns — Empirical Study |
| 2 | 9 | |
| 3 | 10 | Links the semantic AI-disclosure factors (EDGAR Research Database) to realized stock |
added
docs/REVIEW-REPORT.md
+149 −0
@@ -0,0 +1,149 @@ | ||
| 1 | +# REVIEW REPORT — Editorial board, 2026-10-17 | |
| 2 | + | |
| 3 | +**WP 17 — Does the Language of Artificial Intelligence Move Markets? A Semantic Analysis of S&P 500 SEC Filings and the | |
| 4 | +Cross-Section of Stock Returns, 2010–2026** (Kammoun, Tandjambianda, Boucher). Version reviewed: 1.0 (June 2026, 39 p., | |
| 5 | +`docs/main_pre-revision-20261017.pdf`). Version produced: 1.1 (October 2026, 54 p., `paper/main.pdf`). Board composition for this | |
| 6 | +paper: empirical asset pricing, textual analysis / NLP in finance, accounting and disclosure, panel econometrics. Target | |
| 7 | +journals considered: JFE, RFS, JF, JFQA, Review of Accounting Studies, JAR, Journal of Empirical Finance, Finance Research | |
| 8 | +Letters, IRFA. The audit trail of every change is in `docs/CHANGELOG-REVISION.md`. | |
| 9 | + | |
| 10 | +--- | |
| 11 | + | |
| 12 | +## 1. Summary verdict | |
| 13 | + | |
| 14 | +The paper asks a good question with a genuinely useful measurement technology, and its timing design (filing year Y → July Y+1 | |
| 15 | +to June Y+2) is look-ahead-free. But the June 2026 draft contained one factual misdescription of the data serious enough to | |
| 16 | +invalidate the paper as written, and several inferential overstatements that together turned a thin, one-cohort result into a | |
| 17 | +"regime change" narrative. Specifically: | |
| 18 | + | |
| 19 | +1. **The corpus is not what the paper said it was.** The text, abstract, tables and appendix describe "the full text of annual | |
| 20 | + reports (Form 10-K), parsed section by section", filed in February–March of Y+1. Inspection of the EDGAR Research Database | |
| 21 | + shows that the scoring engine had processed **only Form 8-K current reports (103,926, all 500 firms) and 3,710 Form 10-Q | |
| 22 | + reports belonging to 84 alphabetically contiguous firms (SMCI→ZTS); zero 10-K filings were parsed**, and `fiscal_year` is the | |
| 23 | + calendar year of the filing date. The AI measure is therefore a measure of *announcement* language (median 28 chunks per | |
| 24 | + firm-year, two chunks per 8-K), and 16 % of firm-years get a mechanical boost (+0.67 SD on the composite z-score, t = 6.7) | |
| 25 | + from the presence of a scored 10-Q. The look-ahead argument survives (gap ≥ 6 months), but the whole description of the | |
| 26 | + measurement had to be rewritten, and the headline results re-estimated on an 8-K-only signal (they hold: +1.6 → +16.3 pp). | |
| 27 | +2. **The post-2022 "regime" rests on one cohort.** The three post-launch cohorts earned +9.3, −4.0 and +38.4 pp. The draft | |
| 28 | + wrote "uniformly large and positive for every post-2022 cohort", which its own Figure 3 contradicts. Without the 2024 cohort | |
| 29 | + the post-period spread is +2.6 pp, equal to the pre-period. Winsorizing returns halves the pooled post spread (+14.7 → +7.2 | |
| 30 | + pp) because three memory/storage stocks (WDC, MU, STX) returned +600 % to +970 % in the 2024 cohort. | |
| 31 | +3. **The post-period Newey–West t-statistics (2.07–2.44) are computed on three annual observations** and carry no information. | |
| 32 | + Inference was re-based on 36 monthly long-short returns (HAC t = 2.20, Sharpe 1.32) and on pooled firm-clustered tests. | |
| 33 | +4. **The signal is largely a technology-sector bet after 2022.** Adding an IT-sector factor built from the panel reduces the | |
| 34 | + post-period FF6 alpha from 5.2 % (t 1.72) to 1.9 % per year (t 0.86), with β_TECH = 0.47; sector dummies halve the | |
| 35 | + Fama–MacBeth slope (5.5 → 2.9, t 1.4); sector×year FE leave +1.3 (t 1.2); the sector-neutral sort gives +3.8 (t 0.8). | |
| 36 | +5. **A coding error produced degenerate standard errors in the event-time DiD** (clustering by year on year-specific | |
| 37 | + coefficients: SE ≈ 0.001, t ≈ 20–30). With firm-clustered SEs the pre-launch premium on fixed exposure is significantly | |
| 38 | + positive in 2015 (+3.9, t 2.8) and 2016 (+3.0, t 2.3), as large as in 2022 (+3.4); the "flat pre-trend" claim is withdrawn. | |
| 39 | +6. **The event-study inference ignored cross-sectional dependence** (single event date; Welch t = 1.97). Dependence-robust | |
| 40 | + portfolio tests give t = 2.28 at one year but only 1.35 at sixty days — the horizon at which an attention shock should show. | |
| 41 | + | |
| 42 | +After revision the paper's defensible claim is narrower: AI language in current reports was essentially unpriced in 2010–2021, | |
| 43 | +became strongly related to returns in the 2024 cohort and modestly in 2022, mostly through the technology sector and persistent | |
| 44 | +firm-level exposure; this is consistent with a sector-level re-rating during the AI investment cycle, not with a stable premium | |
| 45 | +or a sharp attention shock. We regard the revised paper as an honest and useful working paper, publishable in a field journal | |
| 46 | +after the extensions in §7 are done, but not yet competitive at a top-three finance journal. | |
| 47 | + | |
| 48 | +## 2. Diagnosis by section | |
| 49 | + | |
| 50 | +| Section | Strengths | Weaknesses found | Action | | |
| 51 | +|---|---|---|---| | |
| 52 | +| Abstract | Clear question, clear design | 10-K claim false; "sextuples", "exceptional"; Sharpe 0.15/1.33 from an unversioned file; t = 1.97 presented as significant | Rewritten (corpus, numbers, tone) | | |
| 53 | +| Introduction | Good motivation, four-angle structure | "every post-2022 cohort"; "the very same sort"; Mag-7 argument correct but beside the point (the drivers are mid-caps); contribution overstated | Rewritten; third contribution now = the fragility analysis | | |
| 54 | +| Literature | Well chosen core references | No embedding-based disclosure papers (Hanley–Hoberg, Li et al.), no FinBERT, no multiple-testing or event-study-inference literature, no survivorship reference; Acemoglu key mislabelled | 21 verified references added; new §2.6 on short samples and event-study inference; hypotheses sharpened | | |
| 55 | +| Data | Timing convention sound; within-year standardization appropriate | Corpus misdescribed; "fiscal year" wrong; persistence numbers unsourced; survivorship under-discussed; no equations for the measure | §3.1 rewritten with Table 1 (corpus); equations (1)–(5); new §3.4 universe; persistence verified (0.883/0.726) | | |
| 56 | +| Methodology | Six complementary designs | One equation; no discussion of 3-observation inference, 15 year clusters, cross-sectional dependence; event-time clustering error | 15 numbered equations; inferential limits explicit; TECH factor; CDA statistic | | |
| 57 | +| Results | Tables clean, figures informative | Cohort claim false; interaction coefficients in decimals; Sharpe unsourced; outliers not examined; "largest single-theme effect in the recent record" | New Table 9 (cohorts, leave-one-out, pooled raw/winsorized, monthly series with TECH); economic-significance section rewritten | | |
| 58 | +| Robustness | Broad battery | Placebo ignores that cybersecurity (+13.5) and automation (+7.2) also rise and that both anchors mention AI; event study independence; DiD SE bug; 6-month horizon "holds" with +1.1 pp on 2 cohorts; no 8-K-only or entrant checks | Table 13 (CDA), Table 16 (8-K-only, entrants, break definition, sector), §6.3 rewritten, 6-month claim corrected | | |
| 59 | +| Discussion | Thoughtful mechanism discussion | Mechanism (attention shock) not supported by timing (effect peaks 2.5 years after launch, weak at 60 days / 6 months) | Rewritten around sector-cycle interpretation; limitations ranked | | |
| 60 | +| Conclusion | — | Overstated | Rewritten; next steps: score 10-Ks, point-in-time index, new cohorts | | |
| 61 | +| Appendix | Variable table | No anchor texts; reproducibility section generic | Exact anchor texts; corpus composition and the 84 tickers; reproducibility updated | | |
| 62 | +| Tables | Generated by scripts (05/09), then hand-polished | Two template fragments with fictitious numbers (125,400 obs.) in the repo; 10-K wording; mixed units | Fragments deleted; notes corrected; units harmonized | | |
| 63 | +| Bibliography | Correct entries | No DOIs; two working papers now published/updated | 57 entries, 56 DOIs, all Crossref-verified | | |
| 64 | + | |
| 65 | +## 3. Methodology — verdict on each point of the master prompt §3 | |
| 66 | + | |
| 67 | +- **Specification justified**: yes for sorts, FM, panel; the DiD "treatment" (pre-determined exposure × Post) is a reasonable | |
| 68 | + device but parallel trends fail (2015–2016 premia). Documented. | |
| 69 | +- **Estimation assumptions explicit**: now yes (equations 1–15; HAC lags; cluster dimensions; estimation/event windows). | |
| 70 | +- **Variables correctly defined**: corrected (filing year; 8-K/10-Q; composite; TECH; pre-determined exposure). | |
| 71 | +- **Fixed effects appropriate**: firm + year FE absorb the persistent signal by construction — correctly interpreted as a | |
| 72 | + finding about levels vs changes; sector×year FE added as the relevant alternative. | |
| 73 | +- **Temporal dependence**: annual holding windows do not overlap (12-month return, annual formation), so NW(3) on annual spreads | |
| 74 | + is defensible for the 15-year series; it is meaningless for 3 observations — replaced. Monthly LS returns do overlap in | |
| 75 | + membership but not in time; HAC(3) is adequate. | |
| 76 | +- **Standard errors**: double clustering with 15 year clusters is thin (Petersen 2009; Thompson 2011) — now stated, with | |
| 77 | + firm-clustered alternatives. Event-time clustering corrected. Event-study dependence corrected. | |
| 78 | +- **Sample construction transparent**: now yes (Table 1, Appendix C, §3.4). | |
| 79 | +- **Robustness addresses genuine threats**: the original battery addressed mega-caps, signal construction, horizon, PCA; it did | |
| 80 | + not address corpus composition, entrants, sector factor, outliers, break definition — all added. | |
| 81 | +- **Coefficient interpretation**: units fixed; monthly vs annual spread difference explained (monthly rebalancing caps | |
| 82 | + compounding of extreme winners). | |
| 83 | +- **Statistical vs economic significance**: Sharpe standard error (~0.58) now stated; winsorized spread given as the better | |
| 84 | + summary. | |
| 85 | +- **Causal claims**: removed; "consistent with" language throughout. | |
| 86 | + | |
| 87 | +## 4. Literature — references verified / added / removed | |
| 88 | + | |
| 89 | +All 36 original entries were verified on Crossref (DOI resolved; author, journal, volume, pages checked) and received DOIs; | |
| 90 | +`cong2022textfactor`, `kelly2019textregression`, `lopezlira2023risk`, `webb2020`, `reimers2019sbert`, `eisfeldt2023generative` | |
| 91 | +were corrected or completed. 21 references were added (list and DOIs in the CHANGELOG §2); each is cited in the text where it | |
| 92 | +does work (embedding-based disclosure measurement; AI and markets; multiple testing; event-study inference; survivorship; | |
| 93 | +clustering; momentum factor). No reference was removed. MacKinlay (1997) has no Crossref DOI; JSTOR id noted. | |
| 94 | + | |
| 95 | +## 5. Results — inconsistencies found and resolved | |
| 96 | + | |
| 97 | +- Abstract +2.4 vs tables +2.5 for the pre-period composite spread (0.02449): harmonized to +2.5. | |
| 98 | +- "Sharpe 0.15 → 1.33" (unversioned `results_extra.json`) vs recomputed 0.22 → 1.32 with cohort-consistent sub-periods. | |
| 99 | +- Interaction coefficients 0.0199 etc. in decimals next to spreads in %: converted to pp/SD. | |
| 100 | +- 6- and 24-month post spreads shown without t (NaN, 2 cohorts): flagged. | |
| 101 | +- Caption of Fig. 3 ("uniformly positive") contradicted by the figure: corrected. | |
| 102 | +- README: "survivorship handled through point-in-time membership" contradicted the paper (current membership): corrected. | |
| 103 | +- `tab_panel` note "firm × year" FE (interaction) vs two-way (additive) FE: corrected. | |
| 104 | +- Persistence 0.88/0.73 unsourced: verified (0.883/0.726) and versioned. | |
| 105 | +- Two template table fragments with fictitious numbers in `paper/tables/`: deleted. | |
| 106 | +- Figure axis labels "Fiscal year of 10-K": regenerated. | |
| 107 | + | |
| 108 | +## 6. Remaining limitations (after revision) | |
| 109 | + | |
| 110 | +1. Three post-launch cohorts; one drives the average; last cohort ends with a partial month (prices to 17 June 2026). | |
| 111 | +2. Corpus = 8-K + partial 10-Q; the original question about annual-report narrative is untested. | |
| 112 | +3. Current-membership universe; exits not observed; return levels biased upward. | |
| 113 | +4. AI language ≈ technology sector after 2022; within-sector premium positive but insignificant everywhere. | |
| 114 | +5. Constant-shares market-cap proxy; Yahoo Finance rather than CRSP; French factors end April 2026 (34 of 36 post months). | |
| 115 | +6. Single anchor set; sensitivity to anchor wording untested. | |
| 116 | +7. Long-horizon market-model event study; DiD parallel trends violated. | |
| 117 | +8. Multiple comparisons across 4 signals × 3 aggregations × 3 horizons × 8 placebo factors × sub-periods; no formal adjustment. | |
| 118 | + | |
| 119 | +## 7. Recommended analyses NOT executed (and why) | |
| 120 | + | |
| 121 | +| Analysis | Why not executed | What it would need | | |
| 122 | +|---|---|---| | |
| 123 | +| Score the 7,655 Form 10-K filings and re-run everything on annual-report text | Parsing + embedding of 88 GB of HTML; hours on the cluster; outside the < 30 min local rule and the no-download rule | `project-db` ingest pipeline on the EDGAR DB; then `02_build_panel.py` on a 10-K panel | | |
| 124 | +| Point-in-time S&P 500 membership (historical constituents, exits) | Not available locally | CRSP/Compustat index constituents or a curated constituent-history file | | |
| 125 | +| Alternative anchor sets (paraphrased anchors; keyword baseline; `all-mpnet-base-v2`) | Requires re-embedding/re-scoring 491k chunks | EDGAR DB `build_factors.py` with modified `anchors.py` | | |
| 126 | +| External semiconductor/AI factor (SOX index, SMH) and CRSP-based size proxy | External downloads forbidden by protocol | Yahoo/CRSP download; add to `11_review_reanalysis.py` block A | | |
| 127 | +| Weighting filings by chunk count in the annual aggregation (chunk-weighted score) | Needs chunk-level or filing-level scores for all firms; filing-level scores exported only by form type | Extend `10_filing_type_scores.py` to export filing-level rows (107k rows, feasible, ~10 MB) | | |
| 128 | +| Block bootstrap / randomization inference on the break date | With 3 post cohorts the distribution is degenerate; placebo break dates on 12 pre cohorts would be informative | Add to `11_review_reanalysis.py` (feasible, < 1 min) | | |
| 129 | +| Calendar-time portfolio with FF6 for the event study (Mitchell–Stafford) | Partly covered by the monthly LS series; daily factors not in repo | Daily French factors (download) | | |
| 130 | +| Additional post-2024 cohorts | Data do not exist yet | Re-run in July 2027 | | |
| 131 | + | |
| 132 | +## 8. Maturity for publication | |
| 133 | + | |
| 134 | +- **Target venues**: Finance Research Letters / Journal of Empirical Finance / IRFA as a short, cautious empirical note on the | |
| 135 | + fragility of post-ChatGPT "AI factors"; Review of Accounting Studies / JAR would require the 10-K corpus and a point-in-time | |
| 136 | + universe; JFE/RFS/JF would additionally require a longer post-period and a sharper identification of firm-level vs | |
| 137 | + sector-level repricing. | |
| 138 | +- **Rejection risks as it stands**: (i) corpus composition (8-K + partial 10-Q) will be read as a data-quality problem even if | |
| 139 | + honestly disclosed; (ii) one-cohort result; (iii) current-membership universe; (iv) sector confound; (v) the paper now | |
| 140 | + partly reads as a critique of its own first version, which is right for a working paper but will need to be rewritten as a | |
| 141 | + positive contribution ("how fragile are AI-text factors?") for submission. | |
| 142 | +- **What would make it strong**: the three not-executed items at the top of §7, plus one more year of data. | |
| 143 | + | |
| 144 | +## 9. Integrity statement | |
| 145 | + | |
| 146 | +No number in the revised paper was changed without a recomputation by a versioned script; the original files are preserved | |
| 147 | +(`docs/original_report_*.tex`, `docs/main_pre-revision-20261017.pdf`, tag `pre-revision-20261017`). The only change to an | |
| 148 | +original script is the clustering fix in `06_extended.py`; all other blocks of its output are bit-identical. The revised text | |
| 149 | +states explicitly which claims of version 1.0 are withdrawn. | |
modified
figures/fig11_eventtime.png
+0 −0
Binary file not shown.
modified
figures/fig13_event_binscatter.png
+0 −0
Binary file not shown.
modified
figures/fig3_annual_spread.png
+0 −0
Binary file not shown.
modified
figures/fig4_ai_language_trend.png
+0 −0
Binary file not shown.
modified
figures/fig6_fm_byyear.png
+0 −0
Binary file not shown.
modified
paper/appendix/appendix.tex
+105 −19
@@ -17,37 +17,123 @@ | ||
| 17 | 17 | \caption{Variable Definitions} |
| 18 | 18 | \label{tab:app_variables} |
| 19 | 19 | \small |
| 20 | − \begin{tabular}{@{}p{4.2cm}p{10.5cm}@{}} | |
| 20 | + \begin{tabular}{@{}p{5.1cm}p{9.6cm}@{}} | |
| 21 | 21 | \toprule |
| 22 | 22 | Variable & Definition \\ |
| 23 | 23 | \midrule |
| 24 | − AI\,Adopt (\texttt{ai\_adoption\_wmean}) & Section-weighted mean cosine similarity of a firm's 10-K text chunks to the AI-internal-adoption anchor in fiscal year $Y$. \\[4pt] | |
| 25 | − AI\,Infra (\texttt{ai\_infrastructure\_wmean}) & Section-weighted mean similarity to the AI-compute-infrastructure anchor. \\[4pt] | |
| 26 | − AI\,Risk (\texttt{ai\_disruption\_risk\_wmean}) & Section-weighted mean similarity to the AI-product-disruption-risk anchor. \\[4pt] | |
| 27 | − AI\,Compos & $\tfrac12[z(\text{AI\,Adopt})+z(\text{AI\,Infra})]$, with $z$ the within-year cross-sectional standardization. \\[4pt] | |
| 28 | − Forward return & Buy-and-hold simple return from July of $Y{+}1$ to June of $Y{+}2$ (adjusted close, dividends reinvested). \\[4pt] | |
| 24 | + AI\,Adopt (\texttt{ai\_adoption\_wmean}) & Average over the scored filings of firm $i$ dated in calendar year $Y$ of the section-weighted mean cosine similarity of the filing's text chunks to the AI-internal-adoption anchor, equations~\eqref{eq:cos}--\eqref{eq:annual}. \\[4pt] | |
| 25 | + AI\,Infra (\texttt{ai\_infrastructure\_wmean}) & Same construction for the AI-compute-infrastructure anchor. \\[4pt] | |
| 26 | + AI\,Risk (\texttt{ai\_disruption\_risk\_wmean}) & Same construction for the AI-product-disruption-risk anchor. \\[4pt] | |
| 27 | + Simple mean, top-5\% tail & Filing-level unweighted mean of chunk scores, and mean of the chunks at or above the filing's 95th percentile, averaged over filings as above. \\[4pt] | |
| 28 | + AI\,Compos & $\tfrac12[z(\text{AI\,Adopt})+z(\text{AI\,Infra})]$, with $z$ the within-formation-year cross-sectional standardization of equation~\eqref{eq:z}. \\[4pt] | |
| 29 | + 8-K-only composite & AI\,Compos rebuilt from the filing-level scores of Form~8-K filings only (\texttt{data/processed/filing\_type\_scores.parquet}). \\[4pt] | |
| 30 | + Pre-determined exposure & Firm average of AI\,Compos over filing years 2019--2021, standardized across firms; binary treatment equals one above the median. \\[4pt] | |
| 31 | + Forward return & Buy-and-hold simple return from July of $Y{+}1$ to June of $Y{+}2$, equation~\eqref{eq:fwd}, from adjusted closes (dividends reinvested), requiring at least six monthly returns. \\[4pt] | |
| 29 | 32 | Market-adjusted return & Forward return minus the contemporaneous SPY return. \\[4pt] |
| 30 | − Size & Natural logarithm of the market-cap proxy (latest shares outstanding $\times$ price) at formation. \\[4pt] | |
| 33 | + Size & Natural logarithm of the market-cap proxy (June 2026 shares outstanding $\times$ price) at formation. \\[4pt] | |
| 31 | 34 | Momentum & Own return over the 12 months ending at formation, skipping the last month. \\[4pt] |
| 32 | 35 | Volatility & Annualized standard deviation of monthly returns over the trailing 12 months. \\[4pt] |
| 33 | − Post & Indicator equal to one for formation (fiscal) years $\ge 2022$. \\[4pt] | |
| 34 | − CAR & Cumulative market-model abnormal return; market model estimated Jan--Oct 2022, event window Nov 2022--Jun 2024. \\ | |
| 36 | + Post & Indicator equal to one for formation (filing) years $\ge 2022$. \\[4pt] | |
| 37 | + TECH & Equal-weighted monthly return of the Information Technology constituents of the panel minus the equal-weighted return of all constituents. \\[4pt] | |
| 38 | + CAR & Cumulative market-model abnormal return, equations~\eqref{eq:mm}--\eqref{eq:car}; market model estimated 3~January--31~October 2022 on SPY, event window 1~November 2022--30~June 2024. \\ | |
| 35 | 39 | \bottomrule |
| 36 | 40 | \end{tabular} |
| 37 | 41 | \end{table} |
| 38 | 42 | |
| 43 | +\section{Anchor Texts} | |
| 44 | +\label{app:anchors} | |
| 45 | + | |
| 46 | +Each concept is defined by the three paragraphs below (\texttt{src/factors/anchors.py} of the | |
| 47 | +EDGAR Research Database). The three paragraphs are embedded separately with | |
| 48 | +\texttt{all-MiniLM-L6-v2}, averaged, and normalized to a unit vector; chunk scores are cosine | |
| 49 | +similarities to that vector. The anchors were written by the authors in June 2026 and have not been | |
| 50 | +revised since; no alternative anchor set has been tested. | |
| 51 | + | |
| 52 | +\paragraph{AI adoption (operational weighting).} (1) ``The company internally uses artificial | |
| 53 | +intelligence, machine learning, generative AI, large language models, automation, predictive | |
| 54 | +analytics, intelligent agents, and data-driven systems to improve productivity, operations, | |
| 55 | +efficiency, decision-making, customer service, risk management, compliance, cybersecurity, supply | |
| 56 | +chain, software development, finance, human resources, and other business processes.'' (2) ``We | |
| 57 | +have implemented generative AI, large language models, and natural language processing | |
| 58 | +capabilities across our enterprise. Our AI strategy includes deploying intelligent automation, | |
| 59 | +computer vision, and predictive analytics systems to transform operations.'' (3) ``Investment in | |
| 60 | +artificial intelligence research and development, including partnerships with AI technology | |
| 61 | +providers, hiring of machine learning engineers, and deployment of AI infrastructure including GPU | |
| 62 | +computing clusters for internal business applications.'' | |
| 63 | + | |
| 64 | +\paragraph{AI disruption risk (risk weighting).} (1) ``Artificial intelligence may reduce the | |
| 65 | +scarcity, defensibility, differentiation, pricing power, or competitive advantage of the company's | |
| 66 | +products or services by enabling rapid replication, automation, synthetic generation, low-cost | |
| 67 | +substitution, or commoditization of capabilities that were previously difficult, expensive, or | |
| 68 | +specialized.'' (2) ``The rapid advancement of AI technologies may render our current offerings less | |
| 69 | +competitive. New market entrants leveraging AI could fundamentally alter industry dynamics, reduce | |
| 70 | +barriers to entry, and erode our market position through AI-native products and services.'' | |
| 71 | +(3) ``Risks associated with artificial intelligence include potential competitive displacement by | |
| 72 | +AI-powered alternatives, obsolescence of our existing products, regulatory uncertainty around AI | |
| 73 | +governance, algorithmic bias, intellectual property challenges, and emergence of AI-native | |
| 74 | +competitors.'' | |
| 75 | + | |
| 76 | +\paragraph{AI infrastructure (operational weighting).} (1) ``Investment in AI computing | |
| 77 | +infrastructure including data centers, GPU and TPU clusters, cloud computing resources, | |
| 78 | +semiconductor chips, accelerator hardware, and high-performance computing systems dedicated to | |
| 79 | +artificial intelligence and machine learning workloads.'' (2) ``Capital expenditures for AI | |
| 80 | +infrastructure, including networking equipment for distributed AI training, specialized computing | |
| 81 | +platforms for large-scale model development, edge computing for AI inference, and data pipeline | |
| 82 | +infrastructure for machine learning operations.'' (3) ``Cloud infrastructure spending for AI | |
| 83 | +workloads, including partnerships with hyperscale cloud providers, deployment of AI-optimized | |
| 84 | +hardware, GPU supply chain management, and investment in next-generation computing architectures | |
| 85 | +for artificial intelligence applications.'' | |
| 86 | + | |
| 87 | +\paragraph{Placebo concepts.} The ESG-commitment anchor describes sustainability reporting, | |
| 88 | +corporate social responsibility, diversity and inclusion, stakeholder engagement, adherence to | |
| 89 | +SASB, GRI, and TCFD frameworks, emission reductions, and board-level oversight of environmental and | |
| 90 | +social risk. The climate-risk anchor describes physical and transition risks, carbon pricing, | |
| 91 | +stranded assets, water scarcity, TCFD scenario analysis, and Scope~1--3 emissions targets. The | |
| 92 | +cybersecurity anchor describes data breaches, ransomware, GDPR and CCPA compliance, security | |
| 93 | +operations, zero-trust architecture, cyber insurance, and ``AI-powered threat detection.'' The | |
| 94 | +automation/labour anchor describes robotic process automation, workforce restructuring, | |
| 95 | +reskilling, human--machine collaboration, and ``the future of work transformation driven by AI and | |
| 96 | +robotics.'' The macro-risk anchor describes inflation, interest and exchange rates, recession, | |
| 97 | +geopolitical tensions, tariffs, commodity prices, and monetary and fiscal policy. The full texts | |
| 98 | +are in the source file cited above. Two of the placebo anchors (cybersecurity and automation/labour) | |
| 99 | +mention AI explicitly, which bears on the interpretation of Table~\ref{tab:placebo}. | |
| 100 | + | |
| 101 | +\section{Corpus Composition and the 84 Firms with Scored 10-Q Filings} | |
| 102 | +\label{app:corpus} | |
| 103 | + | |
| 104 | +The EDGAR Research Database downloaded \num{7655} Form~10-K, \num{22542} Form~10-Q, and | |
| 105 | +\num{103927} Form~8-K filings for the 500 constituents over January 2010--June 2026. At the time | |
| 106 | +the panel was built, the section parser had completed all 8-K filings and \num{3710} 10-Q filings | |
| 107 | +and had not started on the 10-K filings; the scoring engine processed the parsed filings only. The | |
| 108 | +10-Q filings that were parsed belong to the following 84 tickers, essentially those from SMCI to ZTS in alphabetical order plus a few others: BF.B, BNY, BRK.B, DIS, GWW, SMCI, SNPS, STE, STLD, SYF, SYK, SYY, TDG, TDY, TEL, TER, TFC, TGT, TJX, TKO, TMO, TMUS, TPL, TPR, TRGP, TRMB, TROW, TRV, TSCO, TSLA, TSN, TT, TTD, TTWO, TXN, TXT, TYL, UAL, UBER, UDR, UHS, ULTA, UNH, UNP, UPS, URI, USB, V, VEEV, VICI, VLO, VLTO, VMC, VRSK, VRSN, VRT, VRTX, VST, VTR, VTRS, VZ, WAB, WAT, WBD, WDAY, WDC, WEC, WELL, WFC, WM, WMB, WMT, WRB, WSM, WST, WTW, WY, WYNN, XEL, XYL, YUM, ZBH, ZBRA, ZTS.\footnote{The list is read from the committed \texttt{data/processed/filing\_type\_scores.parquet}, which | |
| 109 | +\texttt{scripts/10\_filing\_type\_scores.py} exports from the database's \texttt{filing\_scores} table.} The year variable of the panel is the | |
| 110 | +calendar year of the filing date (\texttt{EXTRACT(YEAR FROM filing\_date)} in the scoring engine), | |
| 111 | +not the fiscal year covered by the filing. Of the \num{7869} firm-years, 16.4\% contain at least one | |
| 112 | +scored 10-Q. | |
| 113 | + | |
| 39 | 114 | \section{Data Sources and Reproducibility} |
| 40 | 115 | \label{app:repro} |
| 41 | 116 | |
| 42 | −Semantic factors are from the EDGAR Research Database (UQO), which embeds 10-K text with the | |
| 43 | −\texttt{all-MiniLM-L6-v2} sentence transformer and scores each chunk by cosine similarity to curated | |
| 44 | −anchor passages. Equity prices (monthly and daily) are from Yahoo Finance; the Fama--French five | |
| 45 | −factors, the momentum factor, and the risk-free rate are from the Kenneth R.\ French data library. All | |
| 46 | −return tests use look-ahead-free July-formation forward returns, with signals taken from the 10-K of | |
| 47 | −the preceding fiscal year. The analysis pipeline downloads prices, builds the merged firm-year panel, | |
| 48 | −runs the portfolio sorts, factor regressions, panel and Fama--MacBeth estimators, the | |
| 49 | −difference-in-differences specifications, and the market-model event study, and emits all figures and | |
| 50 | −tables programmatically; numerical results are serialized to machine-readable result files so that | |
| 51 | −every number reported in the paper is reproducible from source. | |
| 117 | +Semantic scores are from the EDGAR Research Database (UQO), which is not redistributed; only the | |
| 118 | +firm-year panel (\texttt{data/processed/merged\_panel.parquet}) and the filing-type aggregates | |
| 119 | +(\texttt{filing\_type\_scores.parquet}) enter the repository, together with the monthly and daily | |
| 120 | +prices, market capitalizations, factor series, and long--short series needed to reproduce every | |
| 121 | +table and figure without network access. Equity prices are from Yahoo Finance (downloaded 17~June | |
| 122 | +2026); the Fama--French five factors, the momentum factor, and the risk-free rate are from the | |
| 123 | +Kenneth R.\ French data library (through April 2026). The pipeline in \texttt{scripts/} runs in | |
| 124 | +numerical order: \texttt{01} downloads prices, \texttt{02} builds the look-ahead-free panel, | |
| 125 | +\texttt{03} runs the sorts, factor regressions, panel and Fama--MacBeth estimators and the break | |
| 126 | +interaction, \texttt{06} the placebo, double sorts, exclusions, alternative signals and horizons, | |
| 127 | +principal components, difference-in-differences, event-time profile, and forward volatility, | |
| 128 | +\texttt{07} the event study, \texttt{04} and \texttt{08} the figures, and \texttt{05} and | |
| 129 | +\texttt{09} the LaTeX fragments of the original tables. Scripts \texttt{10}--\texttt{12}, added | |
| 130 | +in the October 2026 revision, export the filing-type aggregates, run the re-analyses of | |
| 131 | +Tables~\ref{tab:corpus}, \ref{tab:postinf}, \ref{tab:reviewrobust}, and~\ref{tab:eventcda}, and | |
| 132 | +write their LaTeX fragments. All numerical results are serialized to | |
| 133 | +\texttt{results/tables/*.json}. The revision also corrected the clustering of the event-time | |
| 134 | +regression in \texttt{06\_extended.py} (by firm rather than by year); every other number produced by | |
| 135 | +scripts \texttt{03}, \texttt{06}, and \texttt{07} is unchanged from the June 2026 draft. The table | |
| 136 | +notes of the original fragments were edited by hand after generation and are documented in | |
| 137 | +\texttt{docs/CHANGELOG-REVISION.md}. | |
| 52 | 138 | |
| 53 | 139 | \end{appendices} |
modified
paper/figures/fig11_eventtime.png
+0 −0
Binary file not shown.
modified
paper/figures/fig13_event_binscatter.png
+0 −0
Binary file not shown.
modified
paper/figures/fig3_annual_spread.png
+0 −0
Binary file not shown.
modified
paper/figures/fig4_ai_language_trend.png
+0 −0
Binary file not shown.
modified
paper/figures/fig6_fm_byyear.png
+0 −0
Binary file not shown.
modified
paper/main.pdf
+0 −0
Binary file not shown.
modified
paper/main.tex
+28 −28
@@ -102,36 +102,36 @@ | ||
| 102 | 102 | \newcommand{\WPnumber}{17} |
| 103 | 103 | \newcommand{\WPtitle}{Does the Language of Artificial Intelligence Move Markets?} |
| 104 | 104 | \newcommand{\WPsubtitle}{A Semantic Analysis of S\&P~500 SEC Filings and the Cross-Section of Stock Returns, 2010--2026} |
| 105 | −\newcommand{\WPdate}{June 2026} | |
| 106 | −\newcommand{\WPversion}{1.0} | |
| 105 | +\newcommand{\WPdate}{October 2026} | |
| 106 | +\newcommand{\WPversion}{1.1} | |
| 107 | 107 | \newcommand{\WPabstract}{% |
| 108 | 108 | \begingroup\singlespacing % long abstract: single spacing so that Keywords and JEL stay on page 2 |
| 109 | −We construct a \emph{semantic} measure of artificial-intelligence (AI) engagement for every | |
| 110 | −S\&P~500 firm by embedding the text of its annual SEC filings (Form~10-K) with a sentence | |
| 111 | −transformer and scoring each passage by cosine similarity to professionally curated AI | |
| 112 | −``anchor'' concepts---internal AI adoption, AI infrastructure exposure, and AI product-disruption | |
| 113 | −risk. Linking these scores to monthly equity prices from Yahoo Finance and to the Fama--French | |
| 114 | −factor data, we assemble a panel of \num{7869} firm-years (500 firms, fiscal years 2010--2026) | |
| 115 | −and ask whether the intensity of AI language predicts the cross-section of subsequent returns. | |
| 116 | −Our central result is \textbf{conditional and economically large}. Over the full sample the | |
| 117 | −relation between AI-disclosure intensity and future returns is positive but modest and only | |
| 118 | −marginally significant; a risk-adjusted long--short portfolio earns an insignificant | |
| 119 | −$\sim$2\%/year. After the public launch of ChatGPT (30 November 2022), however, the relation | |
| 120 | −\emph{more than sextuples}: the spread between the top and bottom quintile of AI disclosure rises | |
| 121 | −from $+2.4$ percentage points per year before 2022 to $+14.6$ points per year afterward. The | |
| 122 | −break survives section-weighting choices, alternative signal definitions and horizons, dimension | |
| 123 | −reduction, and---crucially---the exclusion of the ``Magnificent~7'' mega-caps. A battery of | |
| 124 | −identification tests sharpens the interpretation: (i) a \emph{placebo} across five non-AI | |
| 125 | −semantic factors shows the post-2022 jump is specific to AI-related language (ESG and climate | |
| 126 | −disclosure, by contrast, earn \emph{negative} post-2022 spreads); (ii) a market-model | |
| 127 | −\emph{event study} finds that firms with higher pre-event AI disclosure earned $+10.1\%$ higher | |
| 128 | −cumulative abnormal returns over the year after ChatGPT \tstat{1.97}; and (iii) the effect is | |
| 129 | −absorbed by firm fixed effects and roughly halved by sector fixed effects, indicating a | |
| 130 | −\emph{cross-sectional, regime-dependent re-rating}---the market repriced \emph{which firms and | |
| 131 | −sectors} are AI-exposed once AI became salient, rather than rewarding year-to-year changes in any | |
| 132 | −single firm's wording. The findings provide direct, text-based evidence for an attention- and | |
| 133 | −narrative-driven repricing of AI exposure, and illustrate the value of embedding-based disclosure | |
| 134 | −measurement for asset pricing. | |
| 109 | +We construct a semantic measure of artificial-intelligence (AI) engagement for the 500 current | |
| 110 | +S\&P~500 constituents by embedding the text of their SEC filings with a sentence transformer and | |
| 111 | +scoring each passage by cosine similarity to curated AI anchor concepts---internal adoption, | |
| 112 | +infrastructure exposure, and product-disruption risk. The scored corpus consists of Form~8-K | |
| 113 | +current reports and a subset of Form~10-Q reports filed in 2010--2026; scores are aggregated by | |
| 114 | +filing year and linked to forward twelve-month returns formed at the end of the following June, | |
| 115 | +so that every signal predates its holding period by at least six months. In the resulting panel | |
| 116 | +of \num{7869} firm-years (\num{6852} with a tradeable forward return) the unconditional relation | |
| 117 | +between AI language and subsequent returns is weak: the equal-weighted top-minus-bottom quintile | |
| 118 | +spread is about 5 percentage points per year with a $t$-statistic below two, and the six-factor | |
| 119 | +alpha of the long--short portfolio is 1.9\% per year and insignificant. The relation strengthens | |
| 120 | +after the launch of ChatGPT: the spread averages $+14.6$ points per year over the 2022--2024 | |
| 121 | +formation cohorts against $+2.5$ before, the monthly long--short Sharpe ratio rises from 0.22 to | |
| 122 | +1.32, high-AI firms earn $+10.1$ points higher market-model abnormal returns than low-AI firms in | |
| 123 | +the year after the launch (portfolio $t=2.3$), and ESG and climate language, run through the same | |
| 124 | +pipeline, earn negative post-2022 spreads. We show, however, that this evidence is thinner than | |
| 125 | +the point estimates suggest. The post-period comprises three annual cohorts, one of which (2024) | |
| 126 | +accounts for essentially all of the increase ($+38$ points against $+9$ and $-4$); without it the | |
| 127 | +post-period spread equals its pre-period level, and winsorizing returns halves it. The long--short | |
| 128 | +return loads heavily on an Information Technology sector factor that absorbs most of the | |
| 129 | +post-period alpha, and sector-by-year fixed effects halve the cross-sectional slope and remove its | |
| 130 | +significance. The effect is absorbed by firm fixed effects, and the event-time profile of a | |
| 131 | +pre-determined exposure measure shows significant premia in 2015--2016 as well as in 2024. The | |
| 132 | +results are consistent with a sector-level re-rating of persistent AI exposure after 2022, but | |
| 133 | +they do not establish a stable premium, and the pricing of AI language should be re-examined as | |
| 134 | +further post-2022 cohorts accumulate. | |
| 135 | 135 | |
| 136 | 136 | \par\endgroup |
| 137 | 137 | } |
modified
paper/references.bib
+324 −40
@@ -10,7 +10,8 @@ | ||
| 10 | 10 | volume = {128}, |
| 11 | 11 | number = {6}, |
| 12 | 12 | pages = {2188--2244}, |
| 13 | − year = {2020} | |
| 13 | + year = {2020}, | |
| 14 | + doi = {10.1086/705716} | |
| 14 | 15 | } |
| 15 | 16 | |
| 16 | 17 | @article{babina2024aiinvestment, |
@@ -19,7 +20,8 @@ | ||
| 19 | 20 | journal = {Journal of Financial Economics}, |
| 20 | 21 | volume = {151}, |
| 21 | 22 | pages = {103745}, |
| 22 | − year = {2024} | |
| 23 | + year = {2024}, | |
| 24 | + doi = {10.1016/j.jfineco.2023.103745} | |
| 23 | 25 | } |
| 24 | 26 | |
| 25 | 27 | @article{bakerwurgler2006, |
@@ -29,7 +31,8 @@ | ||
| 29 | 31 | volume = {61}, |
| 30 | 32 | number = {4}, |
| 31 | 33 | pages = {1645--1680}, |
| 32 | − year = {2006} | |
| 34 | + year = {2006}, | |
| 35 | + doi = {10.1111/j.1540-6261.2006.00885.x} | |
| 33 | 36 | } |
| 34 | 37 | |
| 35 | 38 | @article{barberodean2008, |
@@ -39,7 +42,8 @@ | ||
| 39 | 42 | volume = {21}, |
| 40 | 43 | number = {2}, |
| 41 | 44 | pages = {785--818}, |
| 42 | − year = {2008} | |
| 45 | + year = {2008}, | |
| 46 | + doi = {10.1093/rfs/hhm079} | |
| 43 | 47 | } |
| 44 | 48 | |
| 45 | 49 | @article{bolton2021risk, |
@@ -49,7 +53,8 @@ | ||
| 49 | 53 | volume = {142}, |
| 50 | 54 | number = {2}, |
| 51 | 55 | pages = {517--549}, |
| 52 | − year = {2021} | |
| 56 | + year = {2021}, | |
| 57 | + doi = {10.1016/j.jfineco.2021.05.008} | |
| 53 | 58 | } |
| 54 | 59 | |
| 55 | 60 | @article{bybee2024narrative, |
@@ -59,7 +64,8 @@ | ||
| 59 | 64 | volume = {79}, |
| 60 | 65 | number = {5}, |
| 61 | 66 | pages = {3105--3147}, |
| 62 | − year = {2024} | |
| 67 | + year = {2024}, | |
| 68 | + doi = {10.1111/jofi.13377} | |
| 63 | 69 | } |
| 64 | 70 | |
| 65 | 71 | @article{cameron2011, |
@@ -69,7 +75,8 @@ | ||
| 69 | 75 | volume = {29}, |
| 70 | 76 | number = {2}, |
| 71 | 77 | pages = {238--249}, |
| 72 | − year = {2011} | |
| 78 | + year = {2011}, | |
| 79 | + doi = {10.1198/jbes.2010.07136} | |
| 73 | 80 | } |
| 74 | 81 | |
| 75 | 82 | @article{cohen2020lazy, |
@@ -79,14 +86,18 @@ | ||
| 79 | 86 | volume = {75}, |
| 80 | 87 | number = {3}, |
| 81 | 88 | pages = {1371--1415}, |
| 82 | − year = {2020} | |
| 89 | + year = {2020}, | |
| 90 | + doi = {10.1111/jofi.12885} | |
| 83 | 91 | } |
| 84 | 92 | |
| 85 | 93 | @techreport{cong2022textfactor, |
| 86 | − author = {Cong, Lin William and Liang, Tengyuan and Zhang, Xiao}, | |
| 94 | + author = {Cong, Lin William and Liang, Tengyuan and Zhang, Xiao and Zhu, Wu}, | |
| 87 | 95 | title = {Textual Factors: A Scalable, Interpretable, and Data-Driven Approach to Analyzing Unstructured Information}, |
| 88 | − institution = {Working Paper}, | |
| 89 | − year = {2022} | |
| 96 | + institution = {National Bureau of Economic Research}, | |
| 97 | + type = {NBER Working Paper}, | |
| 98 | + number = {33168}, | |
| 99 | + year = {2024}, | |
| 100 | + doi = {10.3386/w33168} | |
| 90 | 101 | } |
| 91 | 102 | |
| 92 | 103 | @article{da2011, |
@@ -96,7 +107,8 @@ | ||
| 96 | 107 | volume = {66}, |
| 97 | 108 | number = {5}, |
| 98 | 109 | pages = {1461--1499}, |
| 99 | − year = {2011} | |
| 110 | + year = {2011}, | |
| 111 | + doi = {10.1111/j.1540-6261.2011.01679.x} | |
| 100 | 112 | } |
| 101 | 113 | |
| 102 | 114 | @article{dellavigna2009, |
@@ -106,7 +118,8 @@ | ||
| 106 | 118 | volume = {64}, |
| 107 | 119 | number = {2}, |
| 108 | 120 | pages = {709--749}, |
| 109 | − year = {2009} | |
| 121 | + year = {2009}, | |
| 122 | + doi = {10.1111/j.1540-6261.2009.01447.x} | |
| 110 | 123 | } |
| 111 | 124 | |
| 112 | 125 | @techreport{eisfeldt2023generative, |
@@ -115,7 +128,8 @@ | ||
| 115 | 128 | institution = {National Bureau of Economic Research}, |
| 116 | 129 | type = {NBER Working Paper}, |
| 117 | 130 | number = {31222}, |
| 118 | − year = {2023} | |
| 131 | + year = {2023}, | |
| 132 | + doi = {10.3386/w31222} | |
| 119 | 133 | } |
| 120 | 134 | |
| 121 | 135 | @article{famafrench2015, |
@@ -125,7 +139,8 @@ | ||
| 125 | 139 | volume = {116}, |
| 126 | 140 | number = {1}, |
| 127 | 141 | pages = {1--22}, |
| 128 | − year = {2015} | |
| 142 | + year = {2015}, | |
| 143 | + doi = {10.1016/j.jfineco.2014.10.010} | |
| 129 | 144 | } |
| 130 | 145 | |
| 131 | 146 | @article{famamacbeth1973, |
@@ -135,7 +150,8 @@ | ||
| 135 | 150 | volume = {81}, |
| 136 | 151 | number = {3}, |
| 137 | 152 | pages = {607--636}, |
| 138 | − year = {1973} | |
| 153 | + year = {1973}, | |
| 154 | + doi = {10.1086/260061} | |
| 139 | 155 | } |
| 140 | 156 | |
| 141 | 157 | @article{gentzkow2019, |
@@ -145,7 +161,8 @@ | ||
| 145 | 161 | volume = {57}, |
| 146 | 162 | number = {3}, |
| 147 | 163 | pages = {535--574}, |
| 148 | − year = {2019} | |
| 164 | + year = {2019}, | |
| 165 | + doi = {10.1257/jel.20181020} | |
| 149 | 166 | } |
| 150 | 167 | |
| 151 | 168 | @article{hirshleifer2009driven, |
@@ -155,7 +172,8 @@ | ||
| 155 | 172 | volume = {64}, |
| 156 | 173 | number = {5}, |
| 157 | 174 | pages = {2289--2325}, |
| 158 | − year = {2009} | |
| 175 | + year = {2009}, | |
| 176 | + doi = {10.1111/j.1540-6261.2009.01501.x} | |
| 159 | 177 | } |
| 160 | 178 | |
| 161 | 179 | @article{hirshleifer2013innovative, |
@@ -165,7 +183,8 @@ | ||
| 165 | 183 | volume = {107}, |
| 166 | 184 | number = {3}, |
| 167 | 185 | pages = {632--654}, |
| 168 | − year = {2013} | |
| 186 | + year = {2013}, | |
| 187 | + doi = {10.1016/j.jfineco.2012.09.011} | |
| 169 | 188 | } |
| 170 | 189 | |
| 171 | 190 | @article{hoberg2010product, |
@@ -175,7 +194,8 @@ | ||
| 175 | 194 | volume = {23}, |
| 176 | 195 | number = {10}, |
| 177 | 196 | pages = {3773--3811}, |
| 178 | − year = {2010} | |
| 197 | + year = {2010}, | |
| 198 | + doi = {10.1093/rfs/hhq053} | |
| 179 | 199 | } |
| 180 | 200 | |
| 181 | 201 | @article{hobergphillips2016, |
@@ -185,7 +205,8 @@ | ||
| 185 | 205 | volume = {124}, |
| 186 | 206 | number = {5}, |
| 187 | 207 | pages = {1423--1465}, |
| 188 | − year = {2016} | |
| 208 | + year = {2016}, | |
| 209 | + doi = {10.1086/688176} | |
| 189 | 210 | } |
| 190 | 211 | |
| 191 | 212 | @article{kelly2019textregression, |
@@ -195,7 +216,8 @@ | ||
| 195 | 216 | volume = {39}, |
| 196 | 217 | number = {4}, |
| 197 | 218 | pages = {859--879}, |
| 198 | − year = {2021} | |
| 219 | + year = {2021}, | |
| 220 | + doi = {10.1080/07350015.2021.1947843} | |
| 199 | 221 | } |
| 200 | 222 | |
| 201 | 223 | @article{kogan2017technological, |
@@ -205,7 +227,8 @@ | ||
| 205 | 227 | volume = {132}, |
| 206 | 228 | number = {2}, |
| 207 | 229 | pages = {665--712}, |
| 208 | − year = {2017} | |
| 230 | + year = {2017}, | |
| 231 | + doi = {10.1093/qje/qjw040} | |
| 209 | 232 | } |
| 210 | 233 | |
| 211 | 234 | @article{koganpapanikolaou2014, |
@@ -215,14 +238,18 @@ | ||
| 215 | 238 | volume = {69}, |
| 216 | 239 | number = {2}, |
| 217 | 240 | pages = {675--718}, |
| 218 | − year = {2014} | |
| 241 | + year = {2014}, | |
| 242 | + doi = {10.1111/jofi.12136} | |
| 219 | 243 | } |
| 220 | 244 | |
| 221 | 245 | @techreport{lopezlira2023risk, |
| 222 | 246 | author = {Lopez-Lira, Alejandro}, |
| 223 | 247 | title = {Risk Factors That Matter: Textual Analysis of Risk Disclosures for the Cross-Section of Returns}, |
| 224 | − institution = {Working Paper}, | |
| 225 | − year = {2023} | |
| 248 | + institution = {University of Florida}, | |
| 249 | + type = {Working Paper}, | |
| 250 | + note = {SSRN 3313663}, | |
| 251 | + year = {2023}, | |
| 252 | + doi = {10.2139/ssrn.3313663} | |
| 226 | 253 | } |
| 227 | 254 | |
| 228 | 255 | @article{lm2011, |
@@ -232,7 +259,8 @@ | ||
| 232 | 259 | volume = {66}, |
| 233 | 260 | number = {1}, |
| 234 | 261 | pages = {35--65}, |
| 235 | − year = {2011} | |
| 262 | + year = {2011}, | |
| 263 | + doi = {10.1111/j.1540-6261.2010.01625.x} | |
| 236 | 264 | } |
| 237 | 265 | |
| 238 | 266 | @article{lm2016, |
@@ -242,7 +270,8 @@ | ||
| 242 | 270 | volume = {54}, |
| 243 | 271 | number = {4}, |
| 244 | 272 | pages = {1187--1230}, |
| 245 | − year = {2016} | |
| 273 | + year = {2016}, | |
| 274 | + doi = {10.1111/1475-679X.12123} | |
| 246 | 275 | } |
| 247 | 276 | |
| 248 | 277 | @article{mackinlay1997, |
@@ -252,7 +281,8 @@ | ||
| 252 | 281 | volume = {35}, |
| 253 | 282 | number = {1}, |
| 254 | 283 | pages = {13--39}, |
| 255 | − year = {1997} | |
| 284 | + year = {1997}, | |
| 285 | + note = {JSTOR 2729691} | |
| 256 | 286 | } |
| 257 | 287 | |
| 258 | 288 | @article{neweywest1987, |
@@ -262,7 +292,8 @@ | ||
| 262 | 292 | volume = {55}, |
| 263 | 293 | number = {3}, |
| 264 | 294 | pages = {703--708}, |
| 265 | − year = {1987} | |
| 295 | + year = {1987}, | |
| 296 | + doi = {10.2307/1913610} | |
| 266 | 297 | } |
| 267 | 298 | |
| 268 | 299 | @article{pastor2021sustainable, |
@@ -272,7 +303,8 @@ | ||
| 272 | 303 | volume = {142}, |
| 273 | 304 | number = {2}, |
| 274 | 305 | pages = {550--571}, |
| 275 | − year = {2021} | |
| 306 | + year = {2021}, | |
| 307 | + doi = {10.1016/j.jfineco.2020.12.011} | |
| 276 | 308 | } |
| 277 | 309 | |
| 278 | 310 | @article{pastor2022dissecting, |
@@ -282,7 +314,8 @@ | ||
| 282 | 314 | volume = {146}, |
| 283 | 315 | number = {2}, |
| 284 | 316 | pages = {403--424}, |
| 285 | − year = {2022} | |
| 317 | + year = {2022}, | |
| 318 | + doi = {10.1016/j.jfineco.2022.07.007} | |
| 286 | 319 | } |
| 287 | 320 | |
| 288 | 321 | @article{petersen2009, |
@@ -292,14 +325,17 @@ | ||
| 292 | 325 | volume = {22}, |
| 293 | 326 | number = {1}, |
| 294 | 327 | pages = {435--480}, |
| 295 | − year = {2009} | |
| 328 | + year = {2009}, | |
| 329 | + doi = {10.1093/rfs/hhn053} | |
| 296 | 330 | } |
| 297 | 331 | |
| 298 | 332 | @inproceedings{reimers2019sbert, |
| 299 | 333 | author = {Reimers, Nils and Gurevych, Iryna}, |
| 300 | 334 | title = {Sentence-{BERT}: Sentence Embeddings Using {Siamese} {BERT}-Networks}, |
| 301 | − booktitle = {Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing (EMNLP)}, | |
| 302 | − year = {2019} | |
| 335 | + booktitle = {Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)}, | |
| 336 | + pages = {3980--3990}, | |
| 337 | + year = {2019}, | |
| 338 | + doi = {10.18653/v1/D19-1410} | |
| 303 | 339 | } |
| 304 | 340 | |
| 305 | 341 | @article{shiller2017narrative, |
@@ -309,7 +345,8 @@ | ||
| 309 | 345 | volume = {107}, |
| 310 | 346 | number = {4}, |
| 311 | 347 | pages = {967--1004}, |
| 312 | − year = {2017} | |
| 348 | + year = {2017}, | |
| 349 | + doi = {10.1257/aer.107.4.967} | |
| 313 | 350 | } |
| 314 | 351 | |
| 315 | 352 | @article{tetlock2007, |
@@ -319,7 +356,8 @@ | ||
| 319 | 356 | volume = {62}, |
| 320 | 357 | number = {3}, |
| 321 | 358 | pages = {1139--1168}, |
| 322 | − year = {2007} | |
| 359 | + year = {2007}, | |
| 360 | + doi = {10.1111/j.1540-6261.2007.01232.x} | |
| 323 | 361 | } |
| 324 | 362 | |
| 325 | 363 | @article{tetlock2008, |
@@ -329,12 +367,258 @@ | ||
| 329 | 367 | volume = {63}, |
| 330 | 368 | number = {3}, |
| 331 | 369 | pages = {1437--1467}, |
| 332 | − year = {2008} | |
| 370 | + year = {2008}, | |
| 371 | + doi = {10.1111/j.1540-6261.2008.01362.x} | |
| 333 | 372 | } |
| 334 | 373 | |
| 335 | 374 | @techreport{webb2020, |
| 336 | 375 | author = {Webb, Michael}, |
| 337 | 376 | title = {The Impact of Artificial Intelligence on the Labor Market}, |
| 338 | − institution = {Stanford University Working Paper}, | |
| 339 | − year = {2020} | |
| 377 | + institution = {Stanford University}, | |
| 378 | + type = {Working Paper}, | |
| 379 | + note = {SSRN 3482150}, | |
| 380 | + year = {2020}, | |
| 381 | + doi = {10.2139/ssrn.3482150} | |
| 382 | +} | |
| 383 | + | |
| 384 | +% ---- References added by the editorial-board revision (2026-10-17); all verified on Crossref ---- | |
| 385 | + | |
| 386 | +@article{carhart1997, | |
| 387 | + author = {Carhart, Mark M.}, | |
| 388 | + title = {On Persistence in Mutual Fund Performance}, | |
| 389 | + journal = {Journal of Finance}, | |
| 390 | + volume = {52}, | |
| 391 | + number = {1}, | |
| 392 | + pages = {57--82}, | |
| 393 | + year = {1997}, | |
| 394 | + doi = {10.1111/j.1540-6261.1997.tb03808.x} | |
| 395 | +} | |
| 396 | + | |
| 397 | +@article{kolari2010, | |
| 398 | + author = {Kolari, James W. and Pynn{\"o}nen, Seppo}, | |
| 399 | + title = {Event Study Testing with Cross-Sectional Correlation of Abnormal Returns}, | |
| 400 | + journal = {Review of Financial Studies}, | |
| 401 | + volume = {23}, | |
| 402 | + number = {11}, | |
| 403 | + pages = {3996--4025}, | |
| 404 | + year = {2010}, | |
| 405 | + doi = {10.1093/rfs/hhq072} | |
| 406 | +} | |
| 407 | + | |
| 408 | +@article{brownwarner1985, | |
| 409 | + author = {Brown, Stephen J. and Warner, Jerold B.}, | |
| 410 | + title = {Using Daily Stock Returns: The Case of Event Studies}, | |
| 411 | + journal = {Journal of Financial Economics}, | |
| 412 | + volume = {14}, | |
| 413 | + number = {1}, | |
| 414 | + pages = {3--31}, | |
| 415 | + year = {1985}, | |
| 416 | + doi = {10.1016/0304-405X(85)90042-X} | |
| 417 | +} | |
| 418 | + | |
| 419 | +@article{boehmer1991, | |
| 420 | + author = {Boehmer, Ekkehart and Musumeci, Jim and Poulsen, Annette B.}, | |
| 421 | + title = {Event-Study Methodology under Conditions of Event-Induced Variance}, | |
| 422 | + journal = {Journal of Financial Economics}, | |
| 423 | + volume = {30}, | |
| 424 | + number = {2}, | |
| 425 | + pages = {253--272}, | |
| 426 | + year = {1991}, | |
| 427 | + doi = {10.1016/0304-405X(91)90032-F} | |
| 428 | +} | |
| 429 | + | |
| 430 | +@incollection{kothariwarner2007, | |
| 431 | + author = {Kothari, S. P. and Warner, Jerold B.}, | |
| 432 | + title = {Econometrics of Event Studies}, | |
| 433 | + booktitle = {Handbook of Empirical Corporate Finance}, | |
| 434 | + editor = {Eckbo, B. Espen}, | |
| 435 | + publisher = {Elsevier}, | |
| 436 | + address = {Amsterdam}, | |
| 437 | + volume = {1}, | |
| 438 | + pages = {3--36}, | |
| 439 | + year = {2007}, | |
| 440 | + doi = {10.1016/B978-0-444-53265-7.50015-9} | |
| 441 | +} | |
| 442 | + | |
| 443 | +@article{barberlyon1997, | |
| 444 | + author = {Barber, Brad M. and Lyon, John D.}, | |
| 445 | + title = {Detecting Long-Run Abnormal Stock Returns: The Empirical Power and Specification of Test Statistics}, | |
| 446 | + journal = {Journal of Financial Economics}, | |
| 447 | + volume = {43}, | |
| 448 | + number = {3}, | |
| 449 | + pages = {341--372}, | |
| 450 | + year = {1997}, | |
| 451 | + doi = {10.1016/S0304-405X(96)00890-2} | |
| 452 | +} | |
| 453 | + | |
| 454 | +@article{fama1998, | |
| 455 | + author = {Fama, Eugene F.}, | |
| 456 | + title = {Market Efficiency, Long-Term Returns, and Behavioral Finance}, | |
| 457 | + journal = {Journal of Financial Economics}, | |
| 458 | + volume = {49}, | |
| 459 | + number = {3}, | |
| 460 | + pages = {283--306}, | |
| 461 | + year = {1998}, | |
| 462 | + doi = {10.1016/S0304-405X(98)00026-9} | |
| 463 | +} | |
| 464 | + | |
| 465 | +@article{mitchellstafford2000, | |
| 466 | + author = {Mitchell, Mark L. and Stafford, Erik}, | |
| 467 | + title = {Managerial Decisions and Long-Term Stock Price Performance}, | |
| 468 | + journal = {Journal of Business}, | |
| 469 | + volume = {73}, | |
| 470 | + number = {3}, | |
| 471 | + pages = {287--329}, | |
| 472 | + year = {2000}, | |
| 473 | + doi = {10.1086/209645} | |
| 474 | +} | |
| 475 | + | |
| 476 | +@article{browngoetzmannross1995, | |
| 477 | + author = {Brown, Stephen J. and Goetzmann, William N. and Ross, Stephen A.}, | |
| 478 | + title = {Survival}, | |
| 479 | + journal = {Journal of Finance}, | |
| 480 | + volume = {50}, | |
| 481 | + number = {3}, | |
| 482 | + pages = {853--873}, | |
| 483 | + year = {1995}, | |
| 484 | + doi = {10.1111/j.1540-6261.1995.tb04039.x} | |
| 485 | +} | |
| 486 | + | |
| 487 | +@article{houxuezhang2020, | |
| 488 | + author = {Hou, Kewei and Xue, Chen and Zhang, Lu}, | |
| 489 | + title = {Replicating Anomalies}, | |
| 490 | + journal = {Review of Financial Studies}, | |
| 491 | + volume = {33}, | |
| 492 | + number = {5}, | |
| 493 | + pages = {2019--2133}, | |
| 494 | + year = {2020}, | |
| 495 | + doi = {10.1093/rfs/hhy131} | |
| 496 | +} | |
| 497 | + | |
| 498 | +@article{harveyliuzhu2016, | |
| 499 | + author = {Harvey, Campbell R. and Liu, Yan and Zhu, Heqing}, | |
| 500 | + title = {{\ldots} and the Cross-Section of Expected Returns}, | |
| 501 | + journal = {Review of Financial Studies}, | |
| 502 | + volume = {29}, | |
| 503 | + number = {1}, | |
| 504 | + pages = {5--68}, | |
| 505 | + year = {2016}, | |
| 506 | + doi = {10.1093/rfs/hhv059} | |
| 507 | +} | |
| 508 | + | |
| 509 | +@article{mcleanpontiff2016, | |
| 510 | + author = {McLean, R. David and Pontiff, Jeffrey}, | |
| 511 | + title = {Does Academic Research Destroy Stock Return Predictability?}, | |
| 512 | + journal = {Journal of Finance}, | |
| 513 | + volume = {71}, | |
| 514 | + number = {1}, | |
| 515 | + pages = {5--32}, | |
| 516 | + year = {2016}, | |
| 517 | + doi = {10.1111/jofi.12365} | |
| 518 | +} | |
| 519 | + | |
| 520 | +@article{thompson2011, | |
| 521 | + author = {Thompson, Samuel B.}, | |
| 522 | + title = {Simple Formulas for Standard Errors That Cluster by Both Firm and Time}, | |
| 523 | + journal = {Journal of Financial Economics}, | |
| 524 | + volume = {99}, | |
| 525 | + number = {1}, | |
| 526 | + pages = {1--10}, | |
| 527 | + year = {2011}, | |
| 528 | + doi = {10.1016/j.jfineco.2010.08.016} | |
| 529 | +} | |
| 530 | + | |
| 531 | +@techreport{kekellyxiu2019, | |
| 532 | + author = {Ke, Zheng Tracy and Kelly, Bryan T. and Xiu, Dacheng}, | |
| 533 | + title = {Predicting Returns with Text Data}, | |
| 534 | + institution = {National Bureau of Economic Research}, | |
| 535 | + type = {NBER Working Paper}, | |
| 536 | + number = {26186}, | |
| 537 | + year = {2019}, | |
| 538 | + doi = {10.3386/w26186} | |
| 539 | +} | |
| 540 | + | |
| 541 | +@article{hanleyhoberg2019, | |
| 542 | + author = {Hanley, Kathleen Weiss and Hoberg, Gerard}, | |
| 543 | + title = {Dynamic Interpretation of Emerging Risks in the Financial Sector}, | |
| 544 | + journal = {Review of Financial Studies}, | |
| 545 | + volume = {32}, | |
| 546 | + number = {12}, | |
| 547 | + pages = {4543--4603}, | |
| 548 | + year = {2019}, | |
| 549 | + doi = {10.1093/rfs/hhz023} | |
| 550 | +} | |
| 551 | + | |
| 552 | +@article{lm2020, | |
| 553 | + author = {Loughran, Tim and McDonald, Bill}, | |
| 554 | + title = {Textual Analysis in Finance}, | |
| 555 | + journal = {Annual Review of Financial Economics}, | |
| 556 | + volume = {12}, | |
| 557 | + pages = {357--375}, | |
| 558 | + year = {2020}, | |
| 559 | + doi = {10.1146/annurev-financial-012820-032249} | |
| 560 | +} | |
| 561 | + | |
| 562 | +@article{limai2021, | |
| 563 | + author = {Li, Kai and Mai, Feng and Shen, Rui and Yan, Xinyan}, | |
| 564 | + title = {Measuring Corporate Culture Using Machine Learning}, | |
| 565 | + journal = {Review of Financial Studies}, | |
| 566 | + volume = {34}, | |
| 567 | + number = {7}, | |
| 568 | + pages = {3265--3315}, | |
| 569 | + year = {2021}, | |
| 570 | + doi = {10.1093/rfs/hhaa079} | |
| 571 | +} | |
| 572 | + | |
| 573 | +@article{sautner2023, | |
| 574 | + author = {Sautner, Zacharias and van Lent, Laurence and Vilkov, Grigory and Zhang, Ruishen}, | |
| 575 | + title = {Firm-Level Climate Change Exposure}, | |
| 576 | + journal = {Journal of Finance}, | |
| 577 | + volume = {78}, | |
| 578 | + number = {3}, | |
| 579 | + pages = {1449--1498}, | |
| 580 | + year = {2023}, | |
| 581 | + doi = {10.1111/jofi.13219} | |
| 582 | +} | |
| 583 | + | |
| 584 | +@article{huang2023finbert, | |
| 585 | + author = {Huang, Allen H. and Wang, Hui and Yang, Yi}, | |
| 586 | + title = {{FinBERT}: A Large Language Model for Extracting Information from Financial Text}, | |
| 587 | + journal = {Contemporary Accounting Research}, | |
| 588 | + volume = {40}, | |
| 589 | + number = {2}, | |
| 590 | + pages = {806--841}, | |
| 591 | + year = {2023}, | |
| 592 | + doi = {10.1111/1911-3846.12832} | |
| 593 | +} | |
| 594 | + | |
| 595 | +@article{acemoglu2022aijobs, | |
| 596 | + author = {Acemoglu, Daron and Autor, David and Hazell, Jonathon and Restrepo, Pascual}, | |
| 597 | + title = {Artificial Intelligence and Jobs: Evidence from Online Vacancies}, | |
| 598 | + journal = {Journal of Labor Economics}, | |
| 599 | + volume = {40}, | |
| 600 | + number = {S1}, | |
| 601 | + pages = {S293--S340}, | |
| 602 | + year = {2022}, | |
| 603 | + doi = {10.1086/718327} | |
| 604 | +} | |
| 605 | + | |
| 606 | +@article{lopezliratang2026, | |
| 607 | + author = {Lopez-Lira, Alejandro and Tang, Yuehua}, | |
| 608 | + title = {Can {ChatGPT} Forecast Stock Price Movements? Return Predictability and Large Language Models}, | |
| 609 | + journal = {Journal of Financial Economics}, | |
| 610 | + volume = {184}, | |
| 611 | + pages = {104335}, | |
| 612 | + year = {2026}, | |
| 613 | + doi = {10.1016/j.jfineco.2026.104335} | |
| 614 | +} | |
| 615 | + | |
| 616 | +@techreport{jha2024chatgpt, | |
| 617 | + author = {Jha, Manish and Qian, Jialin and Weber, Michael and Yang, Baozhong}, | |
| 618 | + title = {{ChatGPT} and Corporate Policies}, | |
| 619 | + institution = {National Bureau of Economic Research}, | |
| 620 | + type = {NBER Working Paper}, | |
| 621 | + number = {32161}, | |
| 622 | + year = {2024}, | |
| 623 | + doi = {10.3386/w32161} | |
| 340 | 624 | } |
modified
paper/sections/conclusion.tex
+38 −29
@@ -3,34 +3,43 @@ | ||
| 3 | 3 | \label{sec:conclusion} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −Using a semantic, embedding-based measure of artificial-intelligence language in the SEC filings of | |
| 7 | −S\&P~500 firms, linked to Yahoo Finance returns and standard factor data, we have shown that the | |
| 8 | −pricing of AI disclosure is a \emph{conditional, regime-dependent} phenomenon. For most of the 2010s, | |
| 9 | −how intensively a firm wrote about adopting, building, or being threatened by AI bore only a faint | |
| 10 | −relation to its subsequent returns, and a risk-adjusted long--short strategy earned no reliable | |
| 11 | −alpha. After the launch of ChatGPT in late 2022, the same disclosure became strongly priced: the | |
| 12 | −high-minus-low AI-disclosure return spread jumped from roughly $+2$ to roughly $+15$ percentage points | |
| 13 | −per year, and the long--short Sharpe ratio rose from 0.15 to 1.33. | |
| 6 | +Using a semantic, embedding-based measure of artificial-intelligence language in the SEC current | |
| 7 | +and quarterly reports of the 500 current S\&P~500 constituents, linked to look-ahead-free forward | |
| 8 | +returns and standard factor data over fifteen formation years, we have examined whether and when | |
| 9 | +AI language was priced in the cross-section of returns. For the formation years 2010--2021 the | |
| 10 | +answer is essentially no: the top-minus-bottom quintile spread averaged $+2.5$ percentage points | |
| 11 | +per year, the six-factor alpha of the long--short portfolio was 1\% per year and insignificant, and | |
| 12 | +the annual cross-sectional slopes were of mixed sign. For the formation years 2022--2024 the | |
| 13 | +average spread was $+14.6$ points per year, the monthly long--short earned a Sharpe ratio of 1.32, | |
| 14 | +firms with high pre-launch AI language earned $+10$ points of additional abnormal return in the | |
| 15 | +year after ChatGPT, and sustainability language run through the same pipeline was penalized. | |
| 14 | 16 | |
| 15 | −The break is robust to signal definition, horizon, dimension reduction, and the exclusion of mega-cap | |
| 16 | −winners; it is specific to AI-related language (ESG and climate disclosure, tested identically, were | |
| 17 | −\emph{penalized} in the same window); it is corroborated by a market-model event study in which | |
| 18 | −high-AI firms earned $+10$ points of additional abnormal return in the year after ChatGPT; and it | |
| 19 | −operates as a cross-sectional re-rating of persistent firm- and sector-level exposure rather than a | |
| 20 | −reward for year-to-year wording, fading under firm fixed effects. | |
| 17 | +The contribution we would emphasize, however, is the anatomy of that post-2022 evidence. The | |
| 18 | +average spread rests on three cohorts and on one of them in particular: the 2024 cohort earned | |
| 19 | +$+38$ points, the 2022 cohort $+9$, and the 2023 cohort $-4$, and two pre-launch cohorts | |
| 20 | +exceeded the 2022 value. Half of the pooled post-period spread comes from a few memory and storage | |
| 21 | +manufacturers whose prices multiplied in 2025--2026. The long--short return loads heavily on a | |
| 22 | +technology-sector factor that absorbs most of its post-period alpha, sector controls halve the | |
| 23 | +cross-sectional slope and leave it insignificant, firm fixed effects absorb the effect entirely, | |
| 24 | +and a pre-determined exposure measure earned significant premia in 2015 and 2016 as well as in | |
| 25 | +2022 and 2024. The event-study difference is significant at one year under tests that allow for | |
| 26 | +cross-sectional dependence, but not at sixty days. The results are therefore consistent with a | |
| 27 | +sector-level re-rating of persistent AI exposure during the AI investment cycle, not with a stable | |
| 28 | +premium on AI language nor with a sharp attention shock to firm-specific disclosure. | |
| 21 | 29 | |
| 22 | −Two messages emerge, one economic and one methodological. The economic message is that markets price | |
| 23 | −the \emph{language} of AI---but only once AI commands their attention; value-relevant information can | |
| 24 | −sit unpriced in plain sight for years until a salient catalyst turns the market's gaze toward it, | |
| 25 | −after which the repricing is abrupt rather than gradual. The methodological message is that | |
| 26 | −embedding-based measurement of disclosure content opens a productive avenue for asset pricing, | |
| 27 | −capturing economically meaningful, multi-faceted exposures at scale and revealing pricing dynamics | |
| 28 | −that keyword counts (which cannot read meaning) and firm-differenced designs (which discard the | |
| 29 | −persistent cross-sectional variation that turns out to matter) would both miss. As generative AI | |
| 30 | −continues to reshape the corporate landscape, the semantic footprint it leaves in mandatory disclosure | |
| 31 | −offers a rich, and now demonstrably value-relevant, signal. Several next steps follow naturally: | |
| 32 | −extending the panel beyond the S\&P~500 to the mid- and small-cap firms where attention frictions are | |
| 33 | −larger and the effect may be stronger; incorporating earnings-call transcripts and patent text as | |
| 34 | −complementary, higher-frequency AI-exposure measures; and---perhaps most consequentially for | |
| 35 | −investors---tracking whether the post-2022 premium persists, decays, or reverses as the AI narrative | |
| 36 | −matures and the market's attention becomes fully impounded in prices. | |
| 30 | +Two messages emerge. The economic message is that the pricing of a disclosure characteristic can | |
| 31 | +lie dormant for a decade and then appear, and that when it appears in a short window it is easy to | |
| 32 | +mistake a sector cycle, or a single cohort, for a new factor; the discipline of cohort-by-cohort, | |
| 33 | +leave-one-out, winsorized, sector-adjusted, and dependence-robust inference is what separates the | |
| 34 | +two. The methodological message is that embedding-based measurement of disclosure content is a | |
| 35 | +productive tool, but one whose scores inherit the composition of the corpus on which they are | |
| 36 | +computed; documenting that composition, and re-estimating on homogeneous subsets of it, is part | |
| 37 | +of the method. Several next steps follow. The most important is to score the Form~10-K annual | |
| 38 | +reports, which the database has downloaded but not parsed, and to re-run the analysis on the | |
| 39 | +annual narrative that the original question concerned. The second is to reconstruct a | |
| 40 | +point-in-time index membership. The third is to add post-2024 cohorts as they become available, | |
| 41 | +which is the only way to learn whether the 2024 result was the beginning of a regime or an | |
| 42 | +episode. Beyond these, extending the panel to mid- and small-cap firms, where attention frictions | |
| 43 | +are larger, and incorporating earnings-call transcripts and patent text as complementary measures | |
| 44 | +of AI exposure, would sharpen the distinction between firm-level and sector-level repricing that | |
| 45 | +the present data cannot draw. | |
modified
paper/sections/data.tex
+181 −112
@@ -3,150 +3,219 @@ | ||
| 3 | 3 | \label{sec:data} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{The semantic factor panel} | |
| 6 | +\subsection{The scored filing corpus} | |
| 7 | +\label{subsec:corpus_data} | |
| 8 | +The backbone of the study is the EDGAR Research Database, an infrastructure built by the authors | |
| 9 | +that downloads, parses, and semantically scores SEC filings for the 500 current S\&P~500 | |
| 10 | +constituents. The acquisition layer retrieved every Form~10-K, 10-Q, and 8-K filed by these firms | |
| 11 | +from January 2010 to June 2026 (\num{134124} filings). The parsing layer splits each document into | |
| 12 | +its canonical sections where a section template exists (the quarterly report is parsed into its | |
| 13 | +financial statements, management's discussion and analysis (MD\&A), quantitative disclosures, | |
| 14 | +controls and procedures, legal proceedings, risk factors, and unregistered sales; the current | |
| 15 | +report is kept as a single body) and then into overlapping chunks of about 500 words, the overlap | |
| 16 | +ensuring that a thought spanning a chunk boundary is not lost. The embedding layer maps every | |
| 17 | +chunk to a 384-dimensional vector with the \texttt{all-MiniLM-L6-v2} sentence transformer | |
| 18 | +\citep{reimers2019sbert}, a compact and widely validated model that places semantically similar | |
| 19 | +passages close together. | |
| 20 | + | |
| 21 | +Table~\ref{tab:corpus} describes the corpus that had actually been parsed and scored when the | |
| 22 | +panel used in this paper was built. All \num{103926} Form~8-K filings of the 500 firms were | |
| 23 | +processed, as were \num{3710} of the \num{22542} Form~10-Q filings, belonging to 84 firms, almost all | |
| 24 | +of them with tickers between SMCI and ZTS (the parser was interrupted during an alphabetical pass; | |
| 25 | +Appendix~\ref{app:corpus} lists them); none of | |
| 26 | +the \num{7655} Form~10-K filings had been processed. The first version of this paper described the | |
| 27 | +corpus as the full text of annual reports, which was incorrect. The scored text is therefore | |
| 28 | +dominated by current reports: a typical 8-K contributes two chunks and a typical firm-year contains | |
| 29 | +about thirteen filings and 28 chunks (interquartile range 17--57). Current reports are short and | |
| 30 | +event-driven---earnings releases, material agreements, executive changes, results of shareholder | |
| 31 | +votes---so the AI measure captures the extent to which a firm's \emph{announcements} of the year | |
| 32 | +are couched in AI-related language, rather than the extent of its annual strategic narrative. The | |
| 33 | +10-Q filings that were processed carry roughly thirty times more chunks each and, because they | |
| 34 | +contain MD\&A and risk-factor sections, score about 0.07 higher on the AI-adoption anchor on | |
| 35 | +average than an 8-K. Section~\ref{subsec:corpus} shows what this implies for the firm-year scores and | |
| 36 | +re-estimates the main results on 8-K filings alone. | |
| 37 | + | |
| 38 | +\input{tables/tab_corpus} | |
| 39 | + | |
| 40 | +\subsection{Anchor concepts and semantic scores} | |
| 7 | 41 | \label{subsec:semantic} |
| 8 | −The backbone of our study is the EDGAR Research Database, an infrastructure that downloads, parses, | |
| 9 | −and semantically scores SEC filings for S\&P~500 firms. For each filing the pipeline proceeds in four | |
| 10 | −steps. It (i)~extracts the canonical sections of the 10-K---Risk Factors, Management's Discussion and | |
| 11 | −Analysis (MD\&A), legal proceedings, the financial statements, and so on---so that the location as | |
| 12 | −well as the content of each passage is known; (ii)~splits each section into overlapping text chunks of | |
| 13 | −a few sentences, the overlap ensuring that a thought spanning a chunk boundary is not lost; | |
| 14 | −(iii)~embeds every chunk into a 384-dimensional vector with the \texttt{all-MiniLM-L6-v2} sentence | |
| 15 | −transformer, a compact and widely validated model that maps semantically similar passages to nearby | |
| 16 | −points in the embedding space; and (iv)~scores each chunk by its cosine similarity to a set of | |
| 17 | −\emph{anchor} passages that define eight economic concepts. The anchors are short, deliberately | |
| 18 | −written paragraphs that articulate each concept in natural language. The AI-adoption anchor, for | |
| 19 | −instance, describes a firm ``internally using artificial intelligence, machine learning, generative | |
| 20 | −AI, large language models, automation, predictive analytics \dots\ to improve productivity, | |
| 21 | −operations, efficiency, decision-making.'' Cosine similarity to such an anchor measures how closely a | |
| 22 | −passage's \emph{meaning} matches the concept, on a scale from $-1$ to $1$, regardless of the exact | |
| 23 | −words used---so that a sentence on ``deploying neural networks to forecast demand'' scores highly on | |
| 24 | −AI adoption even though it shares no keyword with the anchor. This is precisely the paraphrase- and | |
| 25 | −context-sensitivity that keyword counts lack. | |
| 26 | − | |
| 27 | −Chunk-level scores are aggregated to the filing level using section weights that emphasize the parts | |
| 28 | −of the document where the concept is most likely to be discussed substantively (e.g.\ MD\&A and Risk | |
| 29 | −Factors), and then to the firm-fiscal-year level. For each concept the database reports the mean, | |
| 30 | −maximum, standard deviation, top-5\% tail, and section-weighted mean (\texttt{wmean}) of chunk | |
| 31 | −similarities, along with first and second differences, percentage changes, and three-year rolling | |
| 32 | −statistics. The eight concepts comprise three AI facets---\emph{AI adoption}, \emph{AI | |
| 33 | −infrastructure}, \emph{AI disruption risk}---and five others used as placebos: \emph{ESG commitment}, | |
| 34 | −\emph{climate risk}, \emph{cybersecurity}, \emph{automation/labor}, and \emph{macro risk}. | |
| 35 | − | |
| 36 | −The resulting panel covers all 500 current S\&P~500 members across fiscal years 2010--2026, a total | |
| 37 | −of 7{,}869 firm-years. We take the section-weighted mean (\texttt{wmean}) as our headline signal | |
| 38 | −because it up-weights the forward-looking, strategy-rich sections; we verify robustness to the | |
| 39 | −simple mean and the top-5\% tail in Section~\ref{sec:robustness}. Our three primary signals are | |
| 40 | −therefore \texttt{ai\_adoption\_wmean} (\textbf{AI\,Adopt}), \texttt{ai\_infrastructure\_wmean} | |
| 42 | +Each of eight economic concepts is defined by three short paragraphs written in the register of a | |
| 43 | +filing; the full texts are reproduced in Appendix~\ref{app:anchors}. The AI-adoption anchor, for | |
| 44 | +instance, describes a firm that ``internally uses artificial intelligence, machine learning, | |
| 45 | +generative AI, large language models, automation, predictive analytics \dots\ to improve | |
| 46 | +productivity, operations, efficiency, decision-making.'' The three paragraphs of a concept are | |
| 47 | +embedded, averaged, and normalized, so that each concept $a$ is represented by a unit vector | |
| 48 | +$\bar{\mathbf a}_a$. The score of chunk $c$ on concept $a$ is the cosine similarity | |
| 49 | +\begin{equation} | |
| 50 | + s_{c,a} \;=\; \frac{\mathbf e_c^{\prime}\,\bar{\mathbf a}_a}{\lVert \mathbf e_c\rVert\,\lVert \bar{\mathbf a}_a\rVert}\in[-1,1], | |
| 51 | + \label{eq:cos} | |
| 52 | +\end{equation} | |
| 53 | +where $\mathbf e_c$ is the embedding of the chunk. Because similarity is computed in the embedding | |
| 54 | +space, a passage on ``deploying neural networks to forecast demand'' scores highly on AI adoption | |
| 55 | +even though it shares no keyword with the anchor; this paraphrase sensitivity is what keyword | |
| 56 | +counts lack. The eight concepts comprise three AI facets---\emph{AI adoption}, \emph{AI | |
| 57 | +infrastructure}, and \emph{AI disruption risk}---and five others used as placebos: \emph{ESG | |
| 58 | +commitment}, \emph{climate risk}, \emph{cybersecurity}, \emph{automation/labour}, and \emph{macro | |
| 59 | +risk}. | |
| 60 | + | |
| 61 | +Chunk scores are aggregated to the filing level in three ways. The simple mean averages all chunks | |
| 62 | +of filing $f$; the top-5\% tail averages the chunks at or above the 95th percentile of the filing's | |
| 63 | +scores; and the section-weighted mean, our headline measure, weights chunks by the section in which | |
| 64 | +they appear, | |
| 65 | +\begin{equation} | |
| 66 | + \bar s^{\,w}_{f,a} \;=\; \frac{\sum_{c\in f} w_{\sigma(c),a}\, s_{c,a}}{\sum_{c\in f} w_{\sigma(c),a}}, | |
| 67 | + \label{eq:wmean} | |
| 68 | +\end{equation} | |
| 69 | +where $\sigma(c)$ is the section of chunk $c$ and the weights $w$ emphasize MD\&A and risk-factor | |
| 70 | +text for the relevant concept (for AI adoption and infrastructure, MD\&A receives weight 2.0 and | |
| 71 | +risk factors 1.2; for AI disruption risk, risk factors 2.0 and MD\&A 1.5; financial statements | |
| 72 | +receive 0.5; the undivided body of an 8-K receives 1.0). Since 8-K filings have a single section, | |
| 73 | +the weighted and simple means coincide for them, and the weights only affect the 10-Q filings of | |
| 74 | +the 84 firms. Filing-level scores are then averaged, without weights, over all scored filings dated | |
| 75 | +in calendar year $Y$: | |
| 76 | +\begin{equation} | |
| 77 | + \text{AI}_{i,Y,a} \;=\; \frac{1}{|\mathcal F_{i,Y}|}\sum_{f\in\mathcal F_{i,Y}} \bar s^{\,w}_{f,a}, | |
| 78 | + \label{eq:annual} | |
| 79 | +\end{equation} | |
| 80 | +where $\mathcal F_{i,Y}$ is the set of scored filings of firm $i$ in year $Y$. An important | |
| 81 | +consequence of equation~\eqref{eq:annual} is that a 10-Q with sixty chunks and an 8-K with two | |
| 82 | +chunks carry the same weight, so that the presence of a scored 10-Q in a firm-year raises the | |
| 83 | +annual score mechanically. The panel covers the 500 current constituents over filing years | |
| 84 | +2010--2026, a total of \num{7869} firm-years. Our three primary signals are | |
| 85 | +\texttt{ai\_adoption\_wmean} (\textbf{AI\,Adopt}), \texttt{ai\_infrastructure\_wmean} | |
| 41 | 86 | (\textbf{AI\,Infra}), and \texttt{ai\_disruption\_risk\_wmean} (\textbf{AI\,Risk}); we also form a |
| 42 | −standardized opportunity composite, $\text{AI\,Compos}=\tfrac12[z(\text{AI\,Adopt})+z(\text{AI\,Infra})]$. | |
| 87 | +standardized opportunity composite, $\text{AI\,Compos}=\tfrac12[z(\text{AI\,Adopt})+z(\text{AI\,Infra})]$, | |
| 88 | +where $z(\cdot)$ denotes the within-year cross-sectional standardization defined below. | |
| 43 | 89 | |
| 44 | 90 | \subsection{Price and factor data} |
| 45 | 91 | \label{subsec:price} |
| 46 | −We download monthly adjusted-close prices for all 500 tickers from Yahoo Finance over 2009--2026 | |
| 47 | −(handling share-class tickers such as BRK.B and BF.B), the SPDR S\&P~500 ETF (SPY) as the market | |
| 48 | −benchmark, and the Fama--French five factors \citep{famafrench2015}, the momentum factor, and the | |
| 49 | −risk-free rate from the Kenneth R.\ French data library. Monthly simple returns are computed from | |
| 50 | −adjusted prices, which incorporate dividends and splits. A market-capitalization proxy is formed as | |
| 51 | −shares outstanding (from Yahoo Finance) times the historical price; we use it for value-weighting and | |
| 52 | −as a size control, acknowledging the shares-held-constant approximation. | |
| 92 | +We download monthly adjusted-close prices for all 500 tickers from Yahoo Finance over June 2009 to | |
| 93 | +June 2026 (handling share-class tickers such as BRK.B and BF.B), the SPDR S\&P~500 ETF (SPY) as the | |
| 94 | +market benchmark, and the Fama--French five factors \citep{famafrench2015}, the momentum factor | |
| 95 | +\citep{carhart1997}, and the risk-free rate from the Kenneth R.\ French data library (available | |
| 96 | +through April 2026). Monthly simple returns are computed from adjusted prices, which incorporate | |
| 97 | +dividends and splits. A market-capitalization proxy is formed as the latest shares outstanding | |
| 98 | +(from Yahoo Finance, June 2026) times the historical price; we use it for value-weighting and as a | |
| 99 | +size control, acknowledging that it holds shares constant. Daily prices from September 2021 to | |
| 100 | +July 2024 are used for the event study. | |
| 101 | + | |
| 102 | +\subsection{Universe and survivorship} | |
| 103 | +\label{subsec:universe} | |
| 104 | +The universe is the S\&P~500 membership as of June 2026, not the historical membership. Firms that | |
| 105 | +left the index before 2026 are absent, and firms that joined it after 2010---83 of the 500 have | |
| 106 | +Yahoo Finance prices beginning after July 2009, among them Uber, Palantir, and Airbnb---enter the | |
| 107 | +panel with their pre-inclusion history. This is a survivorship and look-ahead bias at the level of | |
| 108 | +the universe \citep{browngoetzmannross1995}: it raises the average level of returns (entrants earn | |
| 109 | +10.6 percentage points more per year than seasoned firms in our panel) and could bias the | |
| 110 | +cross-sectional AI--return relation if recent entrants were concentrated in high-AI quintiles. We | |
| 111 | +show in Section~\ref{subsec:entrants} that entrants are spread evenly across the AI quintiles and | |
| 112 | +that the main results hold among firms listed since 2009, but the reader should bear in mind that | |
| 113 | +the panel is not a point-in-time index. | |
| 53 | 114 | |
| 54 | 115 | \subsection{Timing and the construction of tradeable returns} |
| 55 | 116 | \label{subsec:timing} |
| 56 | −The single most important design choice in a disclosure--return study is timing, because a signal | |
| 57 | −that inadvertently peeks at information unavailable in real time can manufacture predictability that | |
| 58 | −no investor could have traded on. A 10-K covering fiscal year $Y$ becomes public only when filed, | |
| 59 | −typically in February or March of year $Y{+}1$. To guarantee that our signal is in the public | |
| 60 | −information set before any return is measured, we follow the Fama--French portfolio convention: | |
| 61 | −signals from fiscal year $Y$ are used to form portfolios at the end of June of $Y{+}1$, and we measure | |
| 62 | −the forward twelve-month return from July of $Y{+}1$ through June of $Y{+}2$. The roughly three-month | |
| 63 | −gap between the typical filing date and June~30 builds in a margin that rules out look-ahead bias even | |
| 64 | −for late filers, while the July-to-June holding window is the standard one in the cross-sectional | |
| 65 | −literature and so keeps our estimates comparable to it. After requiring a valid forward return with | |
| 66 | −adequate monthly coverage, we obtain 6{,}852 firm-years spanning formation years 2010--2024, with | |
| 67 | −return realizations extending through mid-2026. | |
| 117 | +The most important design choice in a disclosure--return study is timing, because a signal that | |
| 118 | +inadvertently uses information unavailable in real time can manufacture predictability that no | |
| 119 | +investor could have traded on. Every filing contributing to the signal of year $Y$ is dated between | |
| 120 | +1~January and 31~December of $Y$, and it is public on its filing date. We follow the | |
| 121 | +portfolio-formation convention of \citet{famafrench2015}: signals of year $Y$ are used to form | |
| 122 | +portfolios at the end of June of $Y{+}1$, and the forward return is the buy-and-hold return from | |
| 123 | +July of $Y{+}1$ through June of $Y{+}2$, | |
| 124 | +\begin{equation} | |
| 125 | + r_{i,Y+1} \;=\; \prod_{m=\text{Jul}\,Y+1}^{\text{Jun}\,Y+2}\bigl(1+r_{i,m}\bigr)-1 , | |
| 126 | + \label{eq:fwd} | |
| 127 | +\end{equation} | |
| 128 | +computed when at least six monthly returns are available in the window. The gap between the last | |
| 129 | +filing of year $Y$ and portfolio formation is therefore at least six months and on average about | |
| 130 | +twelve, which rules out look-ahead bias but also means that the signal is stale relative to the | |
| 131 | +quarterly cadence of current reports; this works against finding predictability. Two consequences | |
| 132 | +of the calendar-year convention deserve notice. The signal of the 2022 cohort includes 8-K filings | |
| 133 | +dated in December 2022, after the ChatGPT launch, so a small part of that signal is itself a | |
| 134 | +reaction to the event; the difference-in-differences design of Section~\ref{sec:robustness}, which | |
| 135 | +fixes exposure at its 2019--2021 level, is immune to this. And the holding period of the 2021 | |
| 136 | +cohort (July 2022--June 2023) straddles the launch; we treat this cohort as pre-launch in the | |
| 137 | +baseline and show in Section~\ref{sec:robustness} that moving it does not change the conclusions. | |
| 138 | +After requiring a valid forward return we obtain \num{6852} firm-years (497 firms) spanning | |
| 139 | +formation years 2010--2024, with return realizations extending to June 2026; the forward return of | |
| 140 | +the 2024 cohort ends with the partial June 2026 observation, prices having been downloaded on | |
| 141 | +17~June 2026. Filing years 2025 and 2026 contribute signals but no forward return. | |
| 68 | 142 | |
| 69 | 143 | \subsection{Controls and standardization} |
| 70 | 144 | \label{subsec:controls} |
| 71 | −For each formation year we compute cross-sectional $z$-scores of every signal, so that all | |
| 72 | −coefficients are expressed per cross-sectional standard deviation and the powerful secular rise in AI | |
| 73 | −language (documented below) is differenced out---in any given year we compare firms to their | |
| 74 | −contemporaneous peers. We control for the three workhorse return determinants: \emph{size} (log | |
| 75 | −market-cap proxy), \emph{momentum} (the firm's own return over the twelve months ending at formation, | |
| 76 | −skipping the last month), and \emph{idiosyncratic volatility} (the annualized standard deviation of | |
| 77 | −monthly returns over the trailing year). In regressions, returns and continuous controls are | |
| 78 | −winsorized at the 1st and 99th percentiles to limit the influence of outliers; in portfolio sorts we | |
| 79 | −use raw returns. Appendix~\ref{app:variables} gives precise definitions. | |
| 145 | +For each formation year we compute cross-sectional $z$-scores of every signal, | |
| 146 | +\begin{equation} | |
| 147 | + z(x_{i,Y}) \;=\; \frac{x_{i,Y}-\bar x_{Y}}{\mathrm{sd}_Y(x)} , | |
| 148 | + \label{eq:z} | |
| 149 | +\end{equation} | |
| 150 | +so that all coefficients are expressed per cross-sectional standard deviation and the secular rise | |
| 151 | +in AI language documented below is removed: in any given year we compare firms to their | |
| 152 | +contemporaneous peers. We control for three return determinants measured at formation: | |
| 153 | +\emph{size} (log market-cap proxy), \emph{momentum} (the firm's own return over the twelve months | |
| 154 | +ending at formation, skipping the last month), and \emph{volatility} (the annualized standard | |
| 155 | +deviation of monthly returns over the trailing year). In regressions, returns and continuous | |
| 156 | +controls are winsorized at the 1st and 99th percentiles; in portfolio sorts we use raw returns and | |
| 157 | +report winsorized spreads as a robustness check. Appendix~\ref{app:variables} gives precise | |
| 158 | +definitions. | |
| 80 | 159 | |
| 81 | 160 | \subsection{Summary statistics} |
| 82 | 161 | \label{subsec:summary} |
| 83 | 162 | Table~\ref{tab:summ} reports summary statistics for the estimation sample. The average forward |
| 84 | −twelve-month return is 18.6\% (reflecting the strong 2011--2026 bull market for U.S.\ large caps), | |
| 85 | −with a wide cross-sectional dispersion (standard deviation 41.5\%). The AI signals are small in | |
| 86 | −level---cosine similarities of disclosure to narrow anchors---but exhibit meaningful cross-sectional | |
| 87 | −variation. Table~\ref{tab:corr} reports correlations. Two features stand out. First, the three AI | |
| 88 | −signals are highly collinear (pairwise $\rho$ between 0.75 and 0.86): firms that write more about | |
| 89 | −adopting AI also write more about AI infrastructure and AI risk. They are best understood as three | |
| 90 | −lenses on a single latent construct---\emph{AI salience}---a point we formalize with | |
| 91 | −principal-components analysis in Section~\ref{sec:robustness}. Second, the raw (unconditional) | |
| 92 | −correlation between each AI signal and the forward return is positive but small ($\approx 0.04$), | |
| 93 | −foreshadowing that the unconditional relation is weak and that the action lies in its time variation. | |
| 163 | +twelve-month return is 18.6\%, reflecting the strong 2011--2026 market for U.S.\ large caps and the | |
| 164 | +survivorship of the universe, with a wide cross-sectional dispersion (standard deviation 41.5\% and | |
| 165 | +a maximum of 969\%). The AI signals are small in level---cosine similarities of short passages to | |
| 166 | +narrow anchors---but exhibit meaningful cross-sectional variation. Table~\ref{tab:corr} reports | |
| 167 | +correlations. The three AI signals are highly collinear (pairwise $\rho$ between 0.74 and 0.86): | |
| 168 | +firms whose filings resemble the adoption anchor also resemble the infrastructure and risk anchors. | |
| 169 | +They are best understood as three lenses on a single latent construct, AI salience, a point we | |
| 170 | +formalize with principal components in Section~\ref{sec:robustness}. The raw correlation between | |
| 171 | +each AI signal and the forward return is positive but small ($\approx 0.04$). | |
| 94 | 172 | |
| 95 | 173 | \input{tables/tab_summary} |
| 96 | 174 | \input{tables/tab_corr} |
| 97 | 175 | |
| 98 | 176 | \subsection{The secular rise of AI language} |
| 99 | 177 | \label{subsec:trend} |
| 100 | −Before turning to returns, Figure~\ref{fig:trend} documents the raw phenomenon that motivates our | |
| 101 | −within-year design. The cross-sectional mean similarity to all three AI concepts trended steadily | |
| 102 | −upward through the 2010s and inflected sharply after 2022; by 2025--2026 AI language saturates | |
| 103 | −S\&P~500 disclosure. This is precisely why our tests rely on within-year cross-sectional ranking: the | |
| 104 | −interesting question is not whether the index as a whole talks more about AI over time (it | |
| 105 | −emphatically does), but whether, \emph{in a given year}, firms that talk about AI more than their | |
| 106 | −peers subsequently earn different returns. Figure~\ref{fig:sectorbox} shows that AI disclosure is | |
| 107 | −also unevenly distributed across sectors, concentrated in Information Technology, Communication | |
| 108 | −Services, and Industrials---a fact that will matter for interpreting the sector channel. | |
| 178 | +Figure~\ref{fig:trend} documents the phenomenon that motivates the within-year design. The | |
| 179 | +cross-sectional mean similarity to all three AI concepts trended upward through the 2010s and | |
| 180 | +inflected sharply after 2022; by 2025--2026 AI language is pervasive in the filings of the index. | |
| 181 | +The interesting question is therefore not whether the index as a whole talks more about AI over | |
| 182 | +time, but whether, in a given year, firms that talk about AI more than their peers subsequently earn | |
| 183 | +different returns. Figure~\ref{fig:sectorbox} shows that AI language is unevenly distributed across | |
| 184 | +sectors, concentrated in Information Technology, Communication Services, and Industrials, a fact | |
| 185 | +that matters for the sector analysis. | |
| 109 | 186 | |
| 110 | 187 | \begin{figure}[htbp]\centering |
| 111 | 188 | \includegraphics[width=0.9\textwidth]{fig4_ai_language_trend.png} |
| 112 | −\caption{\textbf{The secular rise of AI language in S\&P~500 disclosure.} The figure plots the | |
| 113 | −cross-sectional mean of the section-weighted cosine similarity of 10-K text to each of the three AI | |
| 114 | −anchors (adoption, infrastructure, and disruption risk), by fiscal year over 2010--2026. All three | |
| 115 | −measures trend steadily upward through the 2010s and inflect sharply after the November 2022 launch of | |
| 116 | −ChatGPT (dashed vertical line), by which point AI language saturates index disclosure. This secular | |
| 117 | −trend motivates the within-year cross-sectional design used throughout the paper.} | |
| 189 | +\caption{\textbf{The secular rise of AI language in S\&P~500 filings.} The figure plots the | |
| 190 | +cross-sectional mean of the section-weighted cosine similarity of the scored filings (Form~8-K and, | |
| 191 | +for 84 firms, Form~10-Q) to each of the three AI anchors, by filing year over 2010--2026. All three | |
| 192 | +measures trend upward through the 2010s and inflect after the November 2022 launch of ChatGPT | |
| 193 | +(dashed vertical line). The trend motivates the within-year cross-sectional design.} | |
| 118 | 194 | \label{fig:trend} |
| 119 | 195 | \end{figure} |
| 120 | 196 | |
| 121 | 197 | \begin{figure}[htbp]\centering |
| 122 | 198 | \includegraphics[width=0.9\textwidth]{fig12_sector_box.png} |
| 123 | −\caption{\textbf{AI disclosure across GICS sectors.} The figure shows box plots of the firm-level | |
| 124 | −AI-adoption score within each GICS sector (boxes span the interquartile range, the red line marks the | |
| 125 | −sector median, and outliers are suppressed for legibility). AI disclosure is concentrated in | |
| 126 | −technology-intensive sectors---Information Technology, Communication Services, and Industrials---a | |
| 127 | −concentration that motivates the sector-channel analysis and the sector-neutral robustness checks | |
| 128 | −reported later.} | |
| 199 | +\caption{\textbf{AI language across GICS sectors.} Box plots of the firm-year AI-adoption score | |
| 200 | +within each GICS sector (boxes span the interquartile range, the red line marks the sector median, | |
| 201 | +outliers are suppressed). AI language is concentrated in Information Technology, Communication | |
| 202 | +Services, and Industrials, which motivates the sector-neutral and sector-factor analyses of | |
| 203 | +Section~\ref{sec:robustness}.} | |
| 129 | 204 | \label{fig:sectorbox} |
| 130 | 205 | \end{figure} |
| 131 | 206 | |
| 132 | −\subsection{Which firms disclose the most AI? Descriptive evidence} | |
| 207 | +\subsection{Which firms score highest?} | |
| 133 | 208 | \label{subsec:topfirms} |
| 134 | −Table~\ref{tab:topfirms} lists the ten most AI-intensive S\&P~500 firms by average AI-adoption score | |
| 135 | −over the full sample. The list is instructive in two ways. First, it has strong face validity: it | |
| 136 | −features enterprise-technology and software firms (Hewlett Packard Enterprise, Intel, IBM, Tyler | |
| 137 | −Technologies, Autodesk), an algorithm-centric platform (Uber), and data-intensive financials (BNY | |
| 138 | −Mellon, Berkshire Hathaway), exactly the kinds of firms one would expect to write substantively about | |
| 139 | −deploying AI. Second, the list is \emph{not} confined to the technology sector: industrials (Cummins) | |
| 140 | −and energy (EOG Resources) appear, confirming that intensive AI disclosure cuts across the GICS | |
| 141 | −taxonomy and that our continuous, text-based measure captures variation a sector dummy would miss. | |
| 142 | − | |
| 143 | −A further descriptive fact is central to our interpretation: the AI signal is highly | |
| 144 | −\emph{persistent}. The year-over-year cross-sectional rank autocorrelation of the AI composite is | |
| 145 | −0.88, and even at a five-year horizon it remains 0.73. Firms that are AI-intensive disclosers stay | |
| 146 | −AI-intensive; the measure captures a slow-moving structural characteristic of the firm rather than | |
| 147 | −transient wording. This persistence has two implications we exploit later: it explains why firm fixed | |
| 148 | −effects absorb most of the signal (there is little within-firm variation to identify), and it | |
| 149 | −underpins the difference-in-differences design, in which we fix each firm's exposure at its pre-event | |
| 150 | −level precisely because that level is stable. | |
| 209 | +Table~\ref{tab:topfirms} lists the ten firms with the highest average AI-adoption score. The list | |
| 210 | +contains enterprise-technology and software firms (Hewlett Packard Enterprise, Intel, IBM, Tyler | |
| 211 | +Technologies, Autodesk), a platform company (Uber), data-intensive financials (BNY Mellon, | |
| 212 | +Berkshire Hathaway), an industrial (Cummins), and an energy producer (EOG Resources). Four of the | |
| 213 | +ten belong to the group of 84 firms whose 10-Q filings were scored, which mechanically raises their | |
| 214 | +scores; the ranking should therefore be read as descriptive. A further fact is central to the | |
| 215 | +interpretation: the signal is persistent. The average year-over-year cross-sectional rank | |
| 216 | +correlation of the composite is 0.88, and at a five-year lag it is still 0.73. Firms whose filings | |
| 217 | +score high on AI stay high; the measure captures a slow-moving characteristic rather than transient | |
| 218 | +wording. This explains why firm fixed effects absorb most of the signal, and it underpins the | |
| 219 | +difference-in-differences design that fixes each firm's exposure at its pre-launch level. | |
| 151 | 220 | |
| 152 | 221 | \input{tables/tab_topfirms} |
modified
paper/sections/discussion.tex
+106 −82
@@ -3,97 +3,121 @@ | ||
| 3 | 3 | \label{sec:discussion} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −What economic mechanism best fits this constellation of facts? We find an attention- and | |
| 7 | −narrative-driven repricing the most parsimonious explanation, and we read the evidence as follows. | |
| 6 | +What economic mechanism best fits this constellation of facts? The first version of this paper | |
| 7 | +argued for an attention- and narrative-driven repricing of firm-specific disclosure. The evidence | |
| 8 | +assembled in Sections~\ref{sec:results} and~\ref{sec:robustness} supports a more modest reading, | |
| 9 | +which we set out in four steps. | |
| 8 | 10 | |
| 9 | −\paragraph{The information pre-existed; the attention did not.} Firms disclosed their AI engagement | |
| 10 | −for years before it was priced. The semantic content of those disclosures was, in cross-section, only | |
| 11 | −faintly related to returns through 2021. What changed in late 2022 was not the information but its | |
| 12 | −\emph{salience}: a consumer breakthrough (ChatGPT) made AI the dominant market narrative | |
| 13 | −\citep{shiller2017narrative}, drawing investor attention \citep{da2011,barberodean2008} to a body of | |
| 14 | −disclosure that had been hiding in plain sight. The abrupt, near-simultaneous repricing across the | |
| 15 | −cross-section---visible in the event study within months of the launch---is the signature of an | |
| 16 | −attention shock rather than the gradual accrual of a risk premium. | |
| 11 | +\paragraph{The information pre-existed; its relation to returns changed late and unevenly.} | |
| 12 | +Firms' filings carried AI-related language for years before 2022, and in the cross-section that | |
| 13 | +language was only faintly related to subsequent returns: the pre-period spread is $+2.5$ points | |
| 14 | +per year, the FF6 alpha of the long--short is 1\% per year, and the year-by-year slopes are of | |
| 15 | +mixed sign. After 2022 the relation strengthened, but not uniformly: the 2022 cohort earned a | |
| 16 | +moderate spread, the 2023 cohort none, and the 2024 cohort an extraordinary one. A narrative | |
| 17 | +shock that focused investor attention on existing disclosure \citep{shiller2017narrative,da2011} | |
| 18 | +would be expected to produce its largest effect in the cohort held immediately after the shock and | |
| 19 | +within weeks of it, as \citet{eisfeldt2023generative} document for an occupation-based measure. | |
| 20 | +Our effect instead accumulates over a year in the event study, is weak at six months in the | |
| 21 | +annual data, and peaks two and a half years after the launch. This timing fits the sequence of | |
| 22 | +the AI capital-expenditure cycle---the data-centre, memory, and power build-out of 2024--2026 and | |
| 23 | +the earnings revisions it brought to its suppliers---better than it fits a discrete attention | |
| 24 | +shock. | |
| 17 | 25 | |
| 18 | −\paragraph{It is a re-rating of levels, not of changes.} The disappearance of the effect under firm | |
| 19 | −fixed effects, the muted difference-in-differences estimates, and the event-time profile all point the | |
| 20 | −same way: the market repriced the persistent \emph{level} of a firm's AI exposure, not the | |
| 21 | −year-to-year change in its wording. This has a clear practical corollary---firms cannot mechanically | |
| 22 | −earn the premium by adding AI boilerplate to their filings (and our top-5\% and simple-mean | |
| 23 | −robustness suggests the measure is not easily gamed)---and a clear methodological one: studies that | |
| 24 | −difference out firm effects will understate the cross-sectional importance of disclosure content. | |
| 26 | +\paragraph{It is a re-rating of levels, not of changes.} The disappearance of the effect under | |
| 27 | +firm fixed effects, the imprecise difference-in-differences estimates, and the persistence of the | |
| 28 | +signal all point the same way: whatever was priced is the persistent level of a firm's AI language | |
| 29 | +relative to its peers, not the year-to-year change in its wording. This has a practical corollary: | |
| 30 | +firms cannot earn the premium by adding AI sentences to their current reports, and a strategy that | |
| 31 | +traded on changes in AI verbosity would have captured nothing. It also has a methodological | |
| 32 | +corollary: panel designs that difference out firm effects will not detect cross-sectional | |
| 33 | +disclosure premia of this kind. The event-time profile adds a caveat. Firms with persistently | |
| 34 | +AI-intensive filings also earned significant premia in 2015 and 2016, so the level of AI language | |
| 35 | +was not entirely unpriced before the launch; it was priced intermittently. | |
| 25 | 36 | |
| 26 | −\paragraph{It operates substantially, but not entirely, through sectors.} The sector-neutral and | |
| 27 | −sector-fixed-effects results show that much of the AI premium reflects the re-rating of AI-exposed | |
| 28 | −\emph{sectors}---technology, communication services, and the industrial firms supplying the AI | |
| 29 | −build-out---relative to the rest of the index. This is economically sensible: the generative-AI boom | |
| 30 | −was, to first order, a sectoral reallocation of expected cash flows and valuations. Yet a positive | |
| 31 | −within-sector residual remains in the event study, indicating that the firm's own disclosure carried | |
| 32 | −incremental information even among industry peers. | |
| 37 | +\paragraph{It operates mainly through sectors.} The sector-neutral sort, the sector-dummy | |
| 38 | +Fama--MacBeth slopes, the sector-by-year fixed effects, and the technology-sector factor in the | |
| 39 | +spanning regressions all reduce the post-2022 effect by a half to three quarters and leave the | |
| 40 | +remainder statistically indistinguishable from zero. The generative-AI boom was, to first order, a | |
| 41 | +sectoral reallocation of expected cash flows and valuations, and firms whose filings resemble the | |
| 42 | +AI anchors are concentrated in the sectors that benefited. A positive within-sector residual | |
| 43 | +remains in every specification, so we do not conclude that the firm's own language carried no | |
| 44 | +information among industry peers; we conclude that three post-launch cohorts cannot distinguish | |
| 45 | +that residual from zero. | |
| 33 | 46 | |
| 34 | −\paragraph{The thematic asymmetry is telling.} Perhaps the most revealing single fact is the placebo: | |
| 35 | −in the very same post-2022 window, high-AI firms were rewarded while high-ESG and high-climate firms | |
| 36 | −were penalized. Markets did not simply reward verbose or virtuous-sounding disclosure; they rotated | |
| 37 | −toward one theme (AI) and away from another (sustainability). This is difficult to reconcile with a | |
| 38 | −purely mechanical or risk-based account and natural under a narrative-rotation view of investor | |
| 39 | −attention. | |
| 47 | +\paragraph{The thematic asymmetry is informative but not decisive.} In the same post-2022 | |
| 48 | +window, high-AI firms were rewarded while high-ESG and high-climate firms were penalized. Markets | |
| 49 | +did not reward verbose or virtuous-sounding disclosure in general; they rotated toward one theme | |
| 50 | +and away from another, consistent with \citet{pastor2022dissecting}. But cybersecurity and | |
| 51 | +automation language were rewarded as well, and all three travel with technology exposure. The | |
| 52 | +placebo rules out a pipeline artefact and a generic disclosure effect; it does not separate AI | |
| 53 | +from the technology theme of which it is the most visible part. | |
| 40 | 54 | |
| 41 | −\paragraph{Relation to the AI-asset-pricing literature.} Our findings complement | |
| 42 | −\citet{eisfeldt2023generative}, who show that an occupation-task measure of generative-AI exposure was | |
| 43 | −priced around ChatGPT. We reach a convergent conclusion from an entirely different measurement---firms' | |
| 44 | −own disclosure language---and extend it along the time dimension, showing that the same exposure was | |
| 45 | −\emph{un}priced for a decade beforehand. The agreement of two independent measures on the timing and | |
| 46 | −sign of the effect strengthens confidence that a real AI repricing occurred. | |
| 55 | +\paragraph{Relation to the AI-asset-pricing literature.} Our findings are complementary to | |
| 56 | +\citet{eisfeldt2023generative}. They show that an occupation-task measure of generative-AI exposure | |
| 57 | +was priced sharply in the weeks around ChatGPT; we show that a disclosure-language measure, which | |
| 58 | +is highly persistent and available for fifteen years, was intermittently priced before the launch | |
| 59 | +and strongly priced in one post-launch cohort, mostly through sectors. The two measures agree on | |
| 60 | +the sign of the post-launch effect and disagree on its timing, which suggests that they capture | |
| 61 | +different objects: short-run repricing of labour-cost exposure in their case, and the longer | |
| 62 | +sectoral cycle of AI investment in ours. Relative to the disclosure-pricing literature | |
| 63 | +\citep{cohen2020lazy,hobergphillips2016}, our result is a reminder that the pricing of a disclosure | |
| 64 | +characteristic can be dormant for a decade and then appear, and that a short post-event window can | |
| 65 | +make a dormant characteristic look like a factor. | |
| 47 | 66 | |
| 48 | 67 | \subsection{Implications} |
| 49 | −Our findings carry distinct implications for three audiences. \emph{For investors and quantitative | |
| 50 | −strategists}, the results are a caution as much as an opportunity. The AI-disclosure signal delivered | |
| 51 | −a striking post-2022 Sharpe ratio, but the same signal was nearly inert for the preceding decade, and | |
| 52 | −the effect is absorbed by firm fixed effects---so a strategy that traded on year-to-year changes in AI | |
| 53 | −verbosity would have captured little. The tradeable content lies in the persistent cross-sectional | |
| 54 | −\emph{level} of AI exposure, and even that is partly a sector bet whose durability is unproven. The | |
| 55 | −honest reading is that disclosure-based AI signals are best viewed as a lens on a regime-dependent | |
| 56 | −theme rather than as a stable alpha source. \emph{For corporate managers and disclosure policy}, the | |
| 57 | −asymmetry between AI (rewarded) and ESG/climate (penalized) after 2022 illustrates how powerfully the | |
| 58 | −prevailing market narrative conditions the valuation consequences of what firms choose to emphasize. | |
| 59 | −Because the premium attaches to persistent, hard-to-fake exposure rather than to boilerplate, the | |
| 60 | −result does not invite cheap disclosure manipulation; but it does suggest that the market reads | |
| 61 | −filings for genuine strategic content and reprices it when attention turns. \emph{For researchers}, | |
| 62 | −the study demonstrates that embedding-based semantic measurement uncovers pricing dynamics invisible | |
| 63 | −to both keyword counts (which cannot distinguish meaning) and firm-differenced panels (which discard | |
| 64 | −the persistent cross-sectional variation that turns out to matter). | |
| 68 | +The results carry implications for three audiences. For investors and quantitative strategists, | |
| 69 | +they are a caution rather than an opportunity. The AI-language signal delivered a high post-2022 | |
| 70 | +Sharpe ratio, but the same signal was inert for the preceding decade, the post-period return is | |
| 71 | +largely a technology-sector return, half of the headline spread comes from a few extreme winners, | |
| 72 | +and the effect is absorbed by firm fixed effects. The tradeable content, if any, lies in the | |
| 73 | +persistent cross-sectional level of AI exposure, and even that is a sector bet whose durability is | |
| 74 | +unproven; disclosure-based AI signals are best viewed as a lens on a regime-dependent theme rather | |
| 75 | +than a stable source of alpha \citep{mcleanpontiff2016}. For corporate managers and disclosure | |
| 76 | +policy, the asymmetry between AI and sustainability language after 2022 illustrates how the | |
| 77 | +prevailing market narrative conditions the valuation consequences of what firms emphasize, while | |
| 78 | +the absence of any within-firm effect means that emphasis itself is not rewarded. For researchers, | |
| 79 | +the study shows both the promise and the fragility of embedding-based disclosure measurement: the | |
| 80 | +anchor-similarity design captures a multi-faceted theme at scale, but its scores inherit the | |
| 81 | +composition of the scored corpus, and the first version of this paper misdescribed that corpus and | |
| 82 | +overstated the uniformity of the post-2022 evidence. | |
| 65 | 83 | |
| 66 | 84 | \subsection{Summary of the evidence across designs} |
| 67 | −It is worth stepping back to see how the designs corroborate one another, since each has different | |
| 68 | −weaknesses. The portfolio sorts establish the raw magnitude and its post-2022 timing but are | |
| 69 | −model-free and could in principle reflect risk; the factor-model spanning regressions show the | |
| 70 | −unconditional spread is not explained by standard factors yet is statistically weak over the full | |
| 71 | −sample; the sub-period and interaction tests localize the effect to the post-ChatGPT regime; the | |
| 72 | −placebo rules out a mechanical or generic-disclosure explanation by showing the opposite sign for ESG | |
| 73 | −and climate; the event study, using daily abnormal returns purged of beta, provides cleanly-timed, | |
| 74 | −cross-sectional confirmation within months of the catalyst; and the fixed-effects and | |
| 75 | −difference-in-differences estimates pin down that the priced object is persistent firm- and | |
| 76 | −sector-level exposure, not incremental wording. No single design is decisive, but their | |
| 77 | −convergence---on the same sign, the same timing, and a consistent economic story---is what gives us | |
| 78 | −confidence in the conclusion. | |
| 85 | +The portfolio sorts establish a small unconditional spread and a large post-2022 average that | |
| 86 | +rests on one cohort; the spanning regressions show that the unconditional spread is not explained | |
| 87 | +by standard factors but is explained by a technology-sector factor; the sub-period and interaction | |
| 88 | +tests localize the change to the post-launch regime without establishing that it holds in each | |
| 89 | +cohort; the placebo rules out a mechanical or generic-disclosure explanation but not a technology | |
| 90 | +theme; the event study shows a High-minus-Low abnormal return that is significant at one year under | |
| 91 | +dependence-robust tests but not at sixty days; and the fixed-effects and difference-in-differences | |
| 92 | +estimates show that the priced object is persistent firm- and sector-level exposure, with | |
| 93 | +significant premia in some pre-launch years as well. No single design is decisive, and their | |
| 94 | +convergence is on a narrower conclusion than the first version drew: a sector-level re-rating of | |
| 95 | +persistent AI exposure, concentrated in the 2024 cohort. | |
| 79 | 96 | |
| 80 | 97 | \subsection{Limitations} |
| 81 | 98 | \label{subsec:limits} |
| 82 | −Several caveats temper our conclusions. \emph{First}, the post-2022 window contains only three | |
| 83 | −formation cohorts, and the size-controlled premium is concentrated in the most recent (2024) cohort, | |
| 84 | −which captures the 2024--2025 AI-infrastructure capital-expenditure boom. The regime result is | |
| 85 | −economically large and consistent across designs, but its post-period rests on a short sample and | |
| 86 | −could in principle reflect a single extraordinary episode rather than a durable new regime; only | |
| 87 | −future data can settle this. \emph{Second}, our universe is current S\&P~500 membership, which | |
| 88 | −introduces survivorship and look-ahead-at-the-index-level bias. This biases the level of returns | |
| 89 | −upward but is less likely to drive the \emph{cross-sectional} AI--return relation that is our focus. | |
| 90 | −\emph{Third}, the market-capitalization proxy holds shares outstanding at their latest value, | |
| 91 | −approximating historical size with error. \emph{Fourth}, the semantic anchors, though carefully | |
| 92 | −written, embed the authors' definitional choices; different anchor wording would yield somewhat | |
| 93 | −different scores, although the robustness to mean/tail aggregations and to PCA mitigates this concern. | |
| 94 | −\emph{Fifth}, disclosure intensity is correlated with sector, and while our within-year, size-, | |
| 95 | −momentum-, and volatility-controlled tests and the sector-FE event study address this, we cannot fully | |
| 96 | −separate ``AI exposure'' from ``technology sector'' as the priced characteristic. \emph{Finally}, our | |
| 97 | −designs establish a robust association and an event-study-based timing argument, but not strict | |
| 98 | −causality; the attention-repricing interpretation is the most consistent with the evidence rather than | |
| 99 | −the only logically possible one. | |
| 99 | +Several caveats temper the conclusions, and we list them in the order of their importance. | |
| 100 | +\emph{First}, the post-2022 period contains three formation cohorts, the post-period average is | |
| 101 | +driven by one of them, and that cohort's holding period ends with a partial June 2026 observation. | |
| 102 | +A regime claim built on this sample is a hypothesis to be tested on future cohorts, not an | |
| 103 | +established fact, and the multiplicity of signals, horizons, and sub-periods examined argues for | |
| 104 | +the higher evidential thresholds of \citet{harveyliuzhu2016}. \emph{Second}, the scored corpus | |
| 105 | +consists of 8-K current reports and a partial, alphabetically selected set of 10-Q filings, with no | |
| 106 | +10-K; the measure is one of announcement language, the annual score is sensitive to which filings | |
| 107 | +were scored, and the results are shown to hold on 8-K filings alone but not on annual-report text, | |
| 108 | +which was the object of the original research question. \emph{Third}, the universe is current | |
| 109 | +S\&P~500 membership, which biases the level of returns upward and omits firms that left the index; | |
| 110 | +restrictions on listing history leave the results intact, but the point-in-time universe has not | |
| 111 | +been reconstructed. \emph{Fourth}, AI language is correlated with sector, and every specification | |
| 112 | +that controls for sector reduces the post-2022 effect by at least half and leaves it insignificant; | |
| 113 | +we cannot separate ``AI exposure'' from ``technology sector'' as the priced characteristic with | |
| 114 | +these data. \emph{Fifth}, the market-capitalization proxy holds shares outstanding at their June | |
| 115 | +2026 value, and the French factors end in April 2026, so the last two months of the 2024 cohort are | |
| 116 | +absent from the factor regressions. \emph{Sixth}, the semantic anchors embed the authors' | |
| 117 | +definitional choices; different wording would yield somewhat different scores, and while the | |
| 118 | +robustness to aggregation and to principal components mitigates this, no alternative anchor set | |
| 119 | +has been tried. \emph{Seventh}, the event-study horizons of one year and eighteen months are long | |
| 120 | +for a market-model design, and the parallel-trends assumption of the difference-in-differences | |
| 121 | +design is not met. \emph{Finally}, the designs establish an association and its timing, not | |
| 122 | +causality; the sector-cycle interpretation is the most consistent with the evidence rather than the | |
| 123 | +only one logically possible. | |
modified
paper/sections/introduction.tex
+94 −106
@@ -4,118 +4,106 @@ | ||
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | 6 | The arrival of generative artificial intelligence has been the defining corporate-narrative shift |
| 7 | −of the 2020s. In the span of barely three years following the public launch of ChatGPT in late | |
| 8 | −2022, the market capitalization of AI-linked firms swelled by trillions of dollars, ``AI'' vaulted | |
| 9 | −past every other theme in frequency on earnings calls, and the language of corporate disclosure | |
| 10 | −filled with references to large language models, generative tools, intelligent automation, and the | |
| 11 | −compute infrastructure that powers them. A technology that had been the preserve of research labs | |
| 12 | −and back-office analytics suddenly became the organizing story of public equity markets. This paper | |
| 13 | −asks a question that is simple to state but surprisingly demanding to answer well: did the | |
| 14 | −\emph{language} of AI in firms' mandatory disclosures carry information about their subsequent stock | |
| 15 | −returns---and if so, when did that information begin to be priced, and through what economic channel? | |
| 7 | +of the 2020s. In the three years following the public launch of ChatGPT in late 2022, the market | |
| 8 | +capitalization of AI-linked firms rose by trillions of dollars, ``AI'' became the most frequently | |
| 9 | +invoked theme on earnings calls, and the language of corporate disclosure filled with references to | |
| 10 | +large language models, generative tools, intelligent automation, and the compute infrastructure | |
| 11 | +that powers them. This paper asks a question that is simple to state but demanding to answer | |
| 12 | +well: did the \emph{language} of AI in firms' mandatory disclosures carry information about their | |
| 13 | +subsequent stock returns, and if so, when did that information begin to be priced and through | |
| 14 | +what economic channel? | |
| 16 | 15 | |
| 17 | −Answering the question convincingly requires three ingredients that have only recently become jointly | |
| 16 | +Answering the question requires three ingredients that have only recently become jointly | |
| 18 | 17 | feasible. The first is a large, machine-readable corpus of corporate disclosure. The second is a |
| 19 | −measurement technology that captures the \emph{meaning} of text rather than the mere frequency of | |
| 18 | +measurement technology that captures the \emph{meaning} of text rather than the frequency of | |
| 20 | 19 | keywords---one that recognizes that a firm describing how it ``deploys machine-learning models to |
| 21 | −optimize its supply chain'' is talking about AI even when the three-letter acronym never appears. The | |
| 22 | −third is a clean, look-ahead-free mapping from disclosure to tradeable returns. We bring all three to | |
| 23 | −bear. Our laboratory is the universe of S\&P~500 constituents over fiscal years 2010--2026. Our raw | |
| 24 | −material is the full text of their annual reports (Form~10-K), parsed section by section. Our | |
| 25 | −measurement engine is the EDGAR Research Database, which embeds every text chunk with the | |
| 26 | −\texttt{all-MiniLM-L6-v2} sentence transformer and scores it by cosine similarity to a set of | |
| 27 | −carefully written ``anchor'' passages that define eight economic concepts. Three of these anchors | |
| 28 | −isolate distinct facets of AI engagement, each corresponding to a different way the technology bears | |
| 29 | −on firm value: \emph{internal AI adoption} (using AI to run the business more productively), | |
| 30 | −\emph{AI infrastructure exposure} (capital and revenue tied to the compute build-out), and \emph{AI | |
| 31 | −product-disruption risk} (the danger that AI commoditizes or displaces the firm's own offerings). The | |
| 32 | −result is a continuous, comparable, firm-year measure of how intensively---and in what sense---each | |
| 33 | −firm engages with AI in its own words, available for the entire index and spanning a decade and a | |
| 34 | −half. | |
| 20 | +optimize its supply chain'' is talking about AI even when the acronym never appears. The third is | |
| 21 | +a look-ahead-free mapping from disclosure to tradeable returns. Our laboratory is the set of 500 | |
| 22 | +current S\&P~500 constituents over 2010--2026. Our raw material is the text of their SEC filings as | |
| 23 | +parsed by the EDGAR Research Database, which embeds every text chunk with the | |
| 24 | +\texttt{all-MiniLM-L6-v2} sentence transformer \citep{reimers2019sbert} and scores it by cosine | |
| 25 | +similarity to a set of written ``anchor'' passages that define eight economic concepts. Three of | |
| 26 | +these anchors isolate distinct facets of AI engagement: \emph{internal AI adoption} (using AI to run | |
| 27 | +the business), \emph{AI infrastructure exposure} (capital and revenue tied to the compute | |
| 28 | +build-out), and \emph{AI product-disruption risk} (the danger that AI commoditizes the firm's own | |
| 29 | +offerings). The result is a continuous, comparable, firm-year measure of how intensively, and in | |
| 30 | +what sense, each firm engages with AI in its own words. | |
| 35 | 31 | |
| 36 | −We pair these semantic scores with monthly adjusted prices for all 500 tickers from Yahoo Finance | |
| 37 | −and with the Fama--French five factors plus momentum. To avoid look-ahead bias we adopt the standard | |
| 38 | −portfolio-formation convention. Because a 10-K covering fiscal year $Y$ is filed and public by early | |
| 39 | −in year $Y{+}1$, we form signals at the end of June of $Y{+}1$ and measure the forward twelve-month | |
| 40 | −return from July of $Y{+}1$ to June of $Y{+}2$. The roughly three-month cushion between the typical | |
| 41 | −filing date and portfolio formation guarantees that the signal is in the public information set | |
| 42 | −before the holding period begins, even for late filers. This yields 6{,}852 firm-years with a | |
| 43 | −strictly tradeable forward return, spanning formation years 2010 through 2024. | |
| 32 | +Two features of the corpus must be stated at the outset, because they were misdescribed in the | |
| 33 | +first version of this paper and they shape the interpretation of everything that follows. First, | |
| 34 | +the filings that had been parsed and scored when the panel was built are the Form~8-K current | |
| 35 | +reports of all 500 firms (\num{103926} filings) and the Form~10-Q quarterly reports of 84 firms | |
| 36 | +(\num{3710} filings); no Form~10-K annual report had been processed. The AI measure is therefore a | |
| 37 | +measure of the language of current reports---material agreements, earnings releases, executive | |
| 38 | +changes, shareholder votes---supplemented, for a sixth of the firm-years, by quarterly reports. | |
| 39 | +Second, the ``year'' of the panel is the calendar year in which the filings were dated, not the | |
| 40 | +fiscal year they cover. We treat both features as measurement facts to be documented and tested | |
| 41 | +rather than as reasons to discard the data: Section~\ref{sec:data} describes the corpus in detail, | |
| 42 | +and Section~\ref{sec:robustness} shows that the main results are unchanged when the signal is | |
| 43 | +rebuilt from 8-K filings alone. | |
| 44 | 44 | |
| 45 | −Our headline finding is that the pricing of AI language is \emph{not} a stable factor premium but a | |
| 46 | −regime-dependent re-rating that switched on with the generative-AI boom. For most of the 2010s, | |
| 47 | −sorting S\&P~500 firms on the intensity of their AI disclosure produced only a faint return pattern: | |
| 48 | −the equal-weighted spread between the highest and lowest quintiles averaged about $+2.4$ percentage | |
| 49 | −points per year---economically modest and statistically fragile---and a risk-adjusted long--short | |
| 50 | −portfolio earned an alpha that was both small and statistically insignificant. The information was | |
| 51 | −there in the filings, but the market was not paying for it. After the launch of ChatGPT in November | |
| 52 | −2022, the very same sort produced a spread of $+14.6$ percentage points per year, a more than sixfold | |
| 53 | −jump. This is not a subtle tilt buried in a long-run average; it is a sharp, datable change in how | |
| 54 | −the cross-section prices a fixed characteristic. The re-rating is visible from three independent | |
| 55 | −angles: it appears in every post-2022 formation cohort taken on its own, in a cumulative long--short | |
| 56 | −wealth curve that drifts sideways for a decade and then inflects sharply upward at the end of 2022, | |
| 57 | −and in a year-by-year Fama--MacBeth slope that hovers near zero through 2021 before turning large and | |
| 58 | −positive. | |
| 45 | +We pair the semantic scores with monthly adjusted prices for the 500 tickers from Yahoo Finance and | |
| 46 | +with the Fama--French five factors plus momentum. To avoid look-ahead bias we follow the | |
| 47 | +portfolio-formation convention of the cross-sectional literature: the signal of filing year $Y$ is | |
| 48 | +used to form portfolios at the end of June of $Y{+}1$ and we measure the forward twelve-month | |
| 49 | +return from July of $Y{+}1$ to June of $Y{+}2$. Because every filing of year $Y$ is dated on or | |
| 50 | +before 31~December of $Y$, the signal is in the public information set at least six months before | |
| 51 | +the holding period begins. This yields \num{6852} firm-years with a tradeable forward return, | |
| 52 | +spanning formation years 2010 through 2024. | |
| 59 | 53 | |
| 60 | −A natural worry is that this pattern simply reflects the well-known rally of a handful of technology | |
| 61 | −mega-caps---that we have rediscovered the Magnificent~7 dressed in textual clothing. We confront this | |
| 62 | −concern head-on and reject it. The post-2022 spread is $+14.1$ percentage points \tstat{1.9} when the | |
| 63 | −``Magnificent~7'' are excluded and $+14.5$ points when the ten largest firms by market capitalization | |
| 64 | −are dropped: removing the very names that dominate the headline rally barely moves the estimate, so | |
| 65 | −the effect is broad-based across the index rather than an artifact of Nvidia, Microsoft, or their | |
| 66 | −peers. It is equally robust to how the signal is built and measured---to using the simple mean, the | |
| 67 | −section-weighted mean, or the top-5\% tail of similarity scores; to six-, twelve-, and twenty-four-month | |
| 68 | −holding horizons; and to replacing the three correlated AI signals with their first principal | |
| 69 | −component, a single index that alone explains 87\% of their common variation. | |
| 54 | +Our first finding is that AI language is at best weakly priced unconditionally. Sorting firms into | |
| 55 | +quintiles of AI-disclosure intensity each year produces an equal-weighted top-minus-bottom spread | |
| 56 | +of about 5 percentage points per year with a $t$-statistic below two, and the six-factor alpha of | |
| 57 | +the corresponding long--short portfolio is 1.9\% per year and insignificant. Our second finding is | |
| 58 | +that the relation strengthens after the launch of ChatGPT. Over the three post-launch formation | |
| 59 | +cohorts (2022--2024) the composite spread averages $+14.6$ points per year against $+2.5$ over the | |
| 60 | +twelve earlier cohorts; the monthly long--short portfolio earns 7.5\% per year with a Sharpe ratio | |
| 61 | +of 1.32, against 1.1\% and 0.22 before; a market-model event study finds that firms in the top | |
| 62 | +tercile of pre-launch AI disclosure earned cumulative abnormal returns $+10.1$ points higher than | |
| 63 | +the bottom tercile over the year after 30~November 2022; and a placebo that runs five non-AI | |
| 64 | +semantic factors through the same pipeline finds negative post-2022 spreads for ESG and climate | |
| 65 | +language. The post-2022 spread survives the exclusion of the ``Magnificent~7'' and of the ten | |
| 66 | +largest firms, alternative signal definitions, and the restriction to firms listed since 2009. | |
| 70 | 67 | |
| 71 | −Establishing that the spread is large and well-timed is only half the task; we then deploy three | |
| 72 | −complementary tests to pin down what the result is---and, equally important, what it is not. The | |
| 73 | −first is a \emph{placebo} exercise that re-runs the entire research design on the five non-AI semantic | |
| 74 | −factors in the database (ESG, climate, cybersecurity, automation/labor, and macro risk). The logic is | |
| 75 | −simple: if the post-2022 jump merely reflected a generic ``more disclosure earns more'' phenomenon, or | |
| 76 | −a mechanical artifact of our embedding-and-sorting pipeline, every factor should display the same break. | |
| 77 | −They do not. The post-2022 spread is large and positive for the AI factors, essentially zero for | |
| 78 | −macro-risk language, and---most tellingly---\emph{negative} for ESG and climate disclosure, meaning | |
| 79 | −high-ESG firms \emph{under}performed after 2022. The post-ChatGPT re-rating is specific to AI-related | |
| 80 | −content, not a property of disclosure intensity in general. The second test is a market-model | |
| 81 | −\emph{event study} around the 30~November 2022 ChatGPT launch. Firms in the top tercile of pre-event | |
| 82 | −AI disclosure---measured from their FY2021 10-K, the last report filed before anyone could have | |
| 83 | −anticipated the event---earned cumulative abnormal returns $+10.1$ percentage points higher than the | |
| 84 | −bottom tercile over the following year \tstat{1.97} and $+14.6$ points higher over eighteen months. | |
| 85 | −Because abnormal returns are purged of each firm's market-beta exposure, this is a clean | |
| 86 | −cross-sectional response to an unanticipated narrative shock rather than a reflection of high-AI firms | |
| 87 | −simply being higher-beta in a recovering market. The third test uses two-way fixed effects and | |
| 88 | −difference-in-differences to localize the mechanism within the cross-section. The premium is fully | |
| 89 | −absorbed by firm fixed effects and roughly halved by sector fixed effects, which tells us that the | |
| 90 | −durable, priced signal is the persistent \emph{level} of a firm's (and its sector's) AI exposure | |
| 91 | −relative to peers, not the year-to-year wiggle in its wording. | |
| 68 | +Our third finding, which the first version of this paper did not report, is that the post-2022 | |
| 69 | +evidence is considerably thinner than these point estimates suggest, and we regard documenting its | |
| 70 | +fragility as the paper's main contribution. The post-period consists of three annual cohorts. The | |
| 71 | +2022 cohort earned a spread of $+9.3$ points, the 2023 cohort $-4.0$, and the 2024 cohort $+38.4$; | |
| 72 | +two pre-launch cohorts (2012 and 2015) earned more than the 2022 cohort. Dropping the 2024 cohort | |
| 73 | +returns the post-period spread to $+2.6$ points, indistinguishable from the pre-period, and | |
| 74 | +winsorizing returns at the first and ninety-ninth percentiles halves the pooled post-period spread | |
| 75 | +from $+14.7$ to $+7.2$ points, because the 2024 cohort contains several memory and storage | |
| 76 | +manufacturers with forward returns above 600\%. The long--short return has a loading of 0.47 on an | |
| 77 | +Information Technology sector factor built from the panel itself, and once that factor is added | |
| 78 | +to the six-factor model the post-period alpha falls from 5.2\% to 1.9\% per year and loses | |
| 79 | +significance; sector-by-year fixed effects halve the post-period cross-sectional slope and leave it | |
| 80 | +insignificant. In a difference-in-differences design that fixes each firm's AI exposure at its | |
| 81 | +2019--2021 level, the year-by-year premium is significantly positive not only in 2022 and 2024 but | |
| 82 | +also in 2015 and 2016, so the pre-trend is not flat. Finally, the firm-level inference of the | |
| 83 | +event study overstates precision because every firm shares the same event date; a portfolio test | |
| 84 | +that allows for cross-sectional dependence gives $t=2.3$ at the one-year horizon but only $t=1.4$ | |
| 85 | +at sixty trading days. | |
| 92 | 86 | |
| 93 | −Taken together, the four pieces of evidence---the datable break, the AI-specific placebo, the | |
| 94 | −event-study timing, and the fixed-effects anatomy---converge on a single interpretation: an | |
| 95 | −attention- and narrative-driven repricing. The textual evidence of firms' AI engagement accumulated | |
| 96 | −quietly in their filings for a decade and was barely priced. A salient catalyst---the consumer | |
| 97 | −breakthrough of generative AI---then drew investor attention to that pre-existing information, and | |
| 98 | −capital flowed toward the firms and sectors whose disclosures had already revealed the greatest AI | |
| 99 | −exposure. What looks like new information was in large part old information newly attended to. This is | |
| 100 | −the asset-pricing signature of limited attention and narrative economics, observed here not through an | |
| 101 | −indirect sentiment proxy but directly in the semantic content of mandatory disclosure. | |
| 87 | +Taken together, the evidence is consistent with a sector-level re-rating of persistent AI exposure | |
| 88 | +after 2022, concentrated in the 2024 cohort and in the technology sector, rather than with a stable | |
| 89 | +premium on AI language or with a sharp, datable repricing of firm-specific disclosure. The | |
| 90 | +textual content of filings existed for a decade and was barely priced; after 2022 it became | |
| 91 | +correlated with returns, but largely through the sectors that the AI build-out favoured. Whether | |
| 92 | +this reflects a durable change in the pricing of AI exposure or a single extraordinary episode | |
| 93 | +cannot be settled with three post-launch cohorts, and we say so. | |
| 102 | 94 | |
| 103 | −\paragraph{Contribution.} We make four contributions. \emph{First}, methodologically, we | |
| 104 | −demonstrate the value of embedding-based semantic measurement of disclosure for asset pricing: a | |
| 105 | −cosine-similarity-to-anchor design captures economically meaningful, multi-faceted exposure | |
| 106 | −(adoption vs.\ infrastructure vs.\ risk) that keyword counts cannot, and it does so at scale across | |
| 107 | −the entire S\&P~500 and a decade and a half of filings. \emph{Second}, substantively, we provide | |
| 108 | −text-based, look-ahead-free evidence that the cross-sectional pricing of AI exposure is a post-2022 | |
| 109 | −regime phenomenon rather than a long-standing premium. \emph{Third}, we discipline the finding with | |
| 110 | −a placebo across non-AI factors and an event study, distinguishing a genuine AI-specific repricing | |
| 111 | −from a mechanical or market-wide artifact. \emph{Fourth}, we document the \emph{anatomy} of the | |
| 112 | −effect---its concentration in smaller firms, its operation substantially through a sector channel, | |
| 113 | −and its disappearance under firm fixed effects---which sharpens the economic interpretation and | |
| 114 | −warns against naive trading strategies. | |
| 115 | − | |
| 116 | −The remainder of the paper is organized as follows. Section~\ref{sec:literature} situates the study | |
| 117 | −in five literatures and states our hypotheses. Section~\ref{sec:data} describes the data and the | |
| 118 | −construction of the semantic measures. Section~\ref{sec:methodology} lays out the empirical | |
| 119 | −methodology. Section~\ref{sec:results} presents the main results, and Section~\ref{sec:robustness} | |
| 120 | −the robustness and identification tests. Section~\ref{sec:discussion} discusses mechanisms and | |
| 121 | −limitations, and Section~\ref{sec:conclusion} concludes. | |
| 95 | +\paragraph{Contribution.} The paper makes three contributions. First, methodologically, it | |
| 96 | +demonstrates an embedding-based, anchor-similarity design for measuring a multi-faceted economic | |
| 97 | +theme in disclosure at the scale of an index over fifteen years, and documents its measurement | |
| 98 | +properties, including the sensitivity of annual scores to the composition of the scored corpus. | |
| 99 | +Second, substantively, it provides look-ahead-free evidence on the time profile of the pricing of | |
| 100 | +AI language, showing that the cross-sectional relation was negligible before 2022 and large but | |
| 101 | +concentrated afterward. Third, it provides a template for disciplining regime claims built on short | |
| 102 | +post-event samples: cohort-by-cohort and leave-one-out estimates, pooled firm-clustered tests, | |
| 103 | +sector-factor spanning, winsorization, and event-study inference robust to cross-sectional | |
| 104 | +dependence. The remainder of the paper is organized as follows. Section~\ref{sec:literature} | |
| 105 | +situates the study and states the hypotheses. Section~\ref{sec:data} describes the corpus, the | |
| 106 | +semantic measures, and the timing convention. Section~\ref{sec:methodology} lays out the empirical | |
| 107 | +designs and their inferential limits. Section~\ref{sec:results} presents the main results, | |
| 108 | +Section~\ref{sec:robustness} the robustness and identification tests, Section~\ref{sec:discussion} | |
| 109 | +the interpretation and limitations, and Section~\ref{sec:conclusion} concludes. | |
modified
paper/sections/literature.tex
+96 −69
@@ -7,85 +7,109 @@ Our study sits at the intersection of five strands of research: textual analysis | ||
| 7 | 7 | pricing of corporate disclosure, technology and innovation in asset pricing, investor attention and |
| 8 | 8 | narrative economics, and the nascent literature on the economics of artificial intelligence. Each |
| 9 | 9 | contributes a building block---a measurement tool, an object of study, a candidate risk factor, a |
| 10 | −behavioral mechanism, and a comparison case---and our contribution is to combine them: we measure a | |
| 11 | −technology theme from firms' own words, price it in the cross-section, and show that its pricing turns | |
| 12 | −on precisely when a behavioral mechanism predicts it should. We take the strands in turn and close | |
| 13 | −with the hypotheses they jointly motivate. | |
| 10 | +behavioural mechanism, and a comparison case---and a sixth, methodological strand disciplines the | |
| 11 | +inference. We take the strands in turn and close with the hypotheses they jointly motivate. | |
| 14 | 12 | |
| 15 | 13 | \subsection{Textual analysis and natural language processing in finance} |
| 16 | −A now-large literature extracts economic signals from financial text. The foundational work of | |
| 17 | −\citet{tetlock2007} showed that the tone of a \textit{Wall Street Journal} column forecasts | |
| 18 | −aggregate returns, and \citet{tetlock2008} extended this to firm-level news. \citet{lm2011} | |
| 19 | −demonstrated that finance-specific sentiment dictionaries materially outperform general-purpose word | |
| 20 | −lists in 10-K analysis, launching a wave of dictionary-based studies and the widely used | |
| 21 | −Loughran--McDonald word lists; \citet{lm2016} survey this field. A second generation moved from | |
| 22 | −counting words to modeling them: \citet{gentzkow2019} review text-as-data methods in economics, | |
| 23 | −while \citet{kelly2019textregression} and \citet{bybee2024narrative} use machine-learning | |
| 24 | −representations of news to construct interpretable factors and a ``state of the economy'' from text. | |
| 25 | −Our paper belongs to the most recent, embedding-based generation of this work. The limitations of | |
| 26 | −keyword counting are acute for a theme like AI: a naive count cannot tell ``we do not currently use | |
| 27 | −artificial intelligence'' apart from ``we are an artificial-intelligence leader,'' it misses the | |
| 28 | −paraphrase of a firm that describes machine learning without ever writing ``AI,'' and it treats | |
| 29 | −boilerplate and substance identically. We instead measure the \emph{semantic similarity} of | |
| 30 | −disclosure to anchor concepts using a sentence transformer \citep{reimers2019sbert}, which maps | |
| 31 | −passages into a vector space where meaning, not surface form, governs proximity. This follows a | |
| 32 | −growing practice of using contextual embeddings to quantify disclosure content | |
| 33 | −\citep{cong2022textfactor}, and is closest in spirit to similarity-to-concept designs that score | |
| 34 | −documents against curated reference passages. | |
| 14 | +A now-large literature extracts economic signals from financial text. \citet{tetlock2007} showed | |
| 15 | +that the tone of a \textit{Wall Street Journal} column forecasts aggregate returns, and | |
| 16 | +\citet{tetlock2008} extended this to firm-level news. \citet{lm2011} demonstrated that | |
| 17 | +finance-specific sentiment dictionaries materially outperform general-purpose word lists in 10-K | |
| 18 | +analysis, launching a wave of dictionary-based studies; \citet{lm2016} and \citet{lm2020} survey | |
| 19 | +the field and its pitfalls, including the sensitivity of results to document selection and | |
| 20 | +pre-processing. A second generation moved from counting words to modelling them: \citet{gentzkow2019} | |
| 21 | +review text-as-data methods in economics, \citet{kekellyxiu2019} develop a supervised topic model | |
| 22 | +that predicts returns from news, \citet{kelly2019textregression} propose a sparse text-regression | |
| 23 | +framework, and \citet{bybee2024narrative} recover a ``state of the economy'' from business news. | |
| 24 | +A third generation uses distributed representations of meaning. \citet{hanleyhoberg2019} apply word | |
| 25 | +embeddings to bank 10-Ks to identify emerging risks before they are named in dictionaries; | |
| 26 | +\citet{limai2021} measure corporate culture from earnings calls with word embeddings; | |
| 27 | +\citet{huang2023finbert} show that a domain-adapted transformer outperforms dictionaries and | |
| 28 | +bag-of-words classifiers on financial text; and \citet{cong2022textfactor} build interpretable | |
| 29 | +``textual factors'' from embeddings. Our paper belongs to this embedding-based generation. The | |
| 30 | +limitations of keyword counting are acute for a theme like AI: a count cannot distinguish ``we do | |
| 31 | +not currently use artificial intelligence'' from ``we are an artificial-intelligence leader,'' it | |
| 32 | +misses the paraphrase of a firm that describes machine learning without writing ``AI,'' and it | |
| 33 | +treats boilerplate and substance identically. We instead measure the semantic similarity of each | |
| 34 | +passage to anchor concepts with a sentence transformer \citep{reimers2019sbert}, a design close in | |
| 35 | +spirit to the similarity-to-reference-text constructions of \citet{hanleyhoberg2019}. The | |
| 36 | +literature also warns, however, that text-based measures inherit the composition of the corpus they | |
| 37 | +are computed on \citep{lm2016,lm2020}; Section~\ref{sec:data} therefore documents that composition | |
| 38 | +in detail. | |
| 35 | 39 | |
| 36 | 40 | \subsection{The pricing of corporate disclosure} |
| 37 | 41 | A parallel literature asks whether the \emph{content} and \emph{changes} of mandatory disclosure |
| 38 | −predict returns. \citet{cohen2020lazy} show that firms that change the language of their 10-K | |
| 39 | −relative to the prior year (``lazy prices'' when they do not) experience predictable future returns | |
| 40 | −and operating outcomes. \citet{hoberg2010product} and \citet{hobergphillips2016} use 10-K product | |
| 41 | −descriptions to build text-based industry classifications and measures of product-market fluidity | |
| 42 | −that carry asset-pricing content. \citet{lopezlira2023risk} extracts risk exposures from 10-K | |
| 43 | −risk-factor sections. The general lesson is that the qualitative portions of filings contain | |
| 44 | −value-relevant information that markets process incompletely and with delay. We contribute a | |
| 45 | −focused, concept-level measure---AI engagement---and show that its pricing is strongly | |
| 46 | −state-dependent, a dimension the disclosure-pricing literature has largely left implicit. | |
| 42 | +predict returns. \citet{cohen2020lazy} show that firms that change the language of their annual | |
| 43 | +reports relative to the prior year experience predictable future returns and operating outcomes. | |
| 44 | +\citet{hoberg2010product} and \citet{hobergphillips2016} use 10-K product descriptions to build | |
| 45 | +text-based industry classifications that carry asset-pricing content. \citet{lopezlira2023risk} | |
| 46 | +extracts priced risk exposures from risk-factor sections. The general lesson is that the | |
| 47 | +qualitative portions of filings contain value-relevant information that markets process | |
| 48 | +incompletely and with delay. We contribute a concept-level measure---AI engagement---computed | |
| 49 | +mainly from current reports rather than annual reports, and we characterize how its relation to | |
| 50 | +returns varies over time, a dimension the disclosure-pricing literature has largely left implicit. | |
| 47 | 51 | |
| 48 | 52 | \subsection{Technology, innovation, and the cross-section of returns} |
| 49 | 53 | Asset pricing has long sought to connect technological change to risk and return. |
| 50 | 54 | \citet{hirshleifer2013innovative} show that innovative efficiency predicts returns; |
| 51 | 55 | \citet{kogan2017technological} build market-based measures of innovation from patents and link them |
| 52 | 56 | to growth and reallocation; \citet{koganpapanikolaou2014} show that investment-specific technology |
| 53 | −shocks shape the cross-section. A more recent literature studies AI exposure directly: | |
| 54 | −\citet{babina2024aiinvestment} measure firm-level AI investment from job-posting and resume data and | |
| 55 | −document faster growth among AI-adopting firms; \citet{eisfeldt2023generative} construct a | |
| 56 | −firm-level measure of \emph{generative}-AI exposure from the task content of occupations and show | |
| 57 | −that a generative-AI factor was priced precisely in the weeks around ChatGPT's release. | |
| 58 | −\citet{acemoglu2020wrong} and \citet{webb2020} study the labor-market exposure of firms to AI and | |
| 59 | −automation. Our contribution relative to this work is to measure AI exposure from the firm's | |
| 60 | −\emph{own disclosure}---a self-reported, narrative signal available for the entire index at annual | |
| 61 | −frequency---and to characterize the full time profile of its pricing across a decade and a half, not | |
| 62 | −only the event window. Where \citet{eisfeldt2023generative} use occupation-task exposure, we use the | |
| 63 | −language firms choose, providing a complementary and highly granular measure. | |
| 57 | +shocks shape the cross-section. A more recent literature studies AI exposure directly. | |
| 58 | +\citet{babina2024aiinvestment} measure firm-level AI investment from job postings and r\'esum\'es | |
| 59 | +and document faster growth among AI-adopting firms; \citet{acemoglu2022aijobs} and \citet{webb2020} | |
| 60 | +measure the exposure of occupations and establishments to AI; \citet{acemoglu2020wrong} study the | |
| 61 | +labour-market effects of industrial robots. Closest to us, \citet{eisfeldt2023generative} construct | |
| 62 | +a firm-level measure of \emph{generative}-AI exposure from the task content of occupations and show | |
| 63 | +that a long--short portfolio on that measure earned large returns in the weeks after ChatGPT's | |
| 64 | +release; \citet{jha2024chatgpt} use ChatGPT itself to extract expected investment and employment | |
| 65 | +policies from earnings calls; and \citet{lopezliratang2026} show that a large language model can | |
| 66 | +rank news headlines in a way that predicts next-day returns. Our contribution relative to this work | |
| 67 | +is to measure AI exposure from the firm's own disclosure language, available for the entire index | |
| 68 | +at annual frequency, and to characterize the full time profile of its pricing across fifteen | |
| 69 | +cohorts rather than an event window. Where \citet{eisfeldt2023generative} document a sharp | |
| 70 | +repricing in the weeks around the launch, we ask whether a persistent, text-based exposure measure | |
| 71 | +carried a premium before the launch and whether the premium after it is distinguishable from a | |
| 72 | +technology-sector effect. | |
| 64 | 73 | |
| 65 | 74 | \subsection{Investor attention, salience, and narrative economics} |
| 66 | −Why might value-relevant disclosure be priced only after a catalyst? The behavioral literature | |
| 67 | −offers a clear mechanism: limited investor attention. \citet{barberodean2008} show that retail | |
| 68 | −investors are drawn to attention-grabbing stocks; \citet{da2011} construct a direct attention proxy | |
| 69 | −from Google search and link it to prices; \citet{dellavigna2009} document under-reaction to | |
| 70 | −information released when attention is low; and \citet{hirshleifer2009driven} show that earnings news | |
| 71 | −is underweighted when investors are distracted. \citet{shiller2017narrative} argues that contagious | |
| 75 | +Why might value-relevant disclosure be priced only after a catalyst? The behavioural literature | |
| 76 | +offers a mechanism: limited investor attention. \citet{barberodean2008} show that individual | |
| 77 | +investors are drawn to attention-grabbing stocks; \citet{da2011} construct an attention proxy from | |
| 78 | +Google search and link it to prices; \citet{dellavigna2009} document under-reaction to information | |
| 79 | +released when attention is low; and \citet{hirshleifer2009driven} show that earnings news is | |
| 80 | +underweighted when investors are distracted. \citet{shiller2017narrative} argues that contagious | |
| 72 | 81 | narratives drive major asset-price movements, and \citet{bakerwurgler2006} show that sentiment |
| 73 | −differentially affects hard-to-value, speculative stocks. Our results provide a sharp illustration: | |
| 74 | −the information about firms' AI engagement existed in filings for years but was repriced abruptly | |
| 75 | −when a salient consumer event---ChatGPT---focused investor attention on AI. The asymmetry we document | |
| 76 | −(AI rewarded, ESG penalized after 2022) is itself consistent with a shift in the prevailing market | |
| 77 | −narrative. | |
| 82 | +differentially affects hard-to-value, speculative stocks. These mechanisms predict that a salient | |
| 83 | +consumer event such as ChatGPT could draw attention to information that had been sitting in filings | |
| 84 | +for years. They do not, however, distinguish a firm-level attention shock from a sector-level | |
| 85 | +revision of expected cash flows, and our tests are designed to separate the two. | |
| 78 | 86 | |
| 79 | 87 | \subsection{ESG and climate disclosure as a comparison case} |
| 80 | −Finally, our placebo design connects to the literature on the pricing of ESG and climate disclosure. | |
| 88 | +Our placebo design connects to the literature on the pricing of ESG and climate disclosure. | |
| 81 | 89 | \citet{pastor2021sustainable} model how sustainability preferences depress the expected returns of |
| 82 | 90 | green assets in equilibrium, and \citet{pastor2022dissecting} show that green stocks' strong |
| 83 | −\emph{realized} returns through 2021 reflected unexpected increases in climate concern rather than | |
| 84 | −high expected returns. \citet{bolton2021risk} document a carbon premium. Consistent with the | |
| 85 | −post-2021 reversal in this literature, we find that high-ESG and high-climate disclosure earned | |
| 86 | −\emph{negative} spreads after 2022, exactly when AI disclosure began to earn large positive | |
| 87 | −ones---underscoring that the post-2022 re-rating reflects a thematic rotation toward AI rather than a | |
| 88 | −generic disclosure effect. | |
| 91 | +realized returns through 2021 reflected unexpected increases in climate concern rather than high | |
| 92 | +expected returns. \citet{bolton2021risk} document a carbon premium, and \citet{sautner2023} build a | |
| 93 | +firm-level climate-exposure measure from earnings-call language that is priced in options and | |
| 94 | +returns. Consistent with the post-2021 reversal in this literature, we find that high-ESG and | |
| 95 | +high-climate disclosure earned negative spreads after 2022, which helps to rule out a generic | |
| 96 | +``more disclosure earns more'' explanation of the AI result. | |
| 97 | + | |
| 98 | +\subsection{Short samples, data snooping, and event-study inference} | |
| 99 | +Two methodological literatures bear directly on how much weight our post-2022 estimates can carry. | |
| 100 | +The first concerns the credibility of cross-sectional return patterns. \citet{harveyliuzhu2016} | |
| 101 | +argue that the multiplicity of tested predictors requires $t$-statistics well above conventional | |
| 102 | +thresholds; \citet{houxuezhang2020} find that most published anomalies fail to replicate under | |
| 103 | +standard procedures; and \citet{mcleanpontiff2016} document post-publication decay. A spread | |
| 104 | +estimated on three annual observations, one of which is extreme, must be read in that light. The | |
| 105 | +second concerns inference in event studies when all firms share a single event date, so that | |
| 106 | +abnormal returns are cross-sectionally correlated \citep{brownwarner1985,kolari2010} and | |
| 107 | +event-induced variance may differ from estimation-window variance \citep{boehmer1991}, and in | |
| 108 | +long-horizon settings, where the choice of benchmark and the compounding of abnormal returns | |
| 109 | +matter \citep{barberlyon1997,fama1998,mitchellstafford2000,kothariwarner2007}. Our event-study | |
| 110 | +inference follows the portfolio approach recommended in that literature. Finally, the use of a | |
| 111 | +current-membership universe raises the survivorship concerns analysed by | |
| 112 | +\citet{browngoetzmannross1995}, which we address with restrictions on listing history. | |
| 89 | 113 | |
| 90 | 114 | \subsection{Hypotheses} |
| 91 | 115 | \label{subsec:hypotheses} |
@@ -93,15 +117,18 @@ Our analysis is organized around four hypotheses. | ||
| 93 | 117 | \begin{description}[leftmargin=2.4em,style=nextline] |
| 94 | 118 | \item[H1 (Unconditional pricing).] If AI exposure carries a stable risk premium or persistent |
| 95 | 119 | mispricing, then sorting on AI-disclosure intensity yields a positive and significant risk-adjusted |
| 96 | −return spread over the full 2010--2026 sample. | |
| 120 | +return spread over the full 2010--2024 formation sample. | |
| 97 | 121 | \item[H2 (Regime dependence).] If instead AI exposure is repriced only once AI becomes salient, the |
| 98 | −return spread is small before and large after the late-2022 generative-AI catalyst, with a | |
| 99 | −detectable structural break. | |
| 100 | −\item[H3 (AI-specificity).] If the post-2022 spread reflects a genuine AI repricing rather than a | |
| 101 | −mechanical or market-wide artifact, it appears for AI-related semantic factors but not for unrelated | |
| 102 | −factors (e.g.\ ESG, climate, macro risk). | |
| 122 | +return spread is small before and large after the late-2022 generative-AI catalyst, and the | |
| 123 | +increase is visible in each post-launch cohort rather than in a single one. | |
| 124 | +\item[H3 (AI-specificity).] If the post-2022 spread reflects an AI repricing rather than a | |
| 125 | +mechanical or market-wide artefact, it appears for AI-related semantic factors but not for unrelated | |
| 126 | +factors such as ESG, climate, or macro risk, and it is not spanned by a technology-sector factor. | |
| 103 | 127 | \item[H4 (Cross-sectional, not within-firm).] If the market repriced \emph{which} firms are |
| 104 | 128 | AI-exposed rather than rewarding incremental wording, the effect is concentrated in the |
| 105 | −cross-section and attenuates under firm and sector fixed effects. | |
| 129 | +cross-section, attenuates under firm fixed effects, and displays no pre-trend when exposure is held | |
| 130 | +fixed at its pre-launch level. | |
| 106 | 131 | \end{description} |
| 107 | −\noindent The data, as we show, decisively favor H2--H4 over H1. | |
| 132 | +\noindent The evidence rejects H1, supports the first clause of H2 but not the second, supports | |
| 133 | +H3 with respect to the placebo factors but not with respect to the sector factor, and supports H4 | |
| 134 | +only in part. | |
modified
paper/sections/methodology.tex
+131 −60
@@ -3,79 +3,150 @@ | ||
| 3 | 3 | \label{sec:methodology} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −We bring six complementary research designs to bear, ranging from simple portfolio sorts to a | |
| 7 | −market-model event study. Each carries its own identifying assumptions and its own vulnerabilities: a | |
| 8 | −sort is transparent but model-free and silent on risk; a factor regression adjusts for risk but | |
| 9 | −imposes a linear factor structure; a panel with fixed effects controls for unobserved heterogeneity | |
| 10 | −but discards the cross-sectional variation that may matter most; an event study buys clean timing at | |
| 11 | −the cost of a single window. By design these weaknesses do not overlap, so a conclusion that survives | |
| 12 | −all six is far more credible than one resting on any one. Using the battery together lets us | |
| 13 | −triangulate the economic interpretation rather than lean on a single estimate. | |
| 6 | +We bring six research designs to bear, ranging from portfolio sorts to a market-model event study. | |
| 7 | +Each carries its own identifying assumptions and vulnerabilities: a sort is transparent but silent | |
| 8 | +on risk; a factor regression adjusts for risk but imposes a linear factor structure; a panel with | |
| 9 | +fixed effects controls for unobserved heterogeneity but discards the cross-sectional variation that | |
| 10 | +may matter most; an event study buys clean timing at the cost of a single window. A conclusion that | |
| 11 | +survives all six is more credible than one resting on any one of them, but only if the inference | |
| 12 | +within each design is sound, and this section is explicit about where it is fragile. | |
| 14 | 13 | |
| 15 | 14 | \subsection{Portfolio sorts} |
| 16 | −Each formation year we sort firms into quintiles on a given (within-year standardized) AI signal and | |
| 17 | −compute the equal-weighted (EW) and value-weighted (VW) forward return of each quintile, along with the | |
| 18 | −high-minus-low (Q5$-$Q1) spread that a self-financing long--short investor would have earned. We report | |
| 19 | −the time-series average of the annual spreads and test its significance with Newey--West | |
| 20 | −\citep{neweywest1987} standard errors (three lags) to account for any serial correlation induced by the | |
| 21 | −overlapping return windows. The appeal of the sort is that it imposes no model and makes no functional-form | |
| 22 | −assumption---it simply asks what high-AI firms earned relative to low-AI firms---and the EW--VW comparison | |
| 23 | −is itself informative: when the equal-weighted spread exceeds the value-weighted one, the effect is | |
| 24 | −concentrated in smaller index members rather than driven by the largest names. | |
| 15 | +Each formation year $Y$ we sort firms into quintiles of a within-year standardized signal and | |
| 16 | +compute the equal-weighted (EW) and value-weighted (VW) forward return of each quintile. The annual | |
| 17 | +high-minus-low spread and its time-series average are | |
| 18 | +\begin{equation} | |
| 19 | + \text{LS}_{Y} \;=\; \bar r_{Q5,Y}-\bar r_{Q1,Y}, \qquad | |
| 20 | + \overline{\text{LS}} \;=\; \frac{1}{N_Y}\sum_{Y}\text{LS}_{Y}, | |
| 21 | + \label{eq:spread} | |
| 22 | +\end{equation} | |
| 23 | +and we test $\overline{\text{LS}}=0$ with Newey--West standard errors with three lags | |
| 24 | +\citep{neweywest1987} on the series of annual spreads. The appeal of the sort is that it imposes no | |
| 25 | +functional form; the EW--VW comparison indicates whether the effect is concentrated in smaller index | |
| 26 | +members. The limitation is sample size: the full sample has $N_Y=15$ annual spreads, the | |
| 27 | +pre-period twelve, and the post-period three. A Newey--West $t$-statistic computed on three | |
| 28 | +observations has no useful sampling distribution, so for the post-period we report it only for | |
| 29 | +completeness and rely instead on the cohort-by-cohort values, on leave-one-out means, on pooled | |
| 30 | +firm-level regressions with standard errors clustered by firm, and on the monthly long--short | |
| 31 | +series described next. | |
| 25 | 32 | |
| 26 | 33 | \subsection{Factor-model spanning of a long--short portfolio} |
| 27 | −A raw spread could in principle be no more than compensation for bearing known risks. To ask whether | |
| 28 | −the AI spread survives risk adjustment, we build an annually rebalanced, equal-weighted, self-financing | |
| 29 | −long--short portfolio (top minus bottom quintile), record its monthly return, and regress it on | |
| 30 | −(i)~the CAPM market factor and (ii)~the Fama--French five factors plus momentum (FF6). The intercept | |
| 31 | −(alpha) measures the average return the portfolio earned beyond what its loadings on these established | |
| 32 | −factors can explain, and the slopes reveal which risks the strategy is implicitly taking; we use | |
| 33 | −heteroskedasticity- and autocorrelation-consistent (HAC) standard errors throughout. A significant | |
| 34 | −alpha would indicate that AI disclosure is priced over and above standard exposures, while an | |
| 35 | −insignificant one would say the spread is spanned by known factors. | |
| 34 | +A raw spread could be compensation for bearing known risks. We build an annually rebalanced, | |
| 35 | +equal-weighted, self-financing long--short portfolio (top minus bottom quintile), record its | |
| 36 | +monthly return $\text{LS}_m$, and estimate | |
| 37 | +\begin{equation} | |
| 38 | +\begin{aligned} | |
| 39 | + \text{LS}_m \;=\;& \alpha + \beta_{M}\,\text{MKT}_m + \beta_{S}\,\text{SMB}_m + \beta_{H}\,\text{HML}_m | |
| 40 | + + \beta_{R}\,\text{RMW}_m \\ | |
| 41 | + &+ \beta_{C}\,\text{CMA}_m + \beta_{U}\,\text{MOM}_m + \beta_{T}\,\text{TECH}_m + u_m , | |
| 42 | +\end{aligned} | |
| 43 | + \label{eq:alpha} | |
| 44 | +\end{equation} | |
| 45 | +with heteroskedasticity- and autocorrelation-consistent standard errors (three lags). We report the | |
| 46 | +CAPM version, the Fama--French five factors plus momentum (FF6; \citealp{famafrench2015,carhart1997}), | |
| 47 | +and FF6 augmented with a technology-sector factor $\text{TECH}_m$, the equal-weighted monthly return | |
| 48 | +of the Information Technology constituents of the panel minus the equal-weighted return of all | |
| 49 | +constituents. The sector factor is not a priced risk factor in the usual sense; it is a diagnostic | |
| 50 | +that asks whether the AI long--short is distinguishable from a bet on the technology sector during | |
| 51 | +the sample. The intercept $\alpha$ is the average monthly return beyond what the loadings explain. | |
| 52 | +Because the monthly series has 180 observations (36 in the post-period), it supports inference that | |
| 53 | +the three annual post-period spreads cannot; we also report the Sharpe ratio of the series in each | |
| 54 | +sub-period. | |
| 36 | 55 | |
| 37 | 56 | \subsection{Two-way fixed-effects panel regressions} |
| 38 | 57 | We estimate |
| 39 | 58 | \begin{equation} |
| 40 | − r_{i,t\to t+12} = \beta\, \text{AI}_{i,t} + \gamma' X_{i,t} + \alpha_i + \delta_t + \varepsilon_{i,t}, | |
| 59 | + r_{i,Y+1} = \beta\, \text{AI}_{i,Y} + \gamma' X_{i,Y} + \alpha_i + \delta_Y + \varepsilon_{i,Y}, | |
| 41 | 60 | \label{eq:panel} |
| 42 | 61 | \end{equation} |
| 43 | −where $r$ is the winsorized forward return, $\text{AI}_{i,t}$ the standardized signal, $X$ the | |
| 44 | −controls, and $\alpha_i,\delta_t$ firm and year fixed effects. Standard errors are double-clustered by | |
| 45 | −firm and year \citep{petersen2009,cameron2011}. Firm fixed effects absorb all time-invariant | |
| 46 | −cross-firm differences, so $\beta$ identifies whether \emph{within-firm} changes in AI language | |
| 47 | −predict returns; year fixed effects absorb common shocks. Contrasting this estimate with the | |
| 48 | −cross-sectional ones isolates whether the signal lives across or within firms (H4). | |
| 62 | +where $r_{i,Y+1}$ is the winsorized forward return of equation~\eqref{eq:fwd}, $\text{AI}_{i,Y}$ the | |
| 63 | +standardized signal, $X$ the standardized controls, and $\alpha_i,\delta_Y$ firm and year fixed | |
| 64 | +effects. Standard errors are double-clustered by firm and year | |
| 65 | +\citep{petersen2009,thompson2011,cameron2011}; with fifteen year clusters the time dimension of | |
| 66 | +the clustering is thin, and we report firm-clustered versions where the distinction matters. Firm | |
| 67 | +fixed effects absorb all time-invariant cross-firm differences, so $\beta$ identifies whether | |
| 68 | +within-firm changes in AI language predict returns; year effects absorb common shocks. Contrasting | |
| 69 | +this estimate with the cross-sectional ones isolates whether the signal lives across or within | |
| 70 | +firms (H4). | |
| 49 | 71 | |
| 50 | 72 | \subsection{Fama--MacBeth regressions} |
| 51 | −We also run annual cross-sectional regressions of the forward return on the AI signal and controls and | |
| 52 | −average the slopes following \citet{famamacbeth1973}, with Newey--West errors on the time series of | |
| 53 | −coefficients. This estimator weights each year equally and yields an interpretable | |
| 54 | −per-standard-deviation premium; plotting the annual slopes reveals the time profile of the premium | |
| 55 | −directly. | |
| 73 | +We also run annual cross-sectional regressions and average the slopes \citep{famamacbeth1973}, | |
| 74 | +\begin{equation} | |
| 75 | + r_{i,Y+1} = a_Y + b_Y\, \text{AI}_{i,Y} + c_Y' X_{i,Y} + e_{i,Y}, \qquad | |
| 76 | + \hat b = \frac{1}{N_Y}\sum_Y \hat b_Y , | |
| 77 | + \label{eq:fm} | |
| 78 | +\end{equation} | |
| 79 | +with Newey--West errors on the time series of $\hat b_Y$. This estimator weights each year equally | |
| 80 | +and yields an interpretable per-standard-deviation premium; plotting the annual slopes reveals the | |
| 81 | +time profile of the premium directly, and adding GICS-sector dummies to the cross-sectional | |
| 82 | +regression gives the within-sector version of the slope. | |
| 56 | 83 | |
| 57 | 84 | \subsection{Structural-break and difference-in-differences designs} |
| 58 | −To test regime dependence (H2) we split the sample at the 30~November 2022 ChatGPT launch and compare | |
| 59 | −sub-period spreads, and we estimate pooled interaction models of the form | |
| 60 | −$r = \beta_1 \text{AI} + \beta_2 (\text{AI}\times \text{Post}) + \gamma' X + \varepsilon$, where | |
| 61 | −$\text{Post}=\mathbb{1}[\text{formation year}\ge 2022]$ and $\beta_2$ captures the change in the | |
| 62 | −premium. We complement this with a difference-in-differences design in which treatment is the firm's | |
| 63 | −\emph{pre-determined} AI exposure---fixed at its 2019--2021 average so it cannot respond to the | |
| 64 | −event---interacted with Post, within firm and year fixed effects. An event-time version interacts | |
| 65 | −pre-determined exposure with each year dummy (relative to 2021) to trace the dynamic response. | |
| 85 | +To test regime dependence (H2) we split the sample at the ChatGPT launch and compare sub-period | |
| 86 | +spreads, and we estimate the pooled interaction model | |
| 87 | +\begin{equation} | |
| 88 | + r_{i,Y+1} = \beta_1\, \text{AI}_{i,Y} + \beta_2\, (\text{AI}_{i,Y}\times \text{Post}_Y) | |
| 89 | + + \gamma' X_{i,Y} + \delta\,\text{Post}_Y + \varepsilon_{i,Y}, | |
| 90 | + \qquad \text{Post}_Y=\mathbb{1}[Y\ge 2022], | |
| 91 | + \label{eq:break} | |
| 92 | +\end{equation} | |
| 93 | +where $\beta_2$ is the change in the premium per standard deviation of the signal, with standard | |
| 94 | +errors clustered by formation year. We complement this with a difference-in-differences design in | |
| 95 | +which treatment is the firm's pre-determined exposure $\overline{\text{AI}}_i^{\,19\text{--}21}$, the | |
| 96 | +average of its composite over the filings of 2019--2021, standardized across firms, so that it | |
| 97 | +cannot respond to the event: | |
| 98 | +\begin{equation} | |
| 99 | + r_{i,Y+1} = \theta\,\bigl(\overline{\text{AI}}_i^{\,19\text{--}21}\times\text{Post}_Y\bigr) | |
| 100 | + + \gamma' X_{i,Y} + \alpha_i + \delta_Y + \varepsilon_{i,Y}, | |
| 101 | + \label{eq:did} | |
| 102 | +\end{equation} | |
| 103 | +estimated with firm and year fixed effects and double-clustered errors, and with a binary version | |
| 104 | +in which treatment is above-median pre-determined exposure. An event-time version replaces the | |
| 105 | +single interaction with interactions of the fixed exposure with each formation-year dummy relative | |
| 106 | +to 2021, | |
| 107 | +\begin{equation} | |
| 108 | + r_{i,Y+1} = \sum_{\tau\neq 2021}\theta_\tau\,\bigl(\overline{\text{AI}}_i^{\,19\text{--}21}\times\mathbb{1}[Y=\tau]\bigr) | |
| 109 | + + \gamma' X_{i,Y} + \delta_Y + \varepsilon_{i,Y}, | |
| 110 | + \label{eq:evt} | |
| 111 | +\end{equation} | |
| 112 | +which traces the dynamic response and, in the years before 2022, tests the parallel-trends | |
| 113 | +assumption. Because each $\theta_\tau$ is identified within a single year, standard errors for | |
| 114 | +equation~\eqref{eq:evt} must be clustered by firm, not by year; the first version of this paper | |
| 115 | +clustered by year, which made the cluster-robust variance of each $\theta_\tau$ degenerate and the | |
| 116 | +confidence bands spuriously narrow. | |
| 66 | 117 | |
| 67 | 118 | \subsection{Market-model event study} |
| 68 | −Finally, we run a classic event study \citep{mackinlay1997} around the ChatGPT launch, which converts | |
| 69 | −the annual-frequency portfolio evidence into a high-frequency, cleanly dated test. The launch is close | |
| 70 | −to an ideal natural experiment for our purposes: it was a consumer-product event, unanticipated by | |
| 71 | −equity markets, that sharply raised the salience of AI without itself changing any firm's | |
| 72 | −fundamentals overnight. For each stock we estimate a market model ($r_{i,d}=a_i+b_i r^{m}_{d}+e_{i,d}$) | |
| 73 | −over the estimation window January--October 2022 and compute daily abnormal returns | |
| 74 | −$\text{AR}_{i,d}=r_{i,d}-(\hat a_i+\hat b_i r^m_d)$ over the event window November 2022--June 2024. | |
| 75 | −Cumulative abnormal returns (CAR) are compared across terciles of \emph{pre-event} AI disclosure---taken | |
| 76 | −from the FY2021 10-K, the last report filed before the launch and therefore immune to any reaction to | |
| 77 | −it---and we regress firm-level CAR on pre-event exposure with size, beta, and sector controls. Because | |
| 78 | −abnormal returns net out each firm's market-beta exposure, the event study isolates the | |
| 79 | −cross-sectional response to the AI-narrative shock from the contemporaneous (and initially negative) | |
| 80 | −market drift of 2022--2023, addressing the natural objection that high-AI firms simply rode a | |
| 81 | −beta-driven recovery. | |
| 119 | +Finally, we run an event study \citep{mackinlay1997} around the ChatGPT launch, which converts the | |
| 120 | +annual-frequency portfolio evidence into a daily, cleanly dated test. The launch was a | |
| 121 | +consumer-product event, unanticipated by equity markets, that raised the salience of AI without | |
| 122 | +itself changing any firm's fundamentals overnight. For each stock we estimate the market model | |
| 123 | +\begin{equation} | |
| 124 | + r_{i,d}=a_i+b_i\, r^{m}_{d}+e_{i,d} | |
| 125 | + \label{eq:mm} | |
| 126 | +\end{equation} | |
| 127 | +over the estimation window 3~January--31~October 2022 (209 trading days, SPY as the market), and | |
| 128 | +compute abnormal and cumulative abnormal returns over the event window 1~November 2022--30~June | |
| 129 | +2024, | |
| 130 | +\begin{equation} | |
| 131 | + \text{AR}_{i,d}=r_{i,d}-(\hat a_i+\hat b_i r^m_d), \qquad | |
| 132 | + \text{CAR}_i(T)=\sum_{d=1}^{T}\text{AR}_{i,d}. | |
| 133 | + \label{eq:car} | |
| 134 | +\end{equation} | |
| 135 | +CARs are compared across terciles of pre-event AI exposure measured from the filings of calendar | |
| 136 | +year 2021, all dated before the launch, and firm-level CARs are regressed on exposure with size, | |
| 137 | +beta, and sector controls. The firm-level Welch $t$-test used in the first version treats the | |
| 138 | +firms as independent, which they are not when they share an event date | |
| 139 | +\citep{brownwarner1985,kolari2010}. We therefore also treat the equal-weighted High-minus-Low | |
| 140 | +abnormal return as a single daily series $\text{AR}^{HL}_d$ and compute | |
| 141 | +\begin{equation} | |
| 142 | + t_{\text{CDA}}(T)=\frac{\sum_{d=1}^{T}\text{AR}^{HL}_d}{\hat\sigma_{HL}\sqrt{T}}, | |
| 143 | + \label{eq:cda} | |
| 144 | +\end{equation} | |
| 145 | +where $\hat\sigma_{HL}$ is the daily standard deviation of the same portfolio series in the | |
| 146 | +estimation window (the crude dependence adjustment of \citealp{brownwarner1985}) or, to allow for | |
| 147 | +event-induced variance \citep{boehmer1991}, in the event window. We also report the average | |
| 148 | +pairwise correlation of estimation-window residuals, which governs the overstatement of the | |
| 149 | +independence-based test \citep{kolari2010}. Horizons of 250 and 395 trading days are long for an | |
| 150 | +event study; at such horizons the market model's intercept, estimated in the 2022 bear market, | |
| 151 | +makes all CARs drift negative, and only differences between terciles are interpretable | |
| 152 | +\citep{fama1998,kothariwarner2007}. | |
modified
paper/sections/results.tex
+144 −118
@@ -4,169 +4,195 @@ | ||
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | 6 | \subsection{Portfolio sorts: a weak unconditional relation} |
| 7 | −Table~\ref{tab:sorts} reports the quintile sorts over the full sample. The relation between AI | |
| 8 | −disclosure and future returns is positive and broadly monotone but economically modest. The | |
| 9 | −equal-weighted Q5$-$Q1 spread is $+4.6$ percentage points per year for AI adoption \tstat{1.83}, | |
| 10 | −$+3.9$ for AI infrastructure \tstat{1.58}, $+5.3$ for AI disruption risk \tstat{2.27}, and $+4.9$ for | |
| 11 | −the composite \tstat{1.88}. Value-weighting attenuates the adoption and composite spreads, indicating | |
| 12 | −the effect is stronger among smaller index members. The left panel of Figure~\ref{fig:quint} displays | |
| 13 | −the full-sample pattern: returns rise gently from the lowest to the highest AI quintile. On its own, | |
| 14 | −this is suggestive but far from decisive evidence---and, as we now show, it averages over two very | |
| 15 | −different regimes. | |
| 7 | +Table~\ref{tab:sorts} reports the quintile sorts over the full sample of fifteen formation years. | |
| 8 | +The relation between AI language and future returns is positive and broadly monotone but modest. | |
| 9 | +The equal-weighted Q5$-$Q1 spread is $+4.6$ percentage points per year for AI adoption | |
| 10 | +\tstat{1.83}, $+3.9$ for AI infrastructure \tstat{1.58}, $+5.3$ for AI disruption risk | |
| 11 | +\tstat{2.27}, and $+4.9$ for the composite \tstat{1.88}. Value-weighting attenuates the adoption | |
| 12 | +and composite spreads, indicating that the relation is stronger among smaller index members. The | |
| 13 | +left panel of Figure~\ref{fig:quint} displays the full-sample pattern: returns rise gently from the | |
| 14 | +lowest to the highest AI quintile. By the standards of \citet{harveyliuzhu2016}, none of these | |
| 15 | +spreads would qualify as a discovery, and the averages blend two very different sub-periods. | |
| 16 | 16 | |
| 17 | 17 | \input{tables/tab_sorts} |
| 18 | 18 | |
| 19 | −\subsection{Does AI disclosure earn risk-adjusted alpha unconditionally? (H1)} | |
| 20 | −Table~\ref{tab:alpha} reports CAPM and FF6 alphas of the long--short portfolios. The AI-opportunity | |
| 21 | −composite earns a raw spread of about $+2.3\%$ per year, of which the FF6 alpha is $+1.9\%$---but | |
| 22 | −statistically insignificant \tstat{1.24}. The AI-adoption and AI-infrastructure long--shorts are | |
| 23 | −similarly insignificant after risk adjustment. The one exception is the AI-disruption-risk spread, | |
| 24 | −whose FF6 alpha of $+2.8\%$ per year is marginally significant \tstat{2.10}, hinting at a small risk | |
| 25 | −premium for firms that flag AI as a competitive threat. The factor loadings (not the focus here) show | |
| 26 | −the AI long--short is roughly market-neutral with modest negative profitability (RMW) and investment | |
| 27 | −(CMA) tilts, consistent with a growth-oriented long leg. The verdict on H1 is clear: | |
| 28 | −\textbf{unconditionally, AI disclosure is at best weakly priced.} This is not the end of the story but | |
| 29 | −the beginning of it. | |
| 19 | +\subsection{Does AI language earn risk-adjusted alpha unconditionally? (H1)} | |
| 20 | +Table~\ref{tab:alpha} reports CAPM and FF6 alphas of the monthly long--short portfolios over the | |
| 21 | +178 months for which the French factors are available. The composite earns a raw spread of about | |
| 22 | +$+2.3\%$ per year, of which the FF6 alpha is $+1.9\%$ and statistically insignificant | |
| 23 | +\tstat{1.24}. The adoption and infrastructure long--shorts are similarly insignificant. The one | |
| 24 | +exception is the disruption-risk spread, whose FF6 alpha of $+2.8\%$ per year is marginally | |
| 25 | +significant \tstat{2.10}. The factor loadings show that the long--shorts are roughly | |
| 26 | +market-neutral, with modest negative profitability (RMW) and investment (CMA) tilts consistent with | |
| 27 | +a growth-oriented long leg. Panel~C of Table~\ref{tab:postinf}, discussed below, adds the | |
| 28 | +technology-sector factor: its loading is 0.35 \tstat{11.1} and the full-sample FF6 alpha of the | |
| 29 | +composite falls to $+0.4\%$ per year \tstat{0.36}. The verdict on H1 is clear: unconditionally, AI | |
| 30 | +language is at best weakly priced, and what premium there is resembles a technology-sector tilt. | |
| 30 | 31 | |
| 31 | 32 | \input{tables/tab_alpha} |
| 32 | 33 | |
| 33 | 34 | \subsection{Panel and Fama--MacBeth estimates} |
| 34 | −Table~\ref{tab:panel} juxtaposes the two-way fixed-effects panel with the Fama--MacBeth estimator. The | |
| 35 | −contrast is instructive. In the Fama--MacBeth (cross-sectional) regressions, the AI-adoption and | |
| 36 | −AI-infrastructure premia are positive---$+1.3$ and $+1.6$ percentage points per standard | |
| 37 | −deviation---with \textit{t}-statistics near 1.6--1.7, indicating a weak but positive cross-sectional | |
| 38 | −premium on average. In the two-way fixed-effects panel, however, every AI coefficient collapses to | |
| 39 | −essentially zero. Because firm fixed effects remove all permanent cross-firm differences, this tells | |
| 40 | −us the signal lives \emph{across} firms, not \emph{within} them: a given firm writing relatively more | |
| 41 | −about AI from one year to the next does not predict its own subsequent return (anticipating H4). | |
| 42 | −Throughout, size carries the familiar negative premium ($t\approx-8$) and volatility a positive one, | |
| 43 | −consistent with the broader cross-sectional literature in this large-cap universe. | |
| 35 | +Table~\ref{tab:panel} juxtaposes the two-way fixed-effects panel of equation~\eqref{eq:panel} with | |
| 36 | +the Fama--MacBeth estimator of equation~\eqref{eq:fm}. In the Fama--MacBeth regressions the AI | |
| 37 | +adoption and infrastructure premia are positive---$+1.3$ and $+1.6$ percentage points per standard | |
| 38 | +deviation when entered separately---with $t$-statistics of 1.5--1.6, a weak cross-sectional | |
| 39 | +premium on average; when the three collinear signals are entered jointly, only infrastructure | |
| 40 | +retains a positive coefficient. In the two-way fixed-effects panel every AI coefficient is | |
| 41 | +indistinguishable from zero. Because firm fixed effects remove permanent cross-firm differences, | |
| 42 | +the signal lives across firms, not within them: a given firm whose filings resemble the AI anchors | |
| 43 | +more closely from one year to the next does not earn a higher subsequent return. Throughout, size | |
| 44 | +carries a negative premium ($t\approx-8$) and volatility a positive one. | |
| 44 | 45 | |
| 45 | 46 | \input{tables/tab_panel} |
| 46 | 47 | |
| 47 | −\subsection{The structural break: AI pricing switched on after ChatGPT (H2)} | |
| 48 | −The full-sample averages are not so much wrong as misleading: they blend two regimes that look | |
| 49 | −nothing alike, and in doing so they understate the post-2022 effect as badly as they overstate the | |
| 50 | −pre-2022 one. This regime change is the paper's central result. Splitting the sample at the November | |
| 51 | −2022 ChatGPT launch, the center and right panels of Figure~\ref{fig:quint} reveal a striking | |
| 52 | −transformation. Before 2022 the relationship between AI quintile and forward return is nearly flat---a | |
| 53 | −firm in the top AI quintile earned little more than one in the bottom quintile. After 2022 the same | |
| 54 | −schedule tilts steeply upward, rising monotonically from the lowest to the highest quintile. The | |
| 55 | −high-minus-low composite spread is $+2.4$ percentage points per year pre-ChatGPT but $+14.6$ points | |
| 56 | −per year post-ChatGPT---a more than sixfold increase in the price of an essentially unchanged | |
| 57 | −characteristic. | |
| 48 | +\subsection{The post-ChatGPT change: large on average, concentrated in one cohort (H2)} | |
| 49 | +\label{subsec:break} | |
| 50 | +Splitting the sample at the ChatGPT launch, the centre and right panels of Figure~\ref{fig:quint} | |
| 51 | +show two different pictures. Before 2022 the relation between AI quintile and forward return is | |
| 52 | +nearly flat; after 2022 the schedule tilts upward, and the composite Q5$-$Q1 spread rises from | |
| 53 | +$+2.5$ percentage points per year to $+14.6$. Table~\ref{tab:break} quantifies the change for each | |
| 54 | +signal. In sub-period sorts the adoption spread rises from $+2.2\%$ to $+14.3\%$, the composite | |
| 55 | +from $+2.5\%$ to $+14.6\%$, and infrastructure from $+1.4\%$ to $+13.6\%$. In the pooled | |
| 56 | +interaction regressions of equation~\eqref{eq:break} the post-2022 increment is positive for all | |
| 57 | +three signals, between $+2.0$ and $+2.8$ percentage points per standard deviation, and | |
| 58 | +statistically significant only for AI infrastructure \tstat{2.63}, the facet most directly tied to | |
| 59 | +the chip, cloud, data-centre, and power firms that led the 2023--2025 rally. | |
| 58 | 60 | |
| 59 | 61 | \begin{figure}[htbp]\centering |
| 60 | 62 | \includegraphics[width=\textwidth]{fig1_quintile_returns.png} |
| 61 | −\caption{\textbf{Forward returns by AI-disclosure quintile, before and after ChatGPT.} Each panel | |
| 62 | −plots the mean forward twelve-month return across quintiles of the AI-disclosure composite: the left | |
| 63 | −panel pools the full sample, the center panel covers the pre-ChatGPT period (2010--2021), and the | |
| 64 | −right panel the post-ChatGPT period (2022--2024). The quintile schedule is nearly flat before 2022 and | |
| 65 | −steeply increasing afterward; the high-minus-low (Q5$-$Q1) spread rises from $+2.4$ percentage points | |
| 66 | −per year before ChatGPT to $+14.6$ points after.}\label{fig:quint} | |
| 63 | +\caption{\textbf{Forward returns by AI-language quintile, before and after ChatGPT.} Each panel | |
| 64 | +plots the mean forward twelve-month return across quintiles of the AI composite: the left panel | |
| 65 | +pools the full sample, the centre panel the pre-ChatGPT formation years (2010--2021), and the right | |
| 66 | +panel the post-ChatGPT formation years (2022--2024). The Q5$-$Q1 spread rises from $+2.5$ | |
| 67 | +percentage points per year before ChatGPT to $+14.6$ after; the post-period average rests on three | |
| 68 | +cohorts and is dominated by the 2024 cohort (Table~\ref{tab:postinf}).}\label{fig:quint} | |
| 67 | 69 | \end{figure} |
| 68 | 70 | |
| 69 | −Table~\ref{tab:break} quantifies the break two ways. In sub-period sorts, the AI-adoption Q5$-$Q1 | |
| 70 | −spread rises from $+2.2\%$ per year \tstat{2.04} pre-2022 to $+14.3\%$ \tstat{2.15} post-2022; the | |
| 71 | −composite rises from $+2.5\%$ to $+14.6\%$; AI infrastructure from $+1.4\%$ to $+13.6\%$. In the | |
| 72 | −pooled interaction regressions, the post-2022 incremental slope is positive for all three signals and | |
| 73 | −statistically significant for AI infrastructure \tstat{2.63}---the facet most directly tied to the | |
| 74 | −chip, cloud, data-center, and power firms that led the 2023--2025 rally. Figure~\ref{fig:spread} shows | |
| 75 | −the annual spreads: small and mixed-sign through 2021, uniformly large and positive for every | |
| 76 | −post-2022 cohort. | |
| 77 | − | |
| 78 | 71 | \input{tables/tab_break} |
| 79 | 72 | |
| 73 | +The Newey--West $t$-statistics of Table~\ref{tab:break} are computed on three post-period | |
| 74 | +observations and carry little information. Table~\ref{tab:postinf} asks directly how much evidence | |
| 75 | +the post-period contains. Panel~A lists the three post-launch cohorts: the 2022 cohort (held from | |
| 76 | +July 2023 to June 2024) earned a composite spread of $+9.3$ points, the 2023 cohort $-4.0$, and the | |
| 77 | +2024 cohort (held from July 2025 to June 2026) $+38.4$. Two pre-launch cohorts, 2012 and 2015, | |
| 78 | +earned more than the 2022 cohort, and nine of the twelve pre-launch spreads are positive. The | |
| 79 | +post-period average therefore owes its size to a single cohort: dropping 2024 leaves a post-period | |
| 80 | +mean of $+2.6$ points, essentially the pre-period value of $+2.4$, whereas dropping either of the | |
| 81 | +other two cohorts raises the mean. Figure~\ref{fig:spread}, which plots the annual spreads, makes | |
| 82 | +the same point visually; the first version of this paper described the post-2022 cohorts as | |
| 83 | +``uniformly and substantially positive,'' which the figure does not support. | |
| 84 | + | |
| 80 | 85 | \begin{figure}[htbp]\centering |
| 81 | 86 | \includegraphics[width=0.9\textwidth]{fig3_annual_spread.png} |
| 82 | −\caption{\textbf{Annual AI-disclosure return spreads by cohort.} The figure plots the annual | |
| 83 | −high-minus-low (Q5$-$Q1) forward-return spread on the AI-disclosure composite, by 10-K fiscal (formation) | |
| 84 | −year. Spreads are small and of mixed sign through 2021, whereas the post-ChatGPT cohorts (shown in red) | |
| 85 | −are uniformly and substantially positive---showing that the regime change appears in every post-2022 | |
| 86 | −cohort taken on its own, not only in the period average.} | |
| 87 | +\caption{\textbf{Annual AI-language return spreads by cohort.} The figure plots the annual | |
| 88 | +high-minus-low (Q5$-$Q1) forward-return spread on the AI composite by formation year (the filing | |
| 89 | +year of the signal). Spreads are of mixed sign through 2021; among the post-ChatGPT cohorts (in | |
| 90 | +red) the 2022 spread is positive, the 2023 spread negative, and the 2024 spread, whose holding | |
| 91 | +period is July 2025--June 2026, far larger than any other. The post-period average of | |
| 92 | +Table~\ref{tab:break} is driven by the 2024 cohort.} | |
| 87 | 93 | \label{fig:spread} |
| 88 | 94 | \end{figure} |
| 89 | 95 | |
| 90 | −The same regime change is visible in two further lenses. Figure~\ref{fig:cum} plots the cumulative | |
| 91 | −value of one dollar invested in the equal-weighted, annually rebalanced, self-financing | |
| 92 | −high-minus-low portfolio: it drifts sideways-to-up for a decade and then inflects upward after the | |
| 93 | −dashed ChatGPT line. Figure~\ref{fig:fmyear} plots the year-by-year Fama--MacBeth slope on the AI | |
| 94 | −composite (with controls): it hovers near zero for the entire 2010s and then turns sharply positive, | |
| 95 | −peaking in the 2024 cohort. The latter figure also delivers an important nuance: the size-controlled | |
| 96 | −premium is largest in the most recent cohort, consistent with the AI \emph{infrastructure} | |
| 97 | −super-cycle of 2024--2025 (the build-out of data centers and accelerated compute). We return to this | |
| 98 | −concentration when discussing limitations. | |
| 96 | +Panel~B of Table~\ref{tab:postinf} pools the firm-years in the top and bottom quintiles of the three | |
| 97 | +post-launch cohorts and regresses the forward return on a top-quintile indicator with year dummies | |
| 98 | +and standard errors clustered by firm. The post-period spread is $+14.7$ points \tstat{2.18} on raw | |
| 99 | +returns but $+7.2$ points \tstat{2.21} on returns winsorized at the first and ninety-ninth | |
| 100 | +percentiles: half of the raw spread comes from a handful of extreme winners in the top quintile of | |
| 101 | +the 2024 cohort, among them Western Digital ($+969\%$), Micron ($+730\%$), and Seagate ($+624\%$), | |
| 102 | +the memory and storage manufacturers whose prices rose with AI-related demand in 2025--2026. | |
| 103 | +Restricting the pooled test to the 2022 and 2023 cohorts gives $+2.6$ points \tstat{0.46}, and the | |
| 104 | +difference between the post- and pre-period spreads in the pooled sample is $+12.1$ points | |
| 105 | +\tstat{1.79}. Panel~C turns to the monthly long--short series, which has 36 post-period | |
| 106 | +observations. The composite portfolio earned 7.5\% per year after July 2023 with an annualized | |
| 107 | +Sharpe ratio of 1.32 and a HAC $t$-statistic of 2.20, against 1.1\% per year and a Sharpe ratio | |
| 108 | +of 0.22 before; its FF6 alpha is $+5.2\%$ per year \tstat{1.72}. The monthly mean is about half | |
| 109 | +the annual spread because the monthly portfolio rebalances equal weights every month, which caps | |
| 110 | +the contribution of stocks that multiply in value within the year, whereas the annual buy-and-hold | |
| 111 | +spread lets them run. Adding the technology-sector factor, on which the post-period loading is 0.47 | |
| 112 | +\tstat{6.53}, reduces the alpha to $+1.9\%$ per year \tstat{0.86}. The monthly evidence thus | |
| 113 | +supports a post-2022 increase in the return to AI language that is statistically detectable, but | |
| 114 | +it is largely spanned by the technology sector's own outperformance over the same months, which | |
| 115 | +averaged 15.8\% per year in our equal-weighted sector factor. | |
| 116 | + | |
| 117 | +\input{tables/tab_postinference} | |
| 118 | + | |
| 119 | +Two further lenses show the same regime change and the same concentration. Figure~\ref{fig:cum} | |
| 120 | +plots the cumulative value of one dollar in the equal-weighted, annually rebalanced long--short | |
| 121 | +portfolio: it drifts sideways for a decade and rises after the dashed ChatGPT line, with most of | |
| 122 | +the rise in the last year. Figure~\ref{fig:fmyear} plots the year-by-year Fama--MacBeth slope on | |
| 123 | +the composite with controls: it fluctuates around zero through 2021, is positive in 2022 | |
| 124 | +($+2.9$ points per standard deviation), negative in 2023 ($-1.1$), and large in 2024 ($+14.3$). | |
| 125 | +With sector dummies (Table~\ref{tab:reviewrobust}, Panel~D) the 2024 slope falls to $+10.2$ and the | |
| 126 | +post-period average from $+5.5$ \tstat{2.00} to $+2.9$ \tstat{1.36}. | |
| 99 | 127 | |
| 100 | 128 | \begin{figure}[htbp]\centering |
| 101 | 129 | \includegraphics[width=0.86\textwidth]{fig2_cumulative_ls.png} |
| 102 | 130 | \caption{\textbf{Cumulative performance of the AI long--short portfolio.} The figure plots the |
| 103 | 131 | cumulative value of \$1 invested in the equal-weighted, annually rebalanced, self-financing |
| 104 | −high-minus-low AI-disclosure portfolio, shown for both the AI-opportunity composite and AI | |
| 105 | −disruption-risk signals. Both curves drift sideways-to-up for a decade and then inflect sharply upward | |
| 106 | −after the dashed ChatGPT line, visualizing the regime change as a kink in accumulated wealth.} | |
| 132 | +high-minus-low portfolio, for the AI composite and the AI disruption-risk signal. Both curves drift | |
| 133 | +sideways for a decade and rise after the dashed ChatGPT line, with most of the increase during the | |
| 134 | +holding period of the 2024 cohort.} | |
| 107 | 135 | \label{fig:cum} |
| 108 | 136 | \end{figure} |
| 109 | 137 | |
| 110 | 138 | \begin{figure}[htbp]\centering |
| 111 | 139 | \includegraphics[width=0.9\textwidth]{fig6_fm_byyear.png} |
| 112 | −\caption{\textbf{The AI premium over time: year-by-year Fama--MacBeth slopes.} The figure plots the | |
| 113 | −annual Fama--MacBeth slope on the AI-disclosure composite---the forward return earned per | |
| 114 | −cross-sectional standard deviation of AI disclosure---controlling for size, momentum, and volatility, | |
| 115 | −with error bars of $\pm1$ standard error. The slope hovers near zero throughout the 2010s and turns | |
| 116 | −sharply positive after ChatGPT, peaking in the 2024 cohort, consistent with the 2024--2025 | |
| 117 | −AI-infrastructure super-cycle.}\label{fig:fmyear} | |
| 140 | +\caption{\textbf{Year-by-year Fama--MacBeth slopes on the AI composite.} The figure plots the | |
| 141 | +annual cross-sectional slope on the composite---the forward return per cross-sectional standard | |
| 142 | +deviation---controlling for size, momentum, and volatility, with error bars of $\pm1$ standard | |
| 143 | +error (heteroskedasticity-robust, within year). The slope fluctuates around zero through 2021 and | |
| 144 | +is large only in the 2024 cohort.}\label{fig:fmyear} | |
| 118 | 145 | \end{figure} |
| 119 | 146 | |
| 120 | −Finally, Figure~\ref{fig:bin} confirms the pattern is not an artifact of a few influential | |
| 121 | −observations: the binned relation between the AI composite and forward returns is essentially flat in | |
| 122 | −the pre-ChatGPT sub-period and distinctly upward-sloping afterward, across the entire distribution of | |
| 123 | −AI disclosure rather than only at the extreme quintiles. | |
| 147 | +Figure~\ref{fig:bin} shows that, within the post-period, the relation is not confined to the | |
| 148 | +extreme quintiles: the binned relation between the composite and forward returns is flat before | |
| 149 | +ChatGPT and upward-sloping afterward across the distribution of the signal. The binned means are | |
| 150 | +averages over the three post-period cohorts, so the slope inherits the weight of the 2024 cohort. | |
| 124 | 151 | |
| 125 | 152 | \begin{figure}[htbp]\centering |
| 126 | 153 | \includegraphics[width=\textwidth]{fig5_binscatter.png} |
| 127 | −\caption{\textbf{Binned relation between AI disclosure and returns, by sub-period.} The figure shows a | |
| 128 | −binned scatter of the forward twelve-month return against the AI-disclosure composite, plotted | |
| 129 | −separately for the pre- and post-ChatGPT periods. Each point is a portfolio of firms within a bin of | |
| 130 | −the AI signal and the line is an OLS fit. The conditional relation is essentially flat before ChatGPT | |
| 131 | −and distinctly upward-sloping afterward, across the entire distribution of AI disclosure rather than | |
| 132 | −only at the extreme quintiles---confirming that the effect is not driven by a few influential | |
| 133 | −observations.}\label{fig:bin} | |
| 154 | +\caption{\textbf{Binned relation between AI language and returns, by sub-period.} Binned scatter of | |
| 155 | +the forward twelve-month return against the AI composite, separately for the pre- and post-ChatGPT | |
| 156 | +formation years. Each point is the mean within a bin of the signal and the line is an OLS fit. The | |
| 157 | +relation is flat before ChatGPT and upward-sloping afterward across the distribution of the signal; | |
| 158 | +the post-period bins average the 2022--2024 cohorts.}\label{fig:bin} | |
| 134 | 159 | \end{figure} |
| 135 | 160 | |
| 136 | −\subsection{The anatomy of the premium: size and sector} | |
| 137 | −Where in the cross-section does the post-2022 premium concentrate? Table~\ref{tab:doublesort} and | |
| 161 | +\subsection{The anatomy of the post-period spread: size and sector} | |
| 162 | +Where in the cross-section does the post-2022 spread concentrate? Table~\ref{tab:doublesort} and | |
| 138 | 163 | Figure~\ref{fig:double} report an AI~$\times$~size double sort. Before 2022 the AI gradient is flat |
| 139 | −within both size halves. After 2022 it is steep, and dramatically so among smaller firms: small, | |
| 140 | −high-AI firms earned a mean forward return of 34.6\%, versus 19.5\% for small, low-AI firms---a | |
| 141 | −15-point gap---while the corresponding gap among large firms is 7 points. The premium is thus | |
| 142 | −\emph{not} merely a mega-cap phenomenon (a point we reinforce in Section~\ref{sec:robustness}); if | |
| 143 | −anything it is strongest among the smaller, less-followed names, consistent with an attention-based | |
| 144 | −mechanism in which information diffuses more slowly into smaller stocks. | |
| 164 | +within both size halves. After 2022 it is steep, and markedly so among smaller firms: small, | |
| 165 | +high-AI firms earned a mean forward return of 34.6\%, against 19.5\% for small, low-AI firms, a | |
| 166 | +15-point gap, while the gap among large firms is 7 points. The post-period spread is thus not a | |
| 167 | +mega-cap phenomenon, a point reinforced in Section~\ref{sec:robustness}; it is strongest among the | |
| 168 | +smaller, less-followed index members, which is consistent with an attention-based mechanism but | |
| 169 | +also with the fact that the memory and storage manufacturers of the 2024 cohort were mid-sized | |
| 170 | +index members at formation. | |
| 145 | 171 | |
| 146 | 172 | \input{tables/tab_doublesort} |
| 147 | 173 | |
| 148 | 174 | \begin{figure}[htbp]\centering |
| 149 | 175 | \includegraphics[width=\textwidth]{fig9_double_sort.png} |
| 150 | −\caption{\textbf{AI disclosure $\times$ firm-size double sort.} The figure plots the mean forward | |
| 151 | −twelve-month return by AI tercile within small and large firms, separately for the pre- and | |
| 152 | −post-ChatGPT periods. The post-2022 AI gradient is steep in both size groups but dramatically steeper | |
| 153 | −among small firms, where high-AI firms outperform low-AI firms by roughly 15 percentage points, | |
| 154 | −consistent with an attention-based mechanism that operates most strongly in less-followed | |
| 155 | −stocks.}\label{fig:double} | |
| 176 | +\caption{\textbf{AI language $\times$ firm-size double sort.} Mean forward twelve-month return by AI | |
| 177 | +tercile within small and large firms, separately for the pre- and post-ChatGPT formation years. The | |
| 178 | +post-2022 AI gradient is steeper among small firms, where high-AI firms outperform low-AI firms by | |
| 179 | +about 15 percentage points; the post-period cells average three cohorts.}\label{fig:double} | |
| 156 | 180 | \end{figure} |
| 157 | 181 | |
| 158 | 182 | \subsection{Economic significance} |
| 159 | −The statistical break is matched by an economic one, and it is worth dwelling on the magnitudes | |
| 160 | −because they are unusual. The Sharpe ratio of the equal-weighted AI-composite long--short | |
| 161 | −portfolio---a direct gauge of return earned per unit of risk borne---rises from 0.15 in the | |
| 162 | −pre-ChatGPT decade to 1.33 afterward; for the AI-disruption-risk spread it rises from 0.33 to 1.15. To | |
| 163 | −put the post-2022 figure in perspective, the broad U.S.\ equity market has historically delivered a | |
| 164 | −Sharpe ratio in the neighborhood of 0.4, so a value above one for a single-characteristic, | |
| 165 | −self-financing strategy is exceptional, and its emergence precisely at the ChatGPT boundary---rather | |
| 166 | −than gradually, as a slowly learned risk premium would---is hard to reconcile with a constant risk | |
| 167 | −premium. The point estimates in the quintile sorts are equally vivid: a 14-point annual spread | |
| 168 | −between the top and bottom AI quintiles is roughly three times the unconditional equity risk premium | |
| 169 | −and an order of magnitude larger than the pre-2022 spread. Even acknowledging that a portion of this | |
| 170 | −reflects the higher realized volatility of AI-exposed firms (documented in Section~\ref{sec:robustness}) | |
| 171 | −and the broad technology rally, the magnitude of the post-2022 re-rating is among the largest | |
| 172 | −single-theme cross-sectional effects in the recent asset-pricing record. | |
| 183 | +The Sharpe ratio of the equal-weighted composite long--short portfolio rises from 0.22 in the | |
| 184 | +pre-ChatGPT period to 1.32 afterward (Table~\ref{tab:postinf}, Panel~C); for the disruption-risk | |
| 185 | +spread it rises from 0.41 to 1.09. The broad U.S.\ equity market has historically delivered a | |
| 186 | +Sharpe ratio in the neighbourhood of 0.4, so a value above one for a single-characteristic | |
| 187 | +strategy is large. Three qualifications keep the magnitude in proportion. First, the ratio is | |
| 188 | +estimated on 36 months and its standard error is roughly $1/\sqrt{3}\approx0.58$ in annual units, | |
| 189 | +so it is distinguishable from the pre-period value but not precisely measured. Second, the | |
| 190 | +portfolio's post-period return is largely explained by its technology-sector loading, so the | |
| 191 | +Sharpe ratio is in part that of a sector bet during a sector boom. Third, the annual spreads that | |
| 192 | +produce the ``$+14.6$ points per year'' headline are dominated by one cohort and by extreme | |
| 193 | +winners within it; the winsorized pooled spread of $+7.2$ points is the better summary of what a | |
| 194 | +typical top-quintile firm earned over a typical bottom-quintile firm. The first version of this | |
| 195 | +paper described the post-2022 re-rating as ``among the largest single-theme cross-sectional effects | |
| 196 | +in the recent asset-pricing record''; the evidence supports a weaker statement, namely that AI | |
| 197 | +language, which was unrelated to returns for a decade, became strongly related to them in the | |
| 198 | +2024 cohort and modestly related in the 2022 cohort. | |
modified
paper/sections/robustness.tex
+171 −91
@@ -3,132 +3,212 @@ | ||
| 3 | 3 | \label{sec:robustness} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −The structural break is economically large---and large effects invite scrutiny, since they are also | |
| 7 | −the ones most likely to be artifacts. This section therefore asks how much we should believe it, | |
| 8 | −confronting the result with the alternative explanations a skeptical reader would raise: that the | |
| 9 | −break is mechanical, that it is a mega-cap rally in disguise, that it is sensitive to how the signal | |
| 10 | −is built, or that it merely tracks the technology sector. We subject it in turn to a placebo across | |
| 11 | −non-AI factors, an event study, a difference-in-differences design, and a battery of construction and | |
| 12 | −universe robustness checks. The result withstands each. | |
| 13 | − | |
| 14 | −\subsection{Placebo: is the effect specific to AI? (H3)} | |
| 15 | −If the post-2022 spread were a mechanical artifact of our pipeline---or a generic ``high-disclosure | |
| 16 | −firms did well'' phenomenon---it should appear for any semantic factor. Table~\ref{tab:placebo} and | |
| 17 | −Figure~\ref{fig:placebo} re-run the entire sub-period and interaction design on all eight factors. The | |
| 18 | −result strongly supports AI-specificity. The three AI factors show large positive post-2022 spreads | |
| 19 | −($+13.6$ to $+14.3$ points). Macro-risk language shows essentially no spread ($-0.5$, $t=-0.1$). And, | |
| 20 | −strikingly, ESG-commitment and climate-risk disclosure earn \emph{negative} post-2022 spreads | |
| 21 | −($-8.8$ and $-5.0$ points, both significant)---high-ESG firms \emph{underperformed} after 2022, in | |
| 22 | −line with the post-2021 reversal in the sustainable-investing literature \citep{pastor2022dissecting}. | |
| 23 | −The one non-AI factor that does show a large positive post-2022 spread is cybersecurity ($+13.5$); we | |
| 24 | −read this not as a violation but as confirmation, since cybersecurity disclosure is tightly bundled | |
| 25 | −with technology exposure and is itself increasingly AI-related. The cleanest contrast---AI rewarded, | |
| 26 | −ESG and climate penalized---makes a powerful case that the post-ChatGPT re-rating reflects a thematic | |
| 27 | −rotation \emph{toward AI}, not a generic disclosure effect. | |
| 6 | +The post-2022 change is large on average and, as Section~\ref{subsec:break} showed, concentrated. | |
| 7 | +This section confronts it with the alternative explanations a sceptical reader would raise: that it | |
| 8 | +is mechanical, that it is a mega-cap rally in disguise, that it is sensitive to how the signal is | |
| 9 | +built or to which filings were scored, that it reflects the composition of a current-membership | |
| 10 | +universe, that it merely tracks the technology sector, and that the inference behind the event | |
| 11 | +study and the difference-in-differences estimates is overstated. Some of these explanations are | |
| 12 | +rejected and some are not. | |
| 13 | + | |
| 14 | +\subsection{Placebo: is the change specific to AI? (H3)} | |
| 15 | +If the post-2022 spread were a mechanical artefact of the pipeline, or a generic ``high-disclosure | |
| 16 | +firms did well'' phenomenon, it should appear for any semantic factor. Table~\ref{tab:placebo} and | |
| 17 | +Figure~\ref{fig:placebo} re-run the sub-period and interaction design on all eight factors. The | |
| 18 | +three AI factors show post-2022 spreads of $+13.6$ to $+14.3$ points. Macro-risk language shows no | |
| 19 | +spread ($-0.5$). ESG-commitment and climate-risk language earn negative post-2022 spreads ($-8.8$ | |
| 20 | +and $-5.0$ points), in line with the post-2021 reversal in the sustainable-investing literature | |
| 21 | +\citep{pastor2022dissecting}. Two non-AI factors, however, also rise: cybersecurity ($+13.5$), | |
| 22 | +which is bundled with technology exposure and whose anchor itself mentions AI-powered threat | |
| 23 | +detection, and automation/labour ($+7.2$), whose anchor refers to AI and robotics. The placebo | |
| 24 | +therefore rules out a generic disclosure effect and a pipeline artefact, and it shows a rotation | |
| 25 | +away from sustainability language, but it does not isolate AI from the broader technology theme | |
| 26 | +with which AI, cybersecurity, and automation language travel. In the interaction regressions none | |
| 27 | +of the eight coefficients other than AI infrastructure is significant, and the three post-period | |
| 28 | +annual spreads do not support finer distinctions. | |
| 28 | 29 | |
| 29 | 30 | \input{tables/tab_placebo} |
| 30 | 31 | |
| 31 | 32 | \begin{figure}[htbp]\centering |
| 32 | 33 | \includegraphics[width=0.92\textwidth]{fig7_placebo.png} |
| 33 | −\caption{\textbf{Placebo test across semantic factors.} The figure plots the post-ChatGPT | |
| 34 | −high-minus-low (Q5$-$Q1) return spread for each of the eight semantic factors. The AI-related factors | |
| 35 | −(in red) cluster at the top with large positive spreads, while ESG-commitment and climate-risk | |
| 36 | −disclosure earn \emph{negative} spreads and macro-risk disclosure earns essentially none. The contrast | |
| 37 | −shows the post-2022 re-rating is a thematic rotation toward AI, not a generic disclosure | |
| 38 | −effect.}\label{fig:placebo} | |
| 34 | +\caption{\textbf{Placebo test across semantic factors.} Post-ChatGPT high-minus-low (Q5$-$Q1) | |
| 35 | +return spread for each of the eight semantic factors. The AI-related factors (in red) and | |
| 36 | +cybersecurity cluster at the top; automation/labour language also earns a positive spread; | |
| 37 | +ESG-commitment and climate-risk language earn negative spreads, and macro-risk language none. The | |
| 38 | +contrast rules out a generic disclosure effect but not a broader technology theme.}\label{fig:placebo} | |
| 39 | 39 | \end{figure} |
| 40 | 40 | |
| 41 | 41 | \subsection{Event study around ChatGPT} |
| 42 | −The portfolio results use annual formation and forward returns; the event study provides a | |
| 43 | −higher-frequency, cleanly identified complement. Table~\ref{tab:event} and Figure~\ref{fig:event} | |
| 44 | −report market-model cumulative abnormal returns by pre-event AI tercile. The ordering is monotone at | |
| 45 | −every horizon and widens steadily over time. The High-minus-Low CAR difference is $+2.9$ points at 60 | |
| 46 | −trading days \tstat{1.77}, $+10.1$ points at one year \tstat{1.97}, and $+14.6$ points at eighteen | |
| 47 | −months \tstat{1.89}. Because these are abnormal returns---purged of each firm's market beta---the | |
| 48 | −spread cannot be attributed to high-AI firms simply being higher-beta in a recovering market. A | |
| 49 | −cross-sectional regression of one-year CAR on pre-event AI exposure yields $+3.1$ points per standard | |
| 50 | −deviation \tstat{1.39}; adding sector fixed effects halves it to $+2.1$ points \tstat{0.99}, again | |
| 51 | −locating much---but not all---of the effect in a sector channel. Figure~\ref{fig:eventbin} shows the | |
| 52 | −relation is smooth across the exposure distribution, not driven by a few outliers. | |
| 42 | +The portfolio results use annual formation and forward returns; the event study provides a daily, | |
| 43 | +cleanly dated complement. Table~\ref{tab:event} and Figure~\ref{fig:event} report market-model | |
| 44 | +cumulative abnormal returns by pre-event AI tercile. The ordering is monotone at every horizon and | |
| 45 | +widens over time. The High-minus-Low CAR difference is $+2.9$ points at 60 trading days, $+10.1$ | |
| 46 | +points at one year, and $+14.6$ points at eighteen months; the Welch $t$-statistics of the first | |
| 47 | +version, 1.77, 1.97, and 1.89, treat the 160 High and 162 Low firms as independent. Because | |
| 48 | +abnormal returns are purged of market beta, the spread is not a difference in beta exposure. A | |
| 49 | +cross-sectional regression of one-year CAR on pre-event exposure yields $+3.1$ points per standard | |
| 50 | +deviation \tstat{1.39}; adding sector fixed effects reduces it to $+2.1$ points \tstat{0.99}, | |
| 51 | +again locating much of the effect in a sector channel. Figure~\ref{fig:eventbin} shows that the | |
| 52 | +relation is smooth across the exposure distribution. | |
| 53 | 53 | |
| 54 | 54 | \input{tables/tab_event} |
| 55 | 55 | |
| 56 | +Table~\ref{tab:eventcda} re-examines the inference. The average pairwise correlation of | |
| 57 | +estimation-window residuals across the 322 High and Low firms is 0.039; for a one-sample test on | |
| 58 | +$n$ firms, \citet{kolari2010} show that the independence-based $t$-statistic overstates the true | |
| 59 | +one by the factor $\sqrt{(1+(n-1)\bar\rho)/(1-\bar\rho)}$, which here is almost four. The portfolio | |
| 60 | +statistic of equation~\eqref{eq:cda} avoids the problem by treating the daily High-minus-Low | |
| 61 | +abnormal return as one series. With the estimation-window standard deviation it gives $t=1.35$ at | |
| 62 | +60 days, $1.45$ at six months, $2.28$ at one year, and $2.63$ at eighteen months; with the | |
| 63 | +event-window standard deviation, $1.54$, $1.65$, $2.60$, and $2.99$. The one-year and | |
| 64 | +eighteen-month differences are therefore significant under tests that allow for dependence, | |
| 65 | +whereas the sixty-day difference---the horizon at which an attention shock should be most | |
| 66 | +visible---is not. The pattern of a difference that accumulates over a year and a half, rather than | |
| 67 | +appearing within weeks of the launch as in \citet{eisfeldt2023generative}, is more naturally read | |
| 68 | +as the gradual sector-level repricing that the annual results also display than as a discrete | |
| 69 | +attention shock, and at such horizons the market-model benchmark is coarse \citep{fama1998}. | |
| 70 | + | |
| 71 | +\input{tables/tab_event_cda} | |
| 72 | + | |
| 56 | 73 | \begin{figure}[htbp]\centering |
| 57 | 74 | \includegraphics[width=\textwidth]{fig8_event_car.png} |
| 58 | 75 | \caption{\textbf{Cumulative abnormal returns around ChatGPT.} The left panel plots the mean |
| 59 | −market-model cumulative abnormal return (CAR) by pre-event AI-disclosure tercile over the event window; | |
| 60 | −the right panel plots the High$-$Low CAR spread. The tercile ordering is monotone at every horizon and | |
| 61 | −widens steadily, reaching roughly $+10$ percentage points one year after the launch. Because abnormal | |
| 62 | −returns are purged of market beta, the spread reflects a cross-sectional response to the AI-narrative | |
| 63 | −shock.}\label{fig:event} | |
| 76 | +market-model cumulative abnormal return (CAR) by pre-event AI tercile over the event window; the | |
| 77 | +right panel plots the High$-$Low CAR spread. The tercile ordering is monotone and the spread | |
| 78 | +widens gradually, reaching about $+10$ percentage points one year after the launch. All terciles | |
| 79 | +drift negative because the market model was estimated in the 2022 bear market; only differences | |
| 80 | +between terciles are interpretable.}\label{fig:event} | |
| 64 | 81 | \end{figure} |
| 65 | 82 | |
| 66 | 83 | \begin{figure}[htbp]\centering |
| 67 | 84 | \includegraphics[width=0.66\textwidth]{fig13_event_binscatter.png} |
| 68 | −\caption{\textbf{One-year abnormal return versus pre-event AI exposure.} The figure plots a binned | |
| 69 | −scatter, with fitted line, of each firm's one-year cumulative abnormal return after ChatGPT against its | |
| 70 | −pre-event AI exposure (measured from the FY2021 10-K). The relation is positive and smooth across the | |
| 71 | −exposure distribution, confirming that the event-study spread is not driven by a handful of | |
| 72 | −outliers.}\label{fig:eventbin} | |
| 85 | +\caption{\textbf{One-year abnormal return versus pre-event AI exposure.} Binned scatter, with | |
| 86 | +fitted line, of each firm's one-year cumulative abnormal return after ChatGPT against its pre-event | |
| 87 | +AI exposure (filings of calendar 2021). The relation is positive and smooth across the exposure | |
| 88 | +distribution.}\label{fig:eventbin} | |
| 73 | 89 | \end{figure} |
| 74 | 90 | |
| 75 | 91 | \subsection{Difference-in-differences and the cross-sectional nature of the effect (H4)} |
| 76 | −Table~\ref{tab:did} reports difference-in-differences estimates in which treatment is the firm's | |
| 77 | −pre-determined (2019--2021) AI exposure interacted with the post-2022 indicator, within firm and year | |
| 78 | −fixed effects. The continuous-exposure DiD coefficient is $+2.7$ percentage points per standard | |
| 79 | −deviation \tstat{1.51}; the binary version is $+1.7$ points \tstat{0.78}. These are positive and | |
| 80 | −economically meaningful but weaker than the cross-sectional estimates---exactly the pattern predicted | |
| 81 | −by H4. Once firm fixed effects absorb the permanent component of AI exposure, only the residual | |
| 82 | −within-firm variation identifies the effect, and that variation is small. The event-time profile in | |
| 83 | −Figure~\ref{fig:eventtime} reinforces this reading: the return premium on a firm's \emph{fixed} | |
| 84 | −pre-event AI exposure is flat and near zero through 2021 and jumps after 2022, peaking in 2024. The | |
| 85 | −market did not reward firms for adding AI sentences to their filings; it repriced the firms whose | |
| 86 | −pre-existing, persistent exposure made them AI winners once the narrative turned. | |
| 92 | +Table~\ref{tab:did} reports the difference-in-differences estimates of equation~\eqref{eq:did}, in | |
| 93 | +which treatment is the firm's pre-determined (2019--2021) exposure interacted with the post-2022 | |
| 94 | +indicator, within firm and year fixed effects. The continuous-exposure coefficient is $+2.7$ | |
| 95 | +percentage points per standard deviation \tstat{1.51}; the binary version is $+1.7$ points | |
| 96 | +\tstat{0.78}. Both are positive and neither is significant at conventional levels. The | |
| 97 | +disappearance of the effect under firm fixed effects in Table~\ref{tab:panel} and the weakness of | |
| 98 | +the DiD estimates say the same thing: once the permanent component of AI exposure is absorbed, | |
| 99 | +little remains to be priced. | |
| 87 | 100 | |
| 88 | 101 | \input{tables/tab_did} |
| 89 | 102 | |
| 103 | +The event-time profile of equation~\eqref{eq:evt}, in Figure~\ref{fig:eventtime}, is less | |
| 104 | +favourable to the regime interpretation than the first version of this paper reported. With | |
| 105 | +standard errors clustered by firm, the premium on fixed pre-launch exposure is $+3.9$ points per | |
| 106 | +standard deviation in 2015 \tstat{2.8}, $+3.0$ in 2016 \tstat{2.3}, and $+2.3$ in 2018 | |
| 107 | +\tstat{1.5}, falls to zero or below in 2017, 2019, and 2020, and is $+3.4$ in 2022 \tstat{2.2}, | |
| 108 | +$+0.5$ in 2023 \tstat{0.3}, and $+6.8$ in 2024 \tstat{3.0}. The 2015 premium is as large as the | |
| 109 | +2022 premium; only 2024 stands apart. The parallel-trends assumption of the DiD design is thus not | |
| 110 | +satisfied in the strict sense, and the figure is better read as showing that firms with persistently | |
| 111 | +AI-intensive filings earned a premium in several years scattered across the sample, with an | |
| 112 | +unusually large one in the last. The first version's confidence bands, computed with year-clustered | |
| 113 | +errors, were spuriously narrow (standard errors of 0.1--0.4 points instead of 1.0--2.3), and the | |
| 114 | +statement that the profile was ``flat and near zero through 2021'' is withdrawn. | |
| 115 | + | |
| 90 | 116 | \begin{figure}[htbp]\centering |
| 91 | 117 | \includegraphics[width=0.82\textwidth]{fig11_eventtime.png} |
| 92 | −\caption{\textbf{Event-time profile of the AI premium.} The figure plots the estimated return premium | |
| 93 | −on firms' pre-determined (2019--2021) AI exposure by year, with 95\% confidence intervals, measured | |
| 94 | −relative to the 2021 base year and within firm and year fixed effects. The premium is flat and near | |
| 95 | −zero through 2021 and activates after ChatGPT, peaking in 2024---evidence that the market repriced | |
| 96 | −persistent pre-existing exposure rather than rewarding incremental wording.} | |
| 118 | +\caption{\textbf{Event-time profile of the premium on pre-determined AI exposure.} Estimated return | |
| 119 | +premium on firms' pre-determined (2019--2021) AI exposure by formation year, relative to 2021, | |
| 120 | +with 95\% confidence intervals from standard errors clustered by firm (equation~\eqref{eq:evt}). The | |
| 121 | +premium is significantly positive in 2015, 2016, 2022, and 2024, and largest in 2024; the pre-launch | |
| 122 | +profile is not flat.} | |
| 97 | 123 | \label{fig:eventtime} |
| 98 | 124 | \end{figure} |
| 99 | 125 | |
| 100 | 126 | \subsection{Construction, horizon, and universe robustness} |
| 101 | −Table~\ref{tab:robust} collects the remaining checks. The post-2022 spread is essentially unchanged | |
| 102 | −whether the signal is the section-weighted mean (base, $+14.6$), the simple mean ($+13.4$), or the | |
| 103 | −top-5\% tail ($+14.9$). It holds at six-, twelve-, and twenty-four-month horizons (growing with the | |
| 104 | −horizon, as a persistent premium should). It survives replacing the three AI signals with their first | |
| 105 | −principal component---which alone explains 86.8\% of their common variance, confirming the ``single | |
| 106 | −latent AI construct'' interpretation---yielding a post-2022 PC1 spread of $+13.4$ points \tstat{1.97}. | |
| 107 | −Most importantly for the mega-cap concern, the spread is $+14.1$ points \tstat{1.92} when the | |
| 108 | −Magnificent~7 are excluded and $+14.5$ points \tstat{1.93} when the ten largest firms are dropped | |
| 109 | −(Figure~\ref{fig:mag7}). The AI re-rating is a broad-based feature of the index, not the mechanical | |
| 110 | −footprint of a handful of trillion-dollar winners. Finally, the sector-neutral composite---which | |
| 111 | −compares firms only to others \emph{within} their GICS sector---produces a much smaller and | |
| 112 | −insignificant post-2022 spread ($+3.8$ points, $t=0.84$). This is not a failure of the result but a | |
| 113 | −sharpening of it: a large share of the AI premium operates through a \emph{between-sector} channel, as | |
| 114 | −the market re-rated AI-exposed sectors (technology above all) relative to others, with a smaller | |
| 115 | −within-sector residual. | |
| 127 | +Table~\ref{tab:robust} collects the construction checks. The post-2022 spread is essentially | |
| 128 | +unchanged whether the signal is the section-weighted mean (base, $+14.6$), the simple mean | |
| 129 | +($+13.4$), or the top-5\% tail ($+14.9$); for 8-K filings the first two coincide, so this check | |
| 130 | +speaks mainly to the 10-Q filings of the 84 firms. The spread survives replacing the three AI | |
| 131 | +signals with their first principal component, which explains 86.8\% of their common variance | |
| 132 | +(post-2022 spread $+13.4$). It is $+14.1$ points when the Magnificent~7 are excluded and $+14.5$ | |
| 133 | +when the ten largest firms by market capitalization are dropped (Figure~\ref{fig:mag7}): the | |
| 134 | +post-period spread is not the footprint of a handful of trillion-dollar winners, which is | |
| 135 | +unsurprising given that its largest contributors are mid-sized memory and storage firms. Two checks | |
| 136 | +are less favourable. The six-month forward-return spread in the post-period is $+1.1$ points, | |
| 137 | +computed on the 2022 and 2023 cohorts only, so the post-2022 relation is not visible at a | |
| 138 | +six-month horizon in the cohorts that can be evaluated. And the sector-neutral composite, which | |
| 139 | +compares firms only to others within their GICS sector, produces a post-2022 spread of $+3.8$ | |
| 140 | +points \tstat{0.84}, a quarter of the baseline: most of the spread operates between sectors. | |
| 116 | 141 | |
| 117 | 142 | \input{tables/tab_robust} |
| 118 | 143 | |
| 119 | 144 | \begin{figure}[htbp]\centering |
| 120 | 145 | \includegraphics[width=0.78\textwidth]{fig10_mag7.png} |
| 121 | −\caption{\textbf{The AI spread is not a mega-cap artifact.} The figure compares the post-2022 | |
| 122 | −composite Q5$-$Q1 return spread for the full index against the spread computed after excluding the | |
| 123 | −Magnificent~7 and after excluding the ten largest firms by market capitalization. The spread is | |
| 124 | −essentially unchanged in both cases, showing that the AI re-rating is a broad-based feature of the | |
| 125 | −index rather than the footprint of a handful of trillion-dollar winners.}\label{fig:mag7} | |
| 146 | +\caption{\textbf{The post-2022 spread is not a mega-cap artefact.} Post-2022 composite Q5$-$Q1 | |
| 147 | +return spread for the full index, after excluding the Magnificent~7, and after excluding the ten | |
| 148 | +largest firms by market capitalization, together with the pre-period spread excluding the | |
| 149 | +Magnificent~7. The spread is essentially unchanged by the exclusions.}\label{fig:mag7} | |
| 126 | 150 | \end{figure} |
| 127 | 151 | |
| 152 | +\subsection{Composition of the corpus: the 8-K-only signal} | |
| 153 | +\label{subsec:corpus} | |
| 154 | +Because the firm-year score of equation~\eqref{eq:annual} weights filings equally, and because the | |
| 155 | +10-Q filings that were scored belong to 84 alphabetically contiguous firms and score about 0.07 | |
| 156 | +higher on the AI-adoption anchor than 8-K filings, the baseline signal partly sorts firms on whether | |
| 157 | +their quarterly reports happened to be parsed. The share of firm-years containing a scored 10-Q | |
| 158 | +rises from 3\% in the bottom AI quintile to 30\% in the top quintile, and within a formation year a | |
| 159 | +scored 10-Q raises the composite $z$-score by 0.67 standard deviations \tstat{6.7}. This is a | |
| 160 | +measurement artefact, not an economic one. Panel~A of Table~\ref{tab:reviewrobust} rebuilds the | |
| 161 | +composite from 8-K filings only, using the filing-level scores exported from the database | |
| 162 | +(\texttt{data/processed/filing\_type\_scores.parquet}). The 8-K-only composite has a correlation of | |
| 163 | +0.95 with the baseline, a scored 10-Q no longer predicts it ($-0.10$ standard deviations, | |
| 164 | +$t=-1.1$), and its spreads are $+1.6$ points before 2022 and $+16.3$ after \tstat{2.10}, with | |
| 165 | +cohort values of $+6.3$, $+1.3$, and $+41.3$; its monthly long--short earns a post-period Sharpe | |
| 166 | +ratio of 1.42 \tstat{2.25}. Dropping the 84 firms altogether gives $+0.6$ before and $+15.0$ | |
| 167 | +after. The post-2022 change is therefore not an artefact of the partially parsed 10-Q sample, | |
| 168 | +and the paper's results should be read as results about the language of current reports. That | |
| 169 | +the 2023 cohort turns from $-4.0$ to $+1.3$ when the 10-Q firms are removed from the signal shows, | |
| 170 | +however, that cohort-level spreads are sensitive to measurement details of this kind. | |
| 171 | + | |
| 172 | +\input{tables/tab_review_robust} | |
| 173 | + | |
| 174 | +\subsection{Entrants and survivorship} | |
| 175 | +\label{subsec:entrants} | |
| 176 | +Panel~B of Table~\ref{tab:reviewrobust} addresses the current-membership universe. Firms that | |
| 177 | +joined the index after 2010 and have no price history before July 2009 earn higher average returns | |
| 178 | +than seasoned firms (they were selected into the index partly because of those returns), but they | |
| 179 | +are spread evenly across the AI quintiles (11--12\% of each), so they do not generate the | |
| 180 | +cross-sectional pattern. Among the 416 seasoned firms the composite spread is $+1.0$ point before | |
| 181 | +2022 and $+17.3$ after \tstat{2.36}, with cohort values of $+9.1$, $+1.4$, and $+41.3$; among | |
| 182 | +firm-years with at least 36 months of price history at formation it is $+2.8$ and $+14.9$. The | |
| 183 | +check does not address the firms that left the index before 2026, for which we have no data; the | |
| 184 | +level of returns is biased upward by their absence, and a firm that disclosed heavily on AI and | |
| 185 | +subsequently failed is missing from the bottom of the return distribution. | |
| 186 | + | |
| 187 | +\subsection{Definition of the break} | |
| 188 | +Panel~C of Table~\ref{tab:reviewrobust} moves the 2021 cohort, whose holding period straddles the | |
| 189 | +launch. Ending the pre-period in 2020 gives a pre-period spread of $+2.0$ points \tstat{1.17}; | |
| 190 | +starting the post-period in 2021 gives $+12.7$ points over four cohorts, of which the first three | |
| 191 | +average $+4.1$. The conclusion that the post-period average depends on the 2024 cohort is | |
| 192 | +unaffected by where the line is drawn. | |
| 193 | + | |
| 194 | +\subsection{Sector controls and the technology factor} | |
| 195 | +\label{subsec:sector} | |
| 196 | +Panel~D of Table~\ref{tab:reviewrobust} and Panel~C of Table~\ref{tab:postinf} address the concern | |
| 197 | +that AI language proxies for the technology sector. In annual cross-sectional regressions with | |
| 198 | +size, momentum, and volatility controls, the post-period slope on the composite is $+5.5$ points | |
| 199 | +per standard deviation \tstat{2.00}; with GICS-sector dummies it is $+2.9$ \tstat{1.36}, and the | |
| 200 | +2024 slope falls from $+14.3$ to $+10.2$. In pooled regressions of the winsorized forward return | |
| 201 | +with firm-clustered errors, year fixed effects give $+2.9$ \tstat{2.76} and sector-by-year fixed | |
| 202 | +effects $+1.3$ \tstat{1.22}. In the monthly series the long--short loads 0.47 on the | |
| 203 | +technology-sector factor after 2022 and its FF6 alpha falls from $+5.2\%$ to $+1.9\%$ per year | |
| 204 | +\tstat{0.86} when the factor is added; the pre-period FF6 alpha with the sector factor is | |
| 205 | +$-0.4\%$. A within-sector premium on AI language after 2022 therefore exists in point estimate but | |
| 206 | +is not statistically distinguishable from zero in any of these specifications; the statistically | |
| 207 | +detectable part of the post-2022 change is the between-sector part. | |
| 208 | + | |
| 128 | 209 | \subsection{An alternative performance outcome: risk} |
| 129 | −Performance is not only about mean returns. We also relate AI disclosure to subsequent realized | |
| 130 | −volatility. High-AI firms exhibit modestly higher forward volatility, and the gap widens after 2022 (a | |
| 131 | −Q5$-$Q1 difference of about 2.9 annualized volatility points, $t=3.1$). The post-2022 AI premium | |
| 132 | −therefore came bundled with somewhat higher risk---part, though by no means all, of the elevated | |
| 133 | −returns is compensation for the greater volatility of AI-exposed firms during a period of rapid | |
| 134 | −technological repricing. | |
| 210 | +Performance is not only about mean returns. High-AI firms exhibit modestly higher forward realized | |
| 211 | +volatility, and the gap widens after 2022 (a Q5$-$Q1 difference of about 2.9 annualized volatility | |
| 212 | +points, $t=3.1$, against 2.0 points before). Part of the post-2022 return differential is | |
| 213 | +compensation for the greater volatility of AI-exposed firms during a period of rapid technological | |
| 214 | +repricing. | |
deleted
paper/tables/regression.tex
+0 −37
@@ -1,37 +0,0 @@ | ||
| 1 | −% ============================================================================ | |
| 2 | −% Table: Regression Results | |
| 3 | −% ============================================================================ | |
| 4 | −\begin{table}[htbp] | |
| 5 | − \centering | |
| 6 | − \begin{threeparttable} | |
| 7 | − \caption{Baseline Regression Results} | |
| 8 | − \label{tab:regression} | |
| 9 | − \begin{tabular}{@{}lcccc@{}} | |
| 10 | − \toprule | |
| 11 | − & (1) & (2) & (3) & (4) \\ | |
| 12 | − \midrule | |
| 13 | − $X_{i,t}$ & 0.245$^{***}$ & 0.198$^{***}$ & 0.183$^{***}$ & 0.172$^{***}$ \\ | |
| 14 | − & (0.042) & (0.038) & (0.035) & (0.033) \\[6pt] | |
| 15 | − Size & & & $-$0.032$^{**}$ & $-$0.028$^{**}$ \\ | |
| 16 | − & & & (0.014) & (0.013) \\[6pt] | |
| 17 | − Book-to-Market & & & 0.051$^{***}$ & 0.047$^{***}$ \\ | |
| 18 | − & & & (0.018) & (0.017) \\[6pt] | |
| 19 | − Leverage & & & & $-$0.089$^{**}$ \\ | |
| 20 | − & & & & (0.041) \\[6pt] | |
| 21 | − ROA & & & & 0.015$^{*}$ \\ | |
| 22 | − & & & & (0.008) \\[6pt] | |
| 23 | − \midrule | |
| 24 | − Firm FE & No & Yes & Yes & Yes \\ | |
| 25 | − Time FE & No & No & Yes & Yes \\ | |
| 26 | − Controls & No & No & Yes & Yes \\[3pt] | |
| 27 | − Observations & 125{,}400 & 125{,}400 & 125{,}400 & 125{,}400 \\ | |
| 28 | − $R^2$ & 0.032 & 0.148 & 0.215 & 0.228 \\ | |
| 29 | − Adjusted $R^2$ & 0.031 & 0.112 & 0.178 & 0.190 \\ | |
| 30 | − \bottomrule | |
| 31 | − \end{tabular} | |
| 32 | − \begin{tablenotes}[flushleft] | |
| 33 | − \footnotesize | |
| 34 | − \item \textit{Notes:} This table reports OLS estimates of Equation~\eqref{eq:baseline}. The dependent variable is $y_{i,t}$. $X_{i,t}$ is the main explanatory variable. Control variables include firm size, book-to-market ratio, leverage, and return on assets. Standard errors clustered at the firm level are reported in parentheses. $^{***}$, $^{**}$, and $^{*}$ denote statistical significance at the 1\%, 5\%, and 10\% levels, respectively. | |
| 35 | − \end{tablenotes} | |
| 36 | − \end{threeparttable} | |
| 37 | −\end{table} | |
deleted
paper/tables/summary_stats.tex
+0 −29
@@ -1,29 +0,0 @@ | ||
| 1 | −% ============================================================================ | |
| 2 | −% Table: Summary Statistics | |
| 3 | −% ============================================================================ | |
| 4 | −\begin{table}[htbp] | |
| 5 | − \centering | |
| 6 | − \begin{threeparttable} | |
| 7 | − \caption{Summary Statistics} | |
| 8 | − \label{tab:summary_stats} | |
| 9 | − \begin{tabular}{@{}lcccccc@{}} | |
| 10 | − \toprule | |
| 11 | − Variable & $N$ & Mean & Std.\ Dev. & $p_{25}$ & Median & $p_{75}$ \\ | |
| 12 | − \midrule | |
| 13 | − \multicolumn{7}{@{}l}{\textit{Panel A: Dependent Variables}} \\[3pt] | |
| 14 | − $r_{i,t}$ (\%) & 125{,}400 & 0.82 & 4.35 & $-$1.92 & 0.65 & 3.48 \\ | |
| 15 | − $\sigma_{i,t}$ (\%) & 125{,}400 & 2.14 & 1.87 & 0.98 & 1.65 & 2.78 \\[6pt] | |
| 16 | − \multicolumn{7}{@{}l}{\textit{Panel B: Explanatory Variables}} \\[3pt] | |
| 17 | − $X_{i,t}$ & 125{,}400 & 0.45 & 0.32 & 0.21 & 0.40 & 0.65 \\ | |
| 18 | − Size (log) & 125{,}400 & 7.23 & 1.85 & 5.92 & 7.15 & 8.47 \\ | |
| 19 | − Book-to-Market & 125{,}400 & 0.68 & 0.54 & 0.30 & 0.56 & 0.91 \\ | |
| 20 | − Leverage & 125{,}400 & 0.34 & 0.21 & 0.17 & 0.32 & 0.48 \\ | |
| 21 | − ROA (\%) & 125{,}400 & 3.15 & 8.42 & 0.52 & 3.28 & 6.74 \\ | |
| 22 | − \bottomrule | |
| 23 | − \end{tabular} | |
| 24 | − \begin{tablenotes}[flushleft] | |
| 25 | − \footnotesize | |
| 26 | − \item \textit{Notes:} This table reports summary statistics for the main variables used in the analysis. The sample covers the period January~1990 to December~2023. $r_{i,t}$ is the monthly return of firm~$i$. $\sigma_{i,t}$ is the realized volatility computed from daily returns within the month. $X_{i,t}$ is the main explanatory variable. Size is the natural logarithm of market capitalization. Book-to-Market is the ratio of book equity to market equity. Leverage is total debt over total assets. ROA is return on assets. All continuous variables are winsorized at the 1st and 99th percentiles. | |
| 27 | − \end{tablenotes} | |
| 28 | − \end{threeparttable} | |
| 29 | −\end{table} | |
modified
paper/tables/tab_break.tex
+5 −5
@@ -4,11 +4,11 @@ | ||
| 4 | 4 | \begin{tabular}{lccc}\toprule |
| 5 | 5 | & \multicolumn{2}{c}{Q5$-$Q1 spread} & Interaction \\ |
| 6 | 6 | \cmidrule(lr){2-3} |
| 7 | −Signal & Pre (2010--21) & Post (2022--24) & AI$\times$Post \\\midrule | |
| 8 | −AI adoption & +2.2 \tstat{2.04} & +14.3 \tstat{2.15} & +0.0199 \tstat{1.17} \\ | |
| 9 | −AI infrastructure & +1.4 \tstat{0.91} & +13.6 \tstat{2.44} & +0.0277 \tstat{2.63} \\ | |
| 10 | −AI composite & +2.5 \tstat{1.58} & +14.6 \tstat{2.07} & +0.0270 \tstat{1.78} \\ | |
| 7 | +Signal & Pre (2010--21) & Post (2022--24) & AI$\times$Post (pp/SD) \\\midrule | |
| 8 | +AI adoption & +2.2 \tstat{2.04} & +14.3 \tstat{2.15} & +2.0 \tstat{1.17} \\ | |
| 9 | +AI infrastructure & +1.4 \tstat{0.91} & +13.6 \tstat{2.44} & +2.8 \tstat{2.63} \\ | |
| 10 | +AI composite & +2.5 \tstat{1.58} & +14.6 \tstat{2.07} & +2.7 \tstat{1.78} \\ | |
| 11 | 11 | \bottomrule |
| 12 | 12 | \end{tabular} |
| 13 | −\tablelegend{This table quantifies the change in the pricing of AI disclosure around the November 2022 launch of ChatGPT. Columns~2--3 report the equal-weighted Q5$-$Q1 forward-return spread (in percent per year, with Newey--West $t$-statistics in parentheses) separately for the pre-period (formation years 2010--2021) and the post-period (2022--2024). Column~4 reports the coefficient on the interaction of the within-year standardized AI signal with the post-2022 indicator from a pooled OLS regression that includes size and momentum controls and year-clustered standard errors. The spread rises roughly sixfold across the break for every AI signal, and the interaction term is positive throughout---most strongly for AI infrastructure, the facet tied to the compute build-out.} | |
| 13 | +\tablelegend{This table quantifies the change in the pricing of AI disclosure around the November 2022 launch of ChatGPT. Columns~2--3 report the equal-weighted Q5$-$Q1 forward-return spread (in percent per year) separately for the pre-period (formation years 2010--2021, twelve annual spreads) and the post-period (2022--2024, three annual spreads), with Newey--West three-lag $t$-statistics computed on the annual spreads in parentheses; with three post-period observations these $t$-statistics are reported for completeness only, and Table~\ref{tab:postinf} provides the inference the paper relies on. Column~4 reports the coefficient $\beta_2$ of equation~\eqref{eq:break}---the change in the forward return per cross-sectional standard deviation of the signal after 2022, in percentage points---from a pooled OLS regression of the winsorized forward return with size and momentum controls and standard errors clustered by formation year (fifteen clusters). The interaction is positive for every signal and statistically significant only for AI infrastructure.} | |
| 14 | 14 | \end{table} |
added
paper/tables/tab_corpus.tex
+19 −0
@@ -0,0 +1,19 @@ | ||
| 1 | +\begin{table}[H]\centering | |
| 2 | +\caption{Composition of the Scored Filing Corpus}\label{tab:corpus} | |
| 3 | +\small | |
| 4 | +\begin{tabular}{lrrr}\toprule | |
| 5 | +& Form 8-K & Form 10-Q & Form 10-K \\\midrule | |
| 6 | +Filings downloaded, 2010--2026 & 103,927 & 22,542 & 7,655 \\ | |
| 7 | +Filings parsed and scored & 103,926 & 3,710 & 0 \\ | |
| 8 | +Share of downloaded filings scored & 100\% & 16\% & 0\% \\ | |
| 9 | +Chunks per scored filing (median) & 2 & 61 & --- \\ | |
| 10 | +Tickers with at least one scored filing & 500 & 84 & 0 \\ | |
| 11 | +Mean AI-adoption score per filing (\texttt{wmean}) & 0.039 & 0.106 & --- \\ | |
| 12 | +\midrule | |
| 13 | +\multicolumn{4}{l}{\textit{Firm-year aggregates (7{,}869 firm-years)}}\\ | |
| 14 | +Firm-years containing a scored 10-Q & \multicolumn{3}{r}{16.5\%} \\ | |
| 15 | +Chunks per firm-year: p5 / p25 / median / p75 / p95 & \multicolumn{3}{r}{10 / 17 / 28 / 57 / 259} \\ | |
| 16 | +\bottomrule | |
| 17 | +\end{tabular} | |
| 18 | +\tablelegend{This table describes the filings that enter the semantic panel of the EDGAR Research Database at the time of the June 2026 draft. Filings were downloaded for the 500 current S\&P~500 constituents for the three form types, but the section parser and the scoring engine had processed only the Form 8-K current reports and a subset of the Form 10-Q quarterly reports (84 tickers, listed in Appendix~\ref{app:corpus}); no Form 10-K was parsed. The firm-year score is the unweighted average of filing-level scores over all filings dated in the calendar year, so that a 10-Q with roughly 60 chunks and an 8-K with two chunks carry the same weight. Mean AI-adoption scores differ markedly by form type, which is why Section~\ref{subsec:corpus} re-estimates the main results on an 8-K-only signal. Sources: \texttt{results/tables/corpus\_composition.json} and \texttt{results\_review.json}.} | |
| 19 | +\end{table} | |
| \ No newline at end of file | ||
modified
paper/tables/tab_did.tex
+2 −2
@@ -6,8 +6,8 @@ | ||
| 6 | 6 | & (binary) & (continuous, per SD) \\\midrule |
| 7 | 7 | Coefficient & 0.0170 & 0.0269 \\ |
| 8 | 8 | \textit{t}-statistic & (0.78) & (1.51) \\ |
| 9 | −N (firm-years) & 6790 & 6790 \\ | |
| 9 | +N (firm-years) & 6{,}790 & 6{,}790 \\ | |
| 10 | 10 | Firm \& Year FE & Yes & Yes \\\bottomrule |
| 11 | 11 | \end{tabular} |
| 12 | −\tablelegend{This table reports difference-in-differences estimates of the effect of pre-determined AI exposure on returns around ChatGPT. The dependent variable is the winsorized forward 12-month return, and all specifications include firm and year fixed effects with standard errors double-clustered by firm and year. Treatment is fixed at each firm's pre-event (2019--2021) average AI exposure, so it cannot respond to the event: the first column uses a binary treated indicator (above-median pre-event exposure) interacted with the post-2022 indicator, and the second uses continuous pre-event exposure (per standard deviation) interacted with Post. Both coefficients are positive but weaker than the cross-sectional estimates, the pattern expected once firm fixed effects absorb the persistent component of AI exposure and only within-firm variation remains to identify the effect.} | |
| 12 | +\tablelegend{This table reports difference-in-differences estimates of the effect of pre-determined AI exposure on returns around ChatGPT. The dependent variable is the winsorized forward 12-month return, and all specifications include firm and year fixed effects with standard errors double-clustered by firm and year. Treatment is fixed at each firm's average AI exposure in the filings of 2019--2021, so it cannot respond to the event: the first column uses a binary treated indicator (above-median pre-event exposure) interacted with the post-2022 indicator, and the second uses continuous pre-event exposure (per standard deviation) interacted with Post. Both coefficients are positive but imprecise; the binary estimate is indistinguishable from zero and the continuous estimate is significant only at the 15\% level. The post-period contains three formation years and the year clusters are few, so the double-clustered standard errors should be read with caution.} | |
| 13 | 13 | \end{table} |
modified
paper/tables/tab_doublesort.tex
+1 −1
@@ -12,5 +12,5 @@ Small & 19.5 & 19.2 & 34.5 & +15.1 \\ | ||
| 12 | 12 | Large & 15.8 & 18.3 & 22.9 & +7.1 \\ |
| 13 | 13 | \bottomrule |
| 14 | 14 | \end{tabular} |
| 15 | −\tablelegend{This table reports mean forward 12-month returns (in percent) from an independent double sort on AI disclosure and firm size. In each formation year firms are split into a small and a large half by the market-capitalization proxy, and within each half into AI terciles (Low, Mid, High); the column Hi$-$Lo is the high-minus-low AI return within each size group. Panel~A covers the pre-ChatGPT period (formation years 2010--2021) and Panel~B the post-ChatGPT period (2022--2024). The AI gradient is flat in both size halves before 2022 and steep afterward, and dramatically steeper among small firms---consistent with an attention-based mechanism in which information diffuses more slowly into smaller, less-followed stocks.} | |
| 15 | +\tablelegend{This table reports mean forward 12-month returns (in percent) from an independent double sort on AI disclosure and firm size. In each formation year firms are split into a small and a large half by the market-capitalization proxy, and within each half into AI terciles (Low, Mid, High); the column Hi$-$Lo is the high-minus-low AI return within each size group. Panel~A covers the pre-ChatGPT period (formation years 2010--2021) and Panel~B the post-ChatGPT period (2022--2024). The AI gradient is flat in both size halves before 2022 and steep afterward, and dramatically steeper among small firms---a pattern that is consistent with, but does not establish, an attention-based mechanism operating in less-followed stocks; the post-period cells rest on three cohorts and are dominated by the 2024 cohort.} | |
| 16 | 16 | \end{table} |
modified
paper/tables/tab_event.tex
+1 −1
@@ -13,5 +13,5 @@ Horizon & High & Mid & Low & High$-$Low & \textit{t} & \textit{p} \\\midrule | ||
| 13 | 13 | With sector FE: $+2.09$\% \tstat{0.99}}\\ |
| 14 | 14 | \bottomrule |
| 15 | 15 | \end{tabular} |
| 16 | −\tablelegend{This table reports market-model cumulative abnormal returns (CAR, in percent) around the launch of ChatGPT on 30~November 2022. For each stock the market model is estimated over the January--October 2022 window, and abnormal returns are cumulated over horizons of 60 trading days, six months, one year, and 18 months. Firms are grouped into terciles of \emph{pre-event} AI disclosure measured from the FY2021 10-K---the last report filed before the event---and the table reports the mean CAR for the High, Mid, and Low terciles, the High$-$Low difference, and a Welch $t$-test (with $p$-value) of that difference. The bottom rows report a cross-sectional regression of one-year CAR on pre-event AI exposure (per standard deviation), with and without sector fixed effects. Because abnormal returns are purged of each firm's market beta, the spread reflects a cross-sectional response to the AI-narrative shock rather than differential beta exposure.} | |
| 16 | +\tablelegend{This table reports market-model cumulative abnormal returns (CAR, in percent) around the launch of ChatGPT on 30~November 2022. For each stock the market model is estimated over the January--October 2022 window, and abnormal returns are cumulated over horizons of 60 trading days, six months, one year, and 18 months. Firms are grouped into terciles of \emph{pre-event} AI disclosure measured from the filings of calendar year 2021---all dated before the event---and the table reports the mean CAR for the High, Mid, and Low terciles, the High$-$Low difference, and a Welch $t$-test (with $p$-value) of that difference that treats firms as independent; Table~\ref{tab:eventcda} reports tests that allow for the cross-sectional correlation induced by the common event date. The bottom rows report a cross-sectional regression of one-year CAR on pre-event AI exposure (per standard deviation), with and without sector fixed effects. Because abnormal returns are purged of each firm's market beta, the spread is not a difference in beta exposure; it may still reflect exposure to sector or style factors omitted from the market model.} | |
| 17 | 17 | \end{table} |
added
paper/tables/tab_event_cda.tex
+14 −0
@@ -0,0 +1,14 @@ | ||
| 1 | +\begin{table}[H]\centering | |
| 2 | +\caption{Event-Study Inference under Cross-Sectional Dependence}\label{tab:eventcda} | |
| 3 | +\small | |
| 4 | +\begin{tabular}{lrrrr}\toprule | |
| 5 | +& High$-$Low CAR & Welch \textit{t} & Portfolio \textit{t} & Portfolio \textit{t} \\ | |
| 6 | +Horizon & (\%) & (independence) & (estimation-window SD) & (event-window SD) \\\midrule | |
| 7 | ++60 trading days & +2.93 & 1.77 & 1.35 & 1.54 \\ | |
| 8 | ++6 months & +4.53 & 1.60 & 1.45 & 1.65 \\ | |
| 9 | ++1 year & +10.08 & 1.97 & 2.28 & 2.60 \\ | |
| 10 | ++18 months & +14.59 & 1.89 & 2.63 & 2.99 \\ | |
| 11 | +\bottomrule | |
| 12 | +\end{tabular} | |
| 13 | +\tablelegend{All firms share the same event date, so firm-level abnormal returns are cross-sectionally correlated and the Welch $t$-test of Table~\ref{tab:event}, which treats the 160 High and 162 Low firms as independent draws, overstates precision: the average pairwise correlation of market-model residuals over the January--October 2022 estimation window is $\bar\rho=0.039$, and the deflation factor of Kolari and Pynn\"onen (2010) for a one-sample test, $\sqrt{(1-\bar\rho)/(1+(n-1)\bar\rho)}$, equals 0.27. The portfolio tests sidestep the problem by treating the daily High-minus-Low abnormal return as a single time series: its cumulative value over $T$ event days is divided by $\hat\sigma\sqrt{T}$, where $\hat\sigma$ is the daily standard deviation of the same portfolio series either in the estimation window (crude dependence adjustment of Brown and Warner, 1985; $\hat\sigma=0.279\%$) or in the event window itself (0.245\%). Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 14 | +\end{table} | |
| \ No newline at end of file | ||
modified
paper/tables/tab_panel.tex
+2 −2
@@ -12,8 +12,8 @@ Volatility ($z$) & +0.0197 \tstat{2.12} & +0.0687 \tstat{3.56} \\ | ||
| 12 | 12 | \midrule |
| 13 | 13 | Firm FE & Yes & No \\ |
| 14 | 14 | Year FE & Yes & (by construction) \\ |
| 15 | −N (obs / years) & 6811 & 15 \\ | |
| 15 | +N (obs / years) & 6{,}811 & 15 \\ | |
| 16 | 16 | \bottomrule |
| 17 | 17 | \end{tabular} |
| 18 | −\tablelegend{This table reports forward-return regressions estimated two ways. Column~(1) is a two-way (firm~$\times$~year) fixed-effects panel with standard errors double-clustered by firm and year; the firm fixed effects absorb all permanent cross-firm differences, so the AI coefficients identify whether \emph{within-firm} changes in AI language predict returns. Column~(2) is the Fama--MacBeth estimator---the average of annual cross-sectional slopes---with Newey--West $t$-statistics on the time series of coefficients. The dependent variable is the winsorized forward 12-month return, and all signals and controls are within-year cross-sectional $z$-scores, so coefficients are expressed per cross-sectional standard deviation. The contrast between the two columns is the object of interest: the cross-sectional (Fama--MacBeth) AI premia are positive while the within-firm (panel) coefficients collapse to zero, locating the signal across rather than within firms.} | |
| 18 | +\tablelegend{This table reports forward-return regressions estimated two ways. Column~(1) is a two-way (firm and year) fixed-effects panel, equation~\eqref{eq:panel}, with standard errors double-clustered by firm and year; the firm fixed effects absorb all permanent cross-firm differences, so the AI coefficients identify whether \emph{within-firm} changes in AI language predict returns. Column~(2) is the Fama--MacBeth estimator of equation~\eqref{eq:fm}---the average of fifteen annual cross-sectional slopes---with Newey--West $t$-statistics on the time series of coefficients. The dependent variable is the winsorized forward 12-month return, and all signals and controls are within-year cross-sectional $z$-scores, so coefficients are expressed per cross-sectional standard deviation. The contrast between the two columns is the object of interest: the cross-sectional (Fama--MacBeth) AI premia are positive while the within-firm (panel) coefficients collapse to zero, locating the signal across rather than within firms.} | |
| 19 | 19 | \end{table} |
modified
paper/tables/tab_placebo.tex
+10 −10
@@ -3,16 +3,16 @@ | ||
| 3 | 3 | \small |
| 4 | 4 | \begin{tabular}{lccc}\toprule |
| 5 | 5 | & \multicolumn{2}{c}{Q5$-$Q1 spread (\%/yr)} & Interaction \\\cmidrule(lr){2-3} |
| 6 | −Semantic factor & Pre (2010--21) & Post (2022--24) & $z\times$Post \\\midrule | |
| 7 | −AI adoption$^{\dagger}$ & +2.2 \tstat{2.04} & +14.3 \tstat{2.15} & +0.0199 \tstat{1.17} \\ | |
| 8 | −AI infrastructure$^{\dagger}$ & +1.4 \tstat{0.91} & +13.6 \tstat{2.44} & +0.0277 \tstat{2.63} \\ | |
| 9 | −AI disruption risk$^{\dagger}$ & +3.1 \tstat{2.47} & +14.1 \tstat{2.07} & +0.0108 \tstat{0.60} \\ | |
| 10 | −ESG commitment & -2.5 \tstat{-2.82} & -8.8 \tstat{-2.27} & -0.0055 \tstat{-0.76} \\ | |
| 11 | −Climate risk & -0.8 \tstat{-1.38} & -5.0 \tstat{-2.48} & +0.0008 \tstat{0.17} \\ | |
| 12 | −Cybersecurity & +2.6 \tstat{1.96} & +13.5 \tstat{2.12} & +0.0090 \tstat{0.64} \\ | |
| 13 | −Automation/labor & +2.1 \tstat{1.91} & +7.2 \tstat{1.29} & +0.0002 \tstat{0.01} \\ | |
| 14 | −Macro risk & -1.6 \tstat{-2.02} & -0.5 \tstat{-0.11} & +0.0125 \tstat{1.06} \\ | |
| 6 | +Semantic factor & Pre (2010--21) & Post (2022--24) & $z\times$Post (pp/SD) \\\midrule | |
| 7 | +AI adoption$^{\dagger}$ & +2.2 \tstat{2.04} & +14.3 \tstat{2.15} & +2.0 \tstat{1.17} \\ | |
| 8 | +AI infrastructure$^{\dagger}$ & +1.4 \tstat{0.91} & +13.6 \tstat{2.44} & +2.8 \tstat{2.63} \\ | |
| 9 | +AI disruption risk$^{\dagger}$ & +3.1 \tstat{2.47} & +14.1 \tstat{2.07} & +1.1 \tstat{0.60} \\ | |
| 10 | +ESG commitment & -2.5 \tstat{-2.82} & -8.8 \tstat{-2.27} & -0.6 \tstat{-0.76} \\ | |
| 11 | +Climate risk & -0.8 \tstat{-1.38} & -5.0 \tstat{-2.48} & +0.1 \tstat{0.17} \\ | |
| 12 | +Cybersecurity & +2.6 \tstat{1.96} & +13.5 \tstat{2.12} & +0.9 \tstat{0.64} \\ | |
| 13 | +Automation/labor & +2.1 \tstat{1.91} & +7.2 \tstat{1.29} & +0.0 \tstat{0.01} \\ | |
| 14 | +Macro risk & -1.6 \tstat{-2.02} & -0.5 \tstat{-0.11} & +1.3 \tstat{1.06} \\ | |
| 15 | 15 | \bottomrule |
| 16 | 16 | \end{tabular} |
| 17 | −\tablelegend{This table re-runs the structural-break design on all eight semantic factors in the database to test whether the post-2022 re-rating is specific to AI. For each factor it reports the equal-weighted Q5$-$Q1 forward-return spread (in percent per year, with Newey--West $t$-statistics) in the pre-period (2010--2021) and post-period (2022--2024), together with the coefficient on the interaction of the factor's within-year $z$-score with the post-2022 indicator (size and momentum controls, year-clustered standard errors). The post-ChatGPT jump is concentrated in the AI-related factors, marked with a dagger ($\dagger$); cybersecurity, which is bundled with technology exposure, also rises, whereas ESG-commitment and climate-risk disclosure earn \emph{negative} post-2022 spreads and macro-risk disclosure shows essentially none.} | |
| 17 | +\tablelegend{This table re-runs the structural-break design on all eight semantic factors in the database to test whether the post-2022 re-rating is specific to AI. For each factor it reports the equal-weighted Q5$-$Q1 forward-return spread (in percent per year, with Newey--West $t$-statistics) in the pre-period (2010--2021) and post-period (2022--2024), together with the coefficient on the interaction of the factor's within-year $z$-score with the post-2022 indicator, in percentage points per standard deviation (winsorized forward return, size and momentum controls, standard errors clustered by formation year). The post-ChatGPT increase in the spread is largest for the three AI-related factors, marked with a dagger ($\dagger$), and for cybersecurity, which is bundled with technology exposure; automation/labor language also rises, whereas ESG-commitment and climate-risk disclosure earn \emph{negative} post-2022 spreads and macro-risk disclosure shows essentially none. Because the post-period contains three annual spreads, the $t$-statistics in column~3 are indicative only; none of the eight interaction coefficients other than AI infrastructure is significant at conventional levels.} | |
| 18 | 18 | \end{table} |
added
paper/tables/tab_postinference.tex
+34 −0
@@ -0,0 +1,34 @@ | ||
| 1 | +\begin{table}[H]\centering | |
| 2 | +\caption{How Much Evidence Is There in the Post-ChatGPT Period?}\label{tab:postinf} | |
| 3 | +\small | |
| 4 | +\begin{tabular}{lcc}\toprule | |
| 5 | +\multicolumn{3}{l}{\textit{Panel A. Post-period cohorts (AI composite, EW Q5$-$Q1, \%)}}\\ | |
| 6 | +& Spread & Post mean excluding this cohort \\\midrule | |
| 7 | +Cohort 2022 (holding July 2023--June 2024) & +9.3 & +17.2 \\ | |
| 8 | +Cohort 2023 (holding July 2024--June 2025) & -4.0 & +23.8 \\ | |
| 9 | +Cohort 2024 (holding July 2025--June 2026) & +38.4 & +2.6 \\ | |
| 10 | +\midrule | |
| 11 | +Post-period mean (three cohorts) & +14.6 & \\ | |
| 12 | +Pre-period mean (twelve cohorts; share positive 75\%) & +2.4 & \\ | |
| 13 | +\midrule | |
| 14 | +\multicolumn{3}{l}{\textit{Panel B. Pooled firm-level tests (Q5 vs.\ Q1 firm-years, year dummies, SE clustered by firm)}}\\ | |
| 15 | +& Spread (\%) & \textit{t} \\\midrule | |
| 16 | +Post cohorts 2022--2024 (raw returns), $n=594$ & +14.7 & 2.18 \\ | |
| 17 | +Post cohorts 2022--2024 (winsorized returns) & +7.2 & 2.21 \\ | |
| 18 | +Post cohorts 2022--2023 only, $n=394$ & +2.6 & 0.46 \\ | |
| 19 | +Pre cohorts 2010--2021, $n=2{,}156$ & +2.5 & 1.84 \\ | |
| 20 | +Post minus pre (interaction) & +12.1 & 1.79 \\ | |
| 21 | +\bottomrule | |
| 22 | +\end{tabular} | |
| 23 | + | |
| 24 | +\vspace{0.6em} | |
| 25 | +{\footnotesize\begin{tabular}{lrrrrrrr}\toprule | |
| 26 | +\multicolumn{8}{l}{\textit{Panel C. Monthly long--short series (AI composite, EW, annually rebalanced)}}\\ | |
| 27 | +Period & Months & Mean (\%/yr) & Sharpe & HAC \textit{t} & FF6 $\alpha$ (\%/yr) & FF6+TECH $\alpha$ & $\beta_{\text{TECH}}$ \\\midrule | |
| 28 | +Full sample & 180 & +2.4 & 0.45 & 1.55 & +1.9 \tstat{1.24} & +0.4 \tstat{0.36} & 0.35 \tstat{11.11} \\ | |
| 29 | +Pre-ChatGPT & 144 & +1.1 & 0.22 & 0.67 & +1.0 \tstat{0.59} & -0.4 \tstat{-0.29} & 0.35 \tstat{10.51} \\ | |
| 30 | +Post-ChatGPT & 36 & +7.5 & 1.32 & 2.20 & +5.2 \tstat{1.72} & +1.9 \tstat{0.86} & 0.47 \tstat{6.53} \\ | |
| 31 | +\bottomrule | |
| 32 | +\end{tabular}} | |
| 33 | +\tablelegend{Panel~A reports the equal-weighted Q5$-$Q1 forward-return spread on the AI composite for each post-ChatGPT formation cohort and the post-period mean obtained when that cohort is dropped. Panel~B pools the firm-years in the top and bottom quintiles and regresses the forward return on a top-quintile indicator and formation-year dummies, with standard errors clustered by firm; the last row interacts the indicator with a post-2022 dummy in the pooled pre- and post-period sample. Panel~C describes the monthly return of the self-financing high-minus-low portfolio in each sub-period (the post-period starts in July 2023, the first holding month of the 2022 cohort); the HAC $t$-statistic tests the mean with Newey--West (three-lag) errors; FF6 is the Fama--French five-factor model plus momentum; TECH is the equal-weighted return of the Information Technology constituents in the panel minus the equal-weighted return of all constituents, and $\beta_{\text{TECH}}$ its loading. Factor regressions use the 34 (post) and 144 (pre) months for which the French factors are available. Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 34 | +\end{table} | |
| \ No newline at end of file | ||
added
paper/tables/tab_review_robust.tex
+24 −0
@@ -0,0 +1,24 @@ | ||
| 1 | +\begin{table}[H]\centering | |
| 2 | +\caption{Additional Robustness: Signal Composition, Entrants, Break Definition, and Sector Controls}\label{tab:reviewrobust} | |
| 3 | +\footnotesize | |
| 4 | +\begin{tabular}{@{}p{7.1cm}ccc@{}}\toprule | |
| 5 | +& Pre (2010--21) & Post (2022--24) & Cohorts 2022 / 23 / 24 \\\midrule | |
| 6 | +\multicolumn{4}{l}{\textit{Panel A. Composition of the text signal}}\\ | |
| 7 | +Baseline composite (all scored filings) & +2.5 \tstat{1.58} & +14.6 \tstat{2.07} & +9.3 / -4.0 / +38.4 \\ | |
| 8 | +8-K-only composite & +1.6 \tstat{1.14} & +16.3 \tstat{2.10} & +6.3 / +1.3 / +41.3 \\ | |
| 9 | +Baseline, 84 firms with scored 10-Qs excluded & +0.6 \tstat{0.34} & +15.0 \tstat{1.96} & +5.7 / -0.5 / +39.8 \\ | |
| 10 | +\midrule\multicolumn{4}{l}{\textit{Panel B. Entrants and survivorship}}\\ | |
| 11 | +Seasoned firms (prices since July 2009; 416 firms) & +1.0 \tstat{0.61} & +17.3 \tstat{2.36} & +9.1 / +1.4 / +41.3 \\ | |
| 12 | +Firms listed at least 36 months at formation & +2.8 \tstat{2.26} & +14.9 \tstat{2.11} & +7.7 / -1.2 / +38.3 \\ | |
| 13 | +\midrule\multicolumn{4}{l}{\textit{Panel C. Definition of the break}}\\ | |
| 14 | +Pre-period ends in 2020 (2021 cohort dropped) & +2.0 \tstat{1.17} & --- & --- \\ | |
| 15 | +Post-period starts in 2021 (cohorts 21 / 22 / 23 / 24) & --- & +12.7 \tstat{2.24} & +7.1 / +9.3 / -4.0 / +38.4 \\ | |
| 16 | +\midrule\multicolumn{4}{l}{\textit{Panel D. Sector controls (slope per cross-sectional SD of the composite, \%)}}\\ | |
| 17 | +Fama--MacBeth, size, momentum, volatility controls & +0.65 \tstat{1.77} & +5.49 \tstat{2.00} & --- \\ | |
| 18 | +Fama--MacBeth, adding GICS-sector dummies & +0.53 \tstat{2.54} & +2.94 \tstat{1.36} & +1.3 / -2.7 / +10.2 \\ | |
| 19 | +Pooled OLS, year FE, firm-clustered SE & +0.43 \tstat{1.12} & +2.85 \tstat{2.76} & --- \\ | |
| 20 | +Pooled OLS, sector~$\times$~year FE, firm-clustered SE & +0.32 \tstat{0.83} & +1.27 \tstat{1.22} & --- \\ | |
| 21 | +\bottomrule | |
| 22 | +\end{tabular} | |
| 23 | +\tablelegend{Panels~A--C report the equal-weighted Q5$-$Q1 forward-return spread on the AI composite (percent per year, Newey--West three-lag $t$-statistics on the annual spreads in parentheses) with the cohort-by-cohort post-period values in the last column. Panel~A rebuilds the composite from Form 8-K filings only (\texttt{data/processed/filing\_type\_scores.parquet}) and, alternatively, drops the 84 tickers whose 10-Q filings were scored (Table~\ref{tab:corpus}). Panel~B restricts the universe to firms with Yahoo Finance prices since July 2009, which removes later listings such as Uber, Palantir or Airbnb, and to firm-years with at least 36 months of price history at formation. Panel~C moves the 2021 cohort, whose July 2022--June 2023 holding period straddles the ChatGPT launch, out of the pre-period or into the post-period. Panel~D reports the average annual cross-sectional slope on the composite (Fama--MacBeth) with and without GICS-sector dummies, and pooled regressions of the winsorized forward return on the composite and controls with year or sector-by-year fixed effects and firm-clustered standard errors. Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 24 | +\end{table} | |
| \ No newline at end of file | ||
modified
paper/tables/tab_robust.tex
+3 −3
@@ -8,8 +8,8 @@ Section-weighted (base) & +2.5 \tstat{1.58} & +14.6 \tstat{2.07} \\ | ||
| 8 | 8 | Simple mean & +2.3 \tstat{1.50} & +13.4 \tstat{2.23} \\ |
| 9 | 9 | Top-5\% tail & +1.5 \tstat{1.04} & +14.9 \tstat{2.47} \\ |
| 10 | 10 | \midrule\multicolumn{3}{l}{\textit{Panel B. Alternative holding horizon}}\\ |
| 11 | −6-month forward return & -0.1 \tstat{-0.10} & +1.1 \\ | |
| 12 | −24-month forward return & +9.3 \tstat{2.86} & +23.0 \\ | |
| 11 | +6-month forward return & -0.1 \tstat{-0.10} & +1.1$^{a}$ \\ | |
| 12 | +24-month forward return & +9.3 \tstat{2.86} & +23.0$^{a}$ \\ | |
| 13 | 13 | \midrule\multicolumn{3}{l}{\textit{Panel C. Construction / universe}}\\ |
| 14 | 14 | Sector-neutral composite & +2.3 \tstat{3.35} & +3.8 \tstat{0.84} \\ |
| 15 | 15 | First principal component & +2.6 \tstat{2.25} & +13.4 \tstat{1.97} \\ |
@@ -17,5 +17,5 @@ Excl.\ Magnificent-7 & +1.7 \tstat{1.07} & +14.1 \tstat{1.92} \\ | ||
| 17 | 17 | Excl.\ top-10 by market cap & --- & +14.5 \tstat{1.93} \\ |
| 18 | 18 | \bottomrule |
| 19 | 19 | \end{tabular} |
| 20 | −\tablelegend{This table assesses the robustness of the AI composite Q5$-$Q1 forward-return spread (in percent per year, with Newey--West $t$-statistics) across alternative research-design choices, reported separately for the pre-period (2010--2021) and post-period (2022--2024). Panel~A varies the signal definition (section-weighted mean, simple mean, top-5\% tail); Panel~B varies the holding horizon (6- and 24-month forward returns); and Panel~C varies the construction and universe (sector-neutralization, replacing the three signals with their first principal component, and excluding the Magnificent~7 or the ten largest firms by market capitalization). The post-ChatGPT spread is stable across signal definitions, grows with the horizon, survives the exclusion of mega-cap winners, and shrinks markedly only under sector-neutralization---locating much of the premium in a between-sector channel.} | |
| 20 | +\tablelegend{This table assesses the robustness of the AI composite Q5$-$Q1 forward-return spread (in percent per year, with Newey--West $t$-statistics) across alternative research-design choices, reported separately for the pre-period (2010--2021) and post-period (2022--2024). Panel~A varies the signal definition (section-weighted mean, simple mean, top-5\% tail); Panel~B varies the holding horizon (6- and 24-month forward returns; $^{a}$the post-period value averages only the 2022 and 2023 cohorts, because the 24-month window of the 2024 cohort is incomplete and the script applies the same two-cohort window to both horizons, so no $t$-statistic is reported); and Panel~C varies the construction and universe (sector-neutralization, replacing the three signals with their first principal component, and excluding the Magnificent~7 or the ten largest firms by market capitalization). The post-ChatGPT spread is stable across signal definitions and survives the exclusion of mega-cap winners, but it shrinks markedly under sector-neutralization---locating much of the premium in a between-sector channel---and the six-month post-period spread is close to zero. Post-period $t$-statistics rest on three annual observations.} | |
| 21 | 21 | \end{table} |
modified
paper/tables/tab_sorts.tex
+1 −1
@@ -14,5 +14,5 @@ AI composite (EW) & 16.1 & 19.0 & 17.3 & 19.2 & 21.0 & +4.9 & 1.88 \\ | ||
| 14 | 14 | \quad value-weighted & 11.7 & 17.8 & 16.2 & 19.5 & 16.6 & +4.9 & 1.61 \\ |
| 15 | 15 | \bottomrule |
| 16 | 16 | \end{tabular} |
| 17 | −\tablelegend{This table reports mean forward 12-month returns (in percent) for portfolios sorted into quintiles on each within-year standardized AI-disclosure signal, over the full sample of formation years 2010--2024. For each signal we report both the equal-weighted (EW) and value-weighted portfolio returns; Q1 is the lowest-disclosure quintile and Q5 the highest. The column Q5$-$Q1 is the high-minus-low spread, and \textit{t} is its Newey--West (three-lag) $t$-statistic computed on the time series of 15 annual spreads. Equal-weighted spreads that exceed their value-weighted counterparts indicate that the relation is stronger among smaller index members.} | |
| 17 | +\tablelegend{This table reports mean forward 12-month returns (in percent) for portfolios sorted into quintiles on each within-year standardized AI-disclosure signal, over the full sample of formation years 2010--2024 (equation~\eqref{eq:spread}). For each signal we report both the equal-weighted (EW) and value-weighted portfolio returns; Q1 is the lowest-disclosure quintile and Q5 the highest. The column Q5$-$Q1 is the high-minus-low spread, and \textit{t} is its Newey--West (three-lag) $t$-statistic computed on the time series of 15 annual spreads. Equal-weighted spreads that exceed their value-weighted counterparts indicate that the relation is stronger among smaller index members.} | |
| 18 | 18 | \end{table} |
modified
paper/tables/tab_summary.tex
+1 −1
@@ -13,5 +13,5 @@ Volatility (ann.) & 0.269 & 0.144 & 0.126 & 0.240 & 0.492 \\ | ||
| 13 | 13 | Log market cap & 23.725 & 1.178 & 21.942 & 23.636 & 25.741 \\ |
| 14 | 14 | \bottomrule |
| 15 | 15 | \end{tabular} |
| 16 | −\tablelegend{This table reports distributional statistics for the firm-year estimation panel, which comprises 6{,}852 firm-years (497 firms) over formation years 2010--2024 with a tradeable forward return. The three AI signals---\emph{AI adoption}, \emph{AI infrastructure}, and \emph{AI disruption risk}---are section-weighted mean cosine similarities (\texttt{wmean}) of a firm's 10-K text to the corresponding anchor concept. \emph{Forward 12m return} is the buy-and-hold return from July of fiscal year $Y{+}1$ through June of $Y{+}2$; the market-adjusted variant nets out the contemporaneous return on the S\&P~500 ETF (SPY). \emph{Momentum} is the firm's trailing 12-month own return, \emph{volatility} the annualized standard deviation of its monthly returns, and \emph{log market cap} the natural logarithm of the market-capitalization proxy. For each variable the table reports the mean, standard deviation (SD), and the 5th, 50th (median), and 95th percentiles.} | |
| 16 | +\tablelegend{This table reports distributional statistics for the firm-year estimation panel, which comprises 6{,}852 firm-years (497 firms) over formation years 2010--2024 with a tradeable forward return. The three AI signals---\emph{AI adoption}, \emph{AI infrastructure}, and \emph{AI disruption risk}---are section-weighted mean cosine similarities (\texttt{wmean}) of the text of a firm's SEC filings of the year (Form 8-K current reports and, for 84 firms, Form 10-Q quarterly reports; see Table~\ref{tab:corpus}) to the corresponding anchor concept. \emph{Forward 12m return} is the buy-and-hold return from July of year $Y{+}1$ through June of $Y{+}2$, where $Y$ is the filing year of the signal; the market-adjusted variant nets out the contemporaneous return on the S\&P~500 ETF (SPY). \emph{Momentum} is the firm's trailing 12-month own return, \emph{volatility} the annualized standard deviation of its monthly returns, and \emph{log market cap} the natural logarithm of the market-capitalization proxy. For each variable the table reports the mean, standard deviation (SD), and the 5th, 50th (median), and 95th percentiles.} | |
| 17 | 17 | \end{table} |
modified
paper/tables/tab_topfirms.tex
+1 −1
@@ -15,5 +15,5 @@ CMI & Cummins & Industrials & 0.096 \\ | ||
| 15 | 15 | EOG & EOG Resources & Energy & 0.095 \\ |
| 16 | 16 | \bottomrule |
| 17 | 17 | \end{tabular} |
| 18 | −\tablelegend{This table lists the ten S\&P~500 firms with the highest average AI-adoption disclosure score---the section-weighted mean cosine similarity of their 10-K text to the AI-internal-adoption anchor---computed over fiscal years 2010--2026. For each firm the table reports its ticker, company name, GICS sector, and average AI-adoption score. The ranking has strong face validity, featuring enterprise-technology and software firms alongside an algorithm-centric platform and data-intensive financials; importantly, it is not confined to the Information Technology sector, with industrials and energy firms also appearing---evidence that intensive AI disclosure cuts across the sector taxonomy that a categorical control would impose.} | |
| 18 | +\tablelegend{This table lists the ten S\&P~500 firms with the highest average AI-adoption disclosure score---the section-weighted mean cosine similarity of the text of their scored SEC filings to the AI-internal-adoption anchor---averaged over filing years 2010--2026. Four of the ten (Uber, Tyler Technologies, BNY Mellon, Berkshire Hathaway) belong to the group of 84 firms whose 10-Q filings were scored in addition to their 8-Ks, which mechanically raises their scores (Section~\ref{subsec:corpus}). For each firm the table reports its ticker, company name, GICS sector, and average AI-adoption score. The ranking features enterprise-technology and software firms alongside an algorithm-centric platform and data-intensive financials, and it is not confined to the Information Technology sector.} | |
| 19 | 19 | \end{table} |
added
results/tables/corpus_composition.json
+105 −0
@@ -0,0 +1,105 @@ | ||
| 1 | +{ | |
| 2 | + "filings_downloaded_by_form": { | |
| 3 | + "8-K": 103927, | |
| 4 | + "10-Q": 22542, | |
| 5 | + "10-K": 7655 | |
| 6 | + }, | |
| 7 | + "filings_parsed_by_form": { | |
| 8 | + "8-K": 103927, | |
| 9 | + "10-Q": 3710 | |
| 10 | + }, | |
| 11 | + "filings_scored_by_form": { | |
| 12 | + "8-K": 103926, | |
| 13 | + "10-Q": 3710 | |
| 14 | + }, | |
| 15 | + "chunks_scored_by_form_and_section": [ | |
| 16 | + { | |
| 17 | + "form_type": "10-Q", | |
| 18 | + "section_name": "controls_and_procedures", | |
| 19 | + "n": 4593 | |
| 20 | + }, | |
| 21 | + { | |
| 22 | + "form_type": "10-Q", | |
| 23 | + "section_name": "financial_statements", | |
| 24 | + "n": 117720 | |
| 25 | + }, | |
| 26 | + { | |
| 27 | + "form_type": "10-Q", | |
| 28 | + "section_name": "legal_proceedings", | |
| 29 | + "n": 3013 | |
| 30 | + }, | |
| 31 | + { | |
| 32 | + "form_type": "10-Q", | |
| 33 | + "section_name": "md_and_a", | |
| 34 | + "n": 96412 | |
| 35 | + }, | |
| 36 | + { | |
| 37 | + "form_type": "10-Q", | |
| 38 | + "section_name": "quantitative_disclosures", | |
| 39 | + "n": 3821 | |
| 40 | + }, | |
| 41 | + { | |
| 42 | + "form_type": "10-Q", | |
| 43 | + "section_name": "risk_factors", | |
| 44 | + "n": 17893 | |
| 45 | + }, | |
| 46 | + { | |
| 47 | + "form_type": "10-Q", | |
| 48 | + "section_name": "unregistered_sales", | |
| 49 | + "n": 9787 | |
| 50 | + }, | |
| 51 | + { | |
| 52 | + "form_type": "8-K", | |
| 53 | + "section_name": "full_body", | |
| 54 | + "n": 238375 | |
| 55 | + } | |
| 56 | + ], | |
| 57 | + "chunks_per_filing_by_form": { | |
| 58 | + "10-Q": { | |
| 59 | + "count": 3710.0, | |
| 60 | + "mean": 68.3, | |
| 61 | + "std": 40.5, | |
| 62 | + "min": 2.0, | |
| 63 | + "25%": 44.0, | |
| 64 | + "50%": 61.0, | |
| 65 | + "75%": 81.0, | |
| 66 | + "max": 364.0 | |
| 67 | + }, | |
| 68 | + "8-K": { | |
| 69 | + "count": 103926.0, | |
| 70 | + "mean": 2.3, | |
| 71 | + "std": 3.4, | |
| 72 | + "min": 1.0, | |
| 73 | + "25%": 1.0, | |
| 74 | + "50%": 2.0, | |
| 75 | + "75%": 2.0, | |
| 76 | + "max": 541.0 | |
| 77 | + } | |
| 78 | + }, | |
| 79 | + "tickers_with_scored_10Q": 84, | |
| 80 | + "tickers_total": 500, | |
| 81 | + "firm_years_with_10Q_share": 0.1640615071800737, | |
| 82 | + "fiscal_year_definition": "EXTRACT(YEAR FROM filing_date) in src/factors/scoring.py (calendar year of filing)", | |
| 83 | + "ai_adoption_wmean_by_form": { | |
| 84 | + "10-Q": { | |
| 85 | + "count": 3710.0, | |
| 86 | + "mean": 0.1063, | |
| 87 | + "std": 0.03, | |
| 88 | + "min": 0.0085, | |
| 89 | + "25%": 0.087, | |
| 90 | + "50%": 0.1045, | |
| 91 | + "75%": 0.1266, | |
| 92 | + "max": 0.2286 | |
| 93 | + }, | |
| 94 | + "8-K": { | |
| 95 | + "count": 103926.0, | |
| 96 | + "mean": 0.0394, | |
| 97 | + "std": 0.038, | |
| 98 | + "min": -0.0858, | |
| 99 | + "25%": 0.0129, | |
| 100 | + "50%": 0.0341, | |
| 101 | + "75%": 0.061, | |
| 102 | + "max": 0.4016 | |
| 103 | + } | |
| 104 | + } | |
| 105 | +} | |
| \ No newline at end of file | ||
modified
results/tables/results2.json
+65 −65
@@ -255,93 +255,93 @@ | ||
| 255 | 255 | "fm_byyear": [ |
| 256 | 256 | { |
| 257 | 257 | "year": 2010, |
| 258 | − "coef": -0.018654282938673935, | |
| 259 | − "se": 0.009695472645955532, | |
| 260 | − "t": -1.924019964767326 | |
| 258 | + "coef": -0.018654282938673942, | |
| 259 | + "se": 0.009695472645955529, | |
| 260 | + "t": -1.9240199647673273 | |
| 261 | 261 | }, |
| 262 | 262 | { |
| 263 | 263 | "year": 2011, |
| 264 | − "coef": 0.001435148364027878, | |
| 265 | − "se": 0.01438043334007432, | |
| 266 | − "t": 0.09979868687465165 | |
| 264 | + "coef": 0.001435148364027885, | |
| 265 | + "se": 0.014380433340074323, | |
| 266 | + "t": 0.09979868687465211 | |
| 267 | 267 | }, |
| 268 | 268 | { |
| 269 | 269 | "year": 2012, |
| 270 | − "coef": 0.035395857398994084, | |
| 271 | − "se": 0.013905930789781204, | |
| 272 | − "t": 2.5453785103694595 | |
| 270 | + "coef": 0.035395857398994125, | |
| 271 | + "se": 0.013905930789781194, | |
| 272 | + "t": 2.5453785103694644 | |
| 273 | 273 | }, |
| 274 | 274 | { |
| 275 | 275 | "year": 2013, |
| 276 | − "coef": -0.03282015610944249, | |
| 277 | − "se": 0.010621142759634808, | |
| 278 | − "t": -3.090077673578974 | |
| 276 | + "coef": -0.032820156109442514, | |
| 277 | + "se": 0.010621142759634813, | |
| 278 | + "t": -3.0900776735789743 | |
| 279 | 279 | }, |
| 280 | 280 | { |
| 281 | 281 | "year": 2014, |
| 282 | − "coef": 0.010841711196201715, | |
| 283 | − "se": 0.0118676603547193, | |
| 284 | − "t": 0.9135508492952779 | |
| 282 | + "coef": 0.010841711196201686, | |
| 283 | + "se": 0.011867660354719292, | |
| 284 | + "t": 0.913550849295276 | |
| 285 | 285 | }, |
| 286 | 286 | { |
| 287 | 287 | "year": 2015, |
| 288 | − "coef": 0.006479326366460463, | |
| 289 | − "se": 0.013412889918344228, | |
| 290 | − "t": 0.4830671395877908 | |
| 288 | + "coef": 0.006479326366460515, | |
| 289 | + "se": 0.013412889918344231, | |
| 290 | + "t": 0.48306713958779457 | |
| 291 | 291 | }, |
| 292 | 292 | { |
| 293 | 293 | "year": 2016, |
| 294 | − "coef": 0.027079840054787516, | |
| 295 | − "se": 0.012550003254423658, | |
| 296 | − "t": 2.1577556201224364 | |
| 294 | + "coef": 0.02707984005478753, | |
| 295 | + "se": 0.012550003254423663, | |
| 296 | + "t": 2.157755620122437 | |
| 297 | 297 | }, |
| 298 | 298 | { |
| 299 | 299 | "year": 2017, |
| 300 | − "coef": 0.0034972629856182694, | |
| 301 | − "se": 0.011850963686757185, | |
| 302 | − "t": 0.29510367916545666 | |
| 300 | + "coef": 0.0034972629856182416, | |
| 301 | + "se": 0.01185096368675719, | |
| 302 | + "t": 0.29510367916545416 | |
| 303 | 303 | }, |
| 304 | 304 | { |
| 305 | 305 | "year": 2018, |
| 306 | − "coef": 0.020546311066695522, | |
| 307 | − "se": 0.015297392093211267, | |
| 308 | − "t": 1.343125085733642 | |
| 306 | + "coef": 0.02054631106669548, | |
| 307 | + "se": 0.01529739209321126, | |
| 308 | + "t": 1.34312508573364 | |
| 309 | 309 | }, |
| 310 | 310 | { |
| 311 | 311 | "year": 2019, |
| 312 | − "coef": 0.0037012299178389874, | |
| 313 | − "se": 0.0165908689232616, | |
| 314 | − "t": 0.22308837077542062 | |
| 312 | + "coef": 0.003701229917838984, | |
| 313 | + "se": 0.016590868923261604, | |
| 314 | + "t": 0.22308837077542037 | |
| 315 | 315 | }, |
| 316 | 316 | { |
| 317 | 317 | "year": 2020, |
| 318 | − "coef": -0.009948325957169284, | |
| 319 | − "se": 0.01076988640073044, | |
| 320 | − "t": -0.9237168886474573 | |
| 318 | + "coef": -0.009948325957169268, | |
| 319 | + "se": 0.010769886400730438, | |
| 320 | + "t": -0.9237168886474559 | |
| 321 | 321 | }, |
| 322 | 322 | { |
| 323 | 323 | "year": 2021, |
| 324 | − "coef": 0.031487333586654294, | |
| 325 | − "se": 0.030271538243484206, | |
| 326 | − "t": 1.0401629852236458 | |
| 324 | + "coef": 0.03148733358665427, | |
| 325 | + "se": 0.030271538243484185, | |
| 326 | + "t": 1.040162985223646 | |
| 327 | 327 | }, |
| 328 | 328 | { |
| 329 | 329 | "year": 2022, |
| 330 | − "coef": 0.02932795595191836, | |
| 331 | − "se": 0.01845057569643446, | |
| 332 | − "t": 1.5895415099478947 | |
| 330 | + "coef": 0.02932795595191831, | |
| 331 | + "se": 0.018450575696434473, | |
| 332 | + "t": 1.589541509947891 | |
| 333 | 333 | }, |
| 334 | 334 | { |
| 335 | 335 | "year": 2023, |
| 336 | − "coef": -0.011106516046450734, | |
| 337 | − "se": 0.022395723028705683, | |
| 338 | − "t": -0.4959212985539683 | |
| 336 | + "coef": -0.011106516046450746, | |
| 337 | + "se": 0.022395723028705686, | |
| 338 | + "t": -0.49592129855396877 | |
| 339 | 339 | }, |
| 340 | 340 | { |
| 341 | 341 | "year": 2024, |
| 342 | − "coef": 0.1433682452091106, | |
| 343 | − "se": 0.05192664084428197, | |
| 344 | − "t": 2.7609766947768577 | |
| 342 | + "coef": 0.14336824520911068, | |
| 343 | + "se": 0.051926640844281974, | |
| 344 | + "t": 2.7609766947768586 | |
| 345 | 345 | } |
| 346 | 346 | ], |
| 347 | 347 | "pca": { |
@@ -381,53 +381,53 @@ | ||
| 381 | 381 | "did_eventtime": [ |
| 382 | 382 | { |
| 383 | 383 | "year": 2015, |
| 384 | − "coef": 0.03850249557447814, | |
| 385 | − "se": 0.0013847785818818304 | |
| 384 | + "coef": 0.038502495574478234, | |
| 385 | + "se": 0.013647551181681136 | |
| 386 | 386 | }, |
| 387 | 387 | { |
| 388 | 388 | "year": 2016, |
| 389 | − "coef": 0.029540519812011792, | |
| 390 | − "se": 0.003984829195566341 | |
| 389 | + "coef": 0.029540519812011834, | |
| 390 | + "se": 0.012753810613341071 | |
| 391 | 391 | }, |
| 392 | 392 | { |
| 393 | 393 | "year": 2017, |
| 394 | − "coef": 0.0020874489718797178, | |
| 395 | − "se": 0.003401459013410779 | |
| 394 | + "coef": 0.0020874489718798435, | |
| 395 | + "se": 0.011114057494232506 | |
| 396 | 396 | }, |
| 397 | 397 | { |
| 398 | 398 | "year": 2018, |
| 399 | − "coef": 0.022522749526366223, | |
| 400 | − "se": 0.001059669525518878 | |
| 399 | + "coef": 0.022522749526366168, | |
| 400 | + "se": 0.01461694854274626 | |
| 401 | 401 | }, |
| 402 | 402 | { |
| 403 | 403 | "year": 2019, |
| 404 | − "coef": -0.0027932633763402374, | |
| 405 | − "se": 0.002102424960501601 | |
| 404 | + "coef": -0.0027932633763403172, | |
| 405 | + "se": 0.015538493690487308 | |
| 406 | 406 | }, |
| 407 | 407 | { |
| 408 | 408 | "year": 2020, |
| 409 | − "coef": -0.011764718161458246, | |
| 410 | − "se": 0.0011151327454620148 | |
| 409 | + "coef": -0.011764718161458482, | |
| 410 | + "se": 0.009738245327623967 | |
| 411 | 411 | }, |
| 412 | 412 | { |
| 413 | 413 | "year": 2021, |
| 414 | − "coef": 0.015693415374462505, | |
| 415 | − "se": 0.0012102032110539297 | |
| 414 | + "coef": 0.01569341537446243, | |
| 415 | + "se": 0.015873370796659073 | |
| 416 | 416 | }, |
| 417 | 417 | { |
| 418 | 418 | "year": 2022, |
| 419 | − "coef": 0.03381454132319204, | |
| 420 | − "se": 0.0019458437808454545 | |
| 419 | + "coef": 0.033814541323192, | |
| 420 | + "se": 0.01564722010647861 | |
| 421 | 421 | }, |
| 422 | 422 | { |
| 423 | 423 | "year": 2023, |
| 424 | − "coef": 0.005122643968623584, | |
| 425 | − "se": 0.002502640547920803 | |
| 424 | + "coef": 0.005122643968623537, | |
| 425 | + "se": 0.01576196920371611 | |
| 426 | 426 | }, |
| 427 | 427 | { |
| 428 | 428 | "year": 2024, |
| 429 | − "coef": 0.06760337692913147, | |
| 430 | − "se": 0.001162772256778745 | |
| 429 | + "coef": 0.06760337692913146, | |
| 430 | + "se": 0.02251728487512382 | |
| 431 | 431 | } |
| 432 | 432 | ], |
| 433 | 433 | "fwd_vol": { |
added
results/tables/results_review.json
+734 −0
@@ -0,0 +1,734 @@ | ||
| 1 | +{ | |
| 2 | + "A_monthly_longshort": { | |
| 3 | + "AI_COMPOS": { | |
| 4 | + "full": { | |
| 5 | + "n_months": 180, | |
| 6 | + "mean_ann_pct": 2.43, | |
| 7 | + "sd_ann_pct": 5.36, | |
| 8 | + "sharpe_ann": 0.45, | |
| 9 | + "hac_t_mean": 1.55, | |
| 10 | + "n_months_factor_regressions": 178, | |
| 11 | + "capm_alpha_ann_pct": 1.41, | |
| 12 | + "capm_alpha_t": 0.85, | |
| 13 | + "ff6_alpha_ann_pct": 1.86, | |
| 14 | + "ff6_alpha_t": 1.24, | |
| 15 | + "ff6_mkt_beta": 0.063, | |
| 16 | + "ff6_tech_alpha_ann_pct": 0.44, | |
| 17 | + "ff6_tech_alpha_t": 0.36, | |
| 18 | + "tech_beta": 0.35, | |
| 19 | + "tech_beta_t": 11.11 | |
| 20 | + }, | |
| 21 | + "pre": { | |
| 22 | + "n_months": 144, | |
| 23 | + "mean_ann_pct": 1.15, | |
| 24 | + "sd_ann_pct": 5.22, | |
| 25 | + "sharpe_ann": 0.22, | |
| 26 | + "hac_t_mean": 0.67, | |
| 27 | + "n_months_factor_regressions": 144, | |
| 28 | + "capm_alpha_ann_pct": 0.3, | |
| 29 | + "capm_alpha_t": 0.16, | |
| 30 | + "ff6_alpha_ann_pct": 0.97, | |
| 31 | + "ff6_alpha_t": 0.59, | |
| 32 | + "ff6_mkt_beta": 0.051, | |
| 33 | + "ff6_tech_alpha_ann_pct": -0.37, | |
| 34 | + "ff6_tech_alpha_t": -0.29, | |
| 35 | + "tech_beta": 0.35, | |
| 36 | + "tech_beta_t": 10.51 | |
| 37 | + }, | |
| 38 | + "post": { | |
| 39 | + "n_months": 36, | |
| 40 | + "mean_ann_pct": 7.54, | |
| 41 | + "sd_ann_pct": 5.72, | |
| 42 | + "sharpe_ann": 1.32, | |
| 43 | + "hac_t_mean": 2.2, | |
| 44 | + "n_months_factor_regressions": 34, | |
| 45 | + "capm_alpha_ann_pct": 6.16, | |
| 46 | + "capm_alpha_t": 2.32, | |
| 47 | + "ff6_alpha_ann_pct": 5.21, | |
| 48 | + "ff6_alpha_t": 1.72, | |
| 49 | + "ff6_mkt_beta": 0.033, | |
| 50 | + "ff6_tech_alpha_ann_pct": 1.9, | |
| 51 | + "ff6_tech_alpha_t": 0.86, | |
| 52 | + "tech_beta": 0.473, | |
| 53 | + "tech_beta_t": 6.53 | |
| 54 | + } | |
| 55 | + }, | |
| 56 | + "AI_ADOPT": { | |
| 57 | + "full": { | |
| 58 | + "n_months": 180, | |
| 59 | + "mean_ann_pct": 2.21, | |
| 60 | + "sd_ann_pct": 4.97, | |
| 61 | + "sharpe_ann": 0.45, | |
| 62 | + "hac_t_mean": 1.56, | |
| 63 | + "n_months_factor_regressions": 178, | |
| 64 | + "capm_alpha_ann_pct": 1.51, | |
| 65 | + "capm_alpha_t": 1.08, | |
| 66 | + "ff6_alpha_ann_pct": 1.96, | |
| 67 | + "ff6_alpha_t": 1.46, | |
| 68 | + "ff6_mkt_beta": 0.035, | |
| 69 | + "ff6_tech_alpha_ann_pct": 0.52, | |
| 70 | + "ff6_tech_alpha_t": 0.47, | |
| 71 | + "tech_beta": 0.355, | |
| 72 | + "tech_beta_t": 11.38 | |
| 73 | + }, | |
| 74 | + "pre": { | |
| 75 | + "n_months": 144, | |
| 76 | + "mean_ann_pct": 1.31, | |
| 77 | + "sd_ann_pct": 4.69, | |
| 78 | + "sharpe_ann": 0.28, | |
| 79 | + "hac_t_mean": 0.9, | |
| 80 | + "n_months_factor_regressions": 144, | |
| 81 | + "capm_alpha_ann_pct": 0.84, | |
| 82 | + "capm_alpha_t": 0.55, | |
| 83 | + "ff6_alpha_ann_pct": 1.51, | |
| 84 | + "ff6_alpha_t": 1.04, | |
| 85 | + "ff6_mkt_beta": 0.012, | |
| 86 | + "ff6_tech_alpha_ann_pct": 0.21, | |
| 87 | + "ff6_tech_alpha_t": 0.18, | |
| 88 | + "tech_beta": 0.338, | |
| 89 | + "tech_beta_t": 9.9 | |
| 90 | + }, | |
| 91 | + "post": { | |
| 92 | + "n_months": 36, | |
| 93 | + "mean_ann_pct": 5.84, | |
| 94 | + "sd_ann_pct": 5.91, | |
| 95 | + "sharpe_ann": 0.99, | |
| 96 | + "hac_t_mean": 1.52, | |
| 97 | + "n_months_factor_regressions": 34, | |
| 98 | + "capm_alpha_ann_pct": 4.14, | |
| 99 | + "capm_alpha_t": 1.32, | |
| 100 | + "ff6_alpha_ann_pct": 2.77, | |
| 101 | + "ff6_alpha_t": 0.73, | |
| 102 | + "ff6_mkt_beta": 0.031, | |
| 103 | + "ff6_tech_alpha_ann_pct": -0.54, | |
| 104 | + "ff6_tech_alpha_t": -0.17, | |
| 105 | + "tech_beta": 0.474, | |
| 106 | + "tech_beta_t": 5.71 | |
| 107 | + } | |
| 108 | + }, | |
| 109 | + "AI_INFRA": { | |
| 110 | + "full": { | |
| 111 | + "n_months": 180, | |
| 112 | + "mean_ann_pct": 2.01, | |
| 113 | + "sd_ann_pct": 5.34, | |
| 114 | + "sharpe_ann": 0.38, | |
| 115 | + "hac_t_mean": 1.32, | |
| 116 | + "n_months_factor_regressions": 178, | |
| 117 | + "capm_alpha_ann_pct": 0.93, | |
| 118 | + "capm_alpha_t": 0.61, | |
| 119 | + "ff6_alpha_ann_pct": 1.13, | |
| 120 | + "ff6_alpha_t": 0.84, | |
| 121 | + "ff6_mkt_beta": 0.064, | |
| 122 | + "ff6_tech_alpha_ann_pct": -0.25, | |
| 123 | + "ff6_tech_alpha_t": -0.22, | |
| 124 | + "tech_beta": 0.342, | |
| 125 | + "tech_beta_t": 10.11 | |
| 126 | + }, | |
| 127 | + "pre": { | |
| 128 | + "n_months": 144, | |
| 129 | + "mean_ann_pct": 0.56, | |
| 130 | + "sd_ann_pct": 5.08, | |
| 131 | + "sharpe_ann": 0.11, | |
| 132 | + "hac_t_mean": 0.35, | |
| 133 | + "n_months_factor_regressions": 144, | |
| 134 | + "capm_alpha_ann_pct": -0.11, | |
| 135 | + "capm_alpha_t": -0.06, | |
| 136 | + "ff6_alpha_ann_pct": 0.34, | |
| 137 | + "ff6_alpha_t": 0.21, | |
| 138 | + "ff6_mkt_beta": 0.051, | |
| 139 | + "ff6_tech_alpha_ann_pct": -0.99, | |
| 140 | + "ff6_tech_alpha_t": -0.75, | |
| 141 | + "tech_beta": 0.345, | |
| 142 | + "tech_beta_t": 9.29 | |
| 143 | + }, | |
| 144 | + "post": { | |
| 145 | + "n_months": 36, | |
| 146 | + "mean_ann_pct": 7.77, | |
| 147 | + "sd_ann_pct": 6.07, | |
| 148 | + "sharpe_ann": 1.28, | |
| 149 | + "hac_t_mean": 2.32, | |
| 150 | + "n_months_factor_regressions": 34, | |
| 151 | + "capm_alpha_ann_pct": 5.22, | |
| 152 | + "capm_alpha_t": 2.51, | |
| 153 | + "ff6_alpha_ann_pct": 3.59, | |
| 154 | + "ff6_alpha_t": 1.6, | |
| 155 | + "ff6_mkt_beta": 0.074, | |
| 156 | + "ff6_tech_alpha_ann_pct": 0.52, | |
| 157 | + "ff6_tech_alpha_t": 0.32, | |
| 158 | + "tech_beta": 0.44, | |
| 159 | + "tech_beta_t": 4.95 | |
| 160 | + } | |
| 161 | + }, | |
| 162 | + "AI_RISK": { | |
| 163 | + "full": { | |
| 164 | + "n_months": 180, | |
| 165 | + "mean_ann_pct": 3.13, | |
| 166 | + "sd_ann_pct": 5.61, | |
| 167 | + "sharpe_ann": 0.56, | |
| 168 | + "hac_t_mean": 2.08, | |
| 169 | + "n_months_factor_regressions": 178, | |
| 170 | + "capm_alpha_ann_pct": 2.11, | |
| 171 | + "capm_alpha_t": 1.38, | |
| 172 | + "ff6_alpha_ann_pct": 2.8, | |
| 173 | + "ff6_alpha_t": 2.1, | |
| 174 | + "ff6_mkt_beta": 0.049, | |
| 175 | + "ff6_tech_alpha_ann_pct": 1.12, | |
| 176 | + "ff6_tech_alpha_t": 1.06, | |
| 177 | + "tech_beta": 0.415, | |
| 178 | + "tech_beta_t": 11.18 | |
| 179 | + }, | |
| 180 | + "pre": { | |
| 181 | + "n_months": 144, | |
| 182 | + "mean_ann_pct": 2.23, | |
| 183 | + "sd_ann_pct": 5.44, | |
| 184 | + "sharpe_ann": 0.41, | |
| 185 | + "hac_t_mean": 1.47, | |
| 186 | + "n_months_factor_regressions": 144, | |
| 187 | + "capm_alpha_ann_pct": 1.53, | |
| 188 | + "capm_alpha_t": 0.91, | |
| 189 | + "ff6_alpha_ann_pct": 2.17, | |
| 190 | + "ff6_alpha_t": 1.56, | |
| 191 | + "ff6_mkt_beta": 0.028, | |
| 192 | + "ff6_tech_alpha_ann_pct": 0.54, | |
| 193 | + "ff6_tech_alpha_t": 0.53, | |
| 194 | + "tech_beta": 0.425, | |
| 195 | + "tech_beta_t": 12.14 | |
| 196 | + }, | |
| 197 | + "post": { | |
| 198 | + "n_months": 36, | |
| 199 | + "mean_ann_pct": 6.75, | |
| 200 | + "sd_ann_pct": 6.22, | |
| 201 | + "sharpe_ann": 1.09, | |
| 202 | + "hac_t_mean": 1.59, | |
| 203 | + "n_months_factor_regressions": 34, | |
| 204 | + "capm_alpha_ann_pct": 4.26, | |
| 205 | + "capm_alpha_t": 1.3, | |
| 206 | + "ff6_alpha_ann_pct": 2.46, | |
| 207 | + "ff6_alpha_t": 0.59, | |
| 208 | + "ff6_mkt_beta": 0.12, | |
| 209 | + "ff6_tech_alpha_ann_pct": -1.02, | |
| 210 | + "ff6_tech_alpha_t": -0.27, | |
| 211 | + "tech_beta": 0.498, | |
| 212 | + "tech_beta_t": 4.16 | |
| 213 | + } | |
| 214 | + } | |
| 215 | + }, | |
| 216 | + "A_tech_factor": { | |
| 217 | + "definition": "EW monthly return of Information Technology constituents minus EW return of all constituents in the panel", | |
| 218 | + "mean_ann_pct_post": 15.79, | |
| 219 | + "mean_ann_pct_pre": 4.92 | |
| 220 | + }, | |
| 221 | + "B_cohorts_and_pooled": { | |
| 222 | + "cohort_spreads_pct": { | |
| 223 | + "2010": -9.3, | |
| 224 | + "2011": 3.5, | |
| 225 | + "2012": 10.4, | |
| 226 | + "2013": -11.6, | |
| 227 | + "2014": 0.2, | |
| 228 | + "2015": 12.1, | |
| 229 | + "2016": 9.2, | |
| 230 | + "2017": 0.5, | |
| 231 | + "2018": 6.5, | |
| 232 | + "2019": 4.5, | |
| 233 | + "2020": -3.9, | |
| 234 | + "2021": 7.1, | |
| 235 | + "2022": 9.3, | |
| 236 | + "2023": -4.0, | |
| 237 | + "2024": 38.4 | |
| 238 | + }, | |
| 239 | + "post_mean_pct": 14.6, | |
| 240 | + "post_leave_one_out_pct": { | |
| 241 | + "2022": 17.2, | |
| 242 | + "2023": 23.8, | |
| 243 | + "2024": 2.6 | |
| 244 | + }, | |
| 245 | + "pre_mean_pct": 2.4, | |
| 246 | + "pre_cohorts_above_post_2022": [ | |
| 247 | + 2012, | |
| 248 | + 2015 | |
| 249 | + ], | |
| 250 | + "pre_cohorts_positive_share": 0.75, | |
| 251 | + "pooled_post_Q5_vs_Q1": { | |
| 252 | + "coef_pct": 14.7, | |
| 253 | + "t_firm_cluster": 2.18, | |
| 254 | + "n": 594, | |
| 255 | + "winsorized_coef_pct": 7.2, | |
| 256 | + "winsorized_t": 2.21 | |
| 257 | + }, | |
| 258 | + "pooled_post_Q5_vs_Q1_excl_2024": { | |
| 259 | + "coef_pct": 2.6, | |
| 260 | + "t_firm_cluster": 0.46, | |
| 261 | + "n": 394 | |
| 262 | + }, | |
| 263 | + "pooled_pre_Q5_vs_Q1": { | |
| 264 | + "coef_pct": 2.5, | |
| 265 | + "t_firm_cluster": 1.84, | |
| 266 | + "n": 2156 | |
| 267 | + }, | |
| 268 | + "pooled_diff_in_spread": { | |
| 269 | + "coef_pct": 12.1, | |
| 270 | + "t_firm_cluster": 1.79 | |
| 271 | + } | |
| 272 | + }, | |
| 273 | + "C_break_definitions": { | |
| 274 | + "excl_2021_pre_2010_2020": { | |
| 275 | + "mean": 0.0202, | |
| 276 | + "nw_t": 1.17, | |
| 277 | + "n_cohorts": 11, | |
| 278 | + "by_cohort": { | |
| 279 | + "2010": -0.093, | |
| 280 | + "2011": 0.0354, | |
| 281 | + "2012": 0.1041, | |
| 282 | + "2013": -0.1161, | |
| 283 | + "2014": 0.0021, | |
| 284 | + "2015": 0.1215, | |
| 285 | + "2016": 0.092, | |
| 286 | + "2017": 0.0055, | |
| 287 | + "2018": 0.0647, | |
| 288 | + "2019": 0.0449, | |
| 289 | + "2020": -0.0388 | |
| 290 | + } | |
| 291 | + }, | |
| 292 | + "post_from_2021": { | |
| 293 | + "mean": 0.1271, | |
| 294 | + "nw_t": 2.24, | |
| 295 | + "n_cohorts": 4, | |
| 296 | + "by_cohort": { | |
| 297 | + "2021": 0.0712, | |
| 298 | + "2022": 0.0926, | |
| 299 | + "2023": -0.0397, | |
| 300 | + "2024": 0.3843 | |
| 301 | + } | |
| 302 | + }, | |
| 303 | + "post_2022_2023_only": { | |
| 304 | + "mean": 0.0265, | |
| 305 | + "nw_t": null, | |
| 306 | + "n_cohorts": 2, | |
| 307 | + "by_cohort": { | |
| 308 | + "2022": 0.0926, | |
| 309 | + "2023": -0.0397 | |
| 310 | + } | |
| 311 | + }, | |
| 312 | + "post_2024_only": { | |
| 313 | + "mean": 0.3843, | |
| 314 | + "nw_t": null, | |
| 315 | + "n_cohorts": 1, | |
| 316 | + "by_cohort": { | |
| 317 | + "2024": 0.3843 | |
| 318 | + } | |
| 319 | + } | |
| 320 | + }, | |
| 321 | + "D_entrants": { | |
| 322 | + "n_firms_total": 497, | |
| 323 | + "n_firms_seasoned": 416, | |
| 324 | + "seasoned": { | |
| 325 | + "pre": { | |
| 326 | + "mean": 0.0097, | |
| 327 | + "nw_t": 0.61, | |
| 328 | + "n_cohorts": 12, | |
| 329 | + "by_cohort": { | |
| 330 | + "2010": -0.0943, | |
| 331 | + "2011": -0.0037, | |
| 332 | + "2012": 0.096, | |
| 333 | + "2013": -0.1192, | |
| 334 | + "2014": -0.0158, | |
| 335 | + "2015": 0.1227, | |
| 336 | + "2016": 0.0869, | |
| 337 | + "2017": -0.0372, | |
| 338 | + "2018": 0.0803, | |
| 339 | + "2019": -0.0033, | |
| 340 | + "2020": -0.0458, | |
| 341 | + "2021": 0.0502 | |
| 342 | + } | |
| 343 | + }, | |
| 344 | + "post": { | |
| 345 | + "mean": 0.1727, | |
| 346 | + "nw_t": 2.36, | |
| 347 | + "n_cohorts": 3, | |
| 348 | + "by_cohort": { | |
| 349 | + "2022": 0.0913, | |
| 350 | + "2023": 0.0141, | |
| 351 | + "2024": 0.4127 | |
| 352 | + } | |
| 353 | + } | |
| 354 | + }, | |
| 355 | + "listed_36m": { | |
| 356 | + "pre": { | |
| 357 | + "mean": 0.028, | |
| 358 | + "nw_t": 2.26, | |
| 359 | + "n_cohorts": 11, | |
| 360 | + "by_cohort": { | |
| 361 | + "2011": -0.0037, | |
| 362 | + "2012": 0.1016, | |
| 363 | + "2013": -0.1235, | |
| 364 | + "2014": -0.0008, | |
| 365 | + "2015": 0.1204, | |
| 366 | + "2016": 0.0811, | |
| 367 | + "2017": -0.013, | |
| 368 | + "2018": 0.059, | |
| 369 | + "2019": 0.0425, | |
| 370 | + "2020": -0.0228, | |
| 371 | + "2021": 0.0672 | |
| 372 | + } | |
| 373 | + }, | |
| 374 | + "post": { | |
| 375 | + "mean": 0.1493, | |
| 376 | + "nw_t": 2.11, | |
| 377 | + "n_cohorts": 3, | |
| 378 | + "by_cohort": { | |
| 379 | + "2022": 0.0768, | |
| 380 | + "2023": -0.0118, | |
| 381 | + "2024": 0.3831 | |
| 382 | + } | |
| 383 | + } | |
| 384 | + }, | |
| 385 | + "entrant_share_by_quintile": { | |
| 386 | + "1": 0.117, | |
| 387 | + "2": 0.101, | |
| 388 | + "3": 0.115, | |
| 389 | + "4": 0.119, | |
| 390 | + "5": 0.118 | |
| 391 | + }, | |
| 392 | + "entrant_fwd_ret_minus_seasoned_pct": 10.6 | |
| 393 | + }, | |
| 394 | + "E_sector_controls": { | |
| 395 | + "fm_pre": { | |
| 396 | + "slope_no_sector_pct": 0.65, | |
| 397 | + "t_no_sector": 1.77, | |
| 398 | + "slope_sector_fe_pct": 0.53, | |
| 399 | + "t_sector_fe": 2.54, | |
| 400 | + "n_years": 12 | |
| 401 | + }, | |
| 402 | + "fm_post": { | |
| 403 | + "slope_no_sector_pct": 5.49, | |
| 404 | + "t_no_sector": 2.0, | |
| 405 | + "slope_sector_fe_pct": 2.94, | |
| 406 | + "t_sector_fe": 1.36, | |
| 407 | + "n_years": 3 | |
| 408 | + }, | |
| 409 | + "fm_by_year_sector_fe_pct": { | |
| 410 | + "2010": -1.22, | |
| 411 | + "2011": 2.27, | |
| 412 | + "2012": 1.9, | |
| 413 | + "2013": -1.86, | |
| 414 | + "2014": 0.4, | |
| 415 | + "2015": -0.43, | |
| 416 | + "2016": 2.28, | |
| 417 | + "2017": -0.38, | |
| 418 | + "2018": 1.35, | |
| 419 | + "2019": 0.58, | |
| 420 | + "2020": -0.62, | |
| 421 | + "2021": 2.1, | |
| 422 | + "2022": 1.28, | |
| 423 | + "2023": -2.7, | |
| 424 | + "2024": 10.23 | |
| 425 | + }, | |
| 426 | + "pooled_pre": { | |
| 427 | + "year_fe_slope_pct": 0.43, | |
| 428 | + "year_fe_t": 1.12, | |
| 429 | + "sector_year_fe_slope_pct": 0.32, | |
| 430 | + "sector_year_fe_t": 0.83, | |
| 431 | + "n": 5322 | |
| 432 | + }, | |
| 433 | + "pooled_post": { | |
| 434 | + "year_fe_slope_pct": 2.85, | |
| 435 | + "year_fe_t": 2.76, | |
| 436 | + "sector_year_fe_slope_pct": 1.27, | |
| 437 | + "sector_year_fe_t": 1.22, | |
| 438 | + "n": 1461 | |
| 439 | + } | |
| 440 | + }, | |
| 441 | + "F_filing_type": { | |
| 442 | + "share_firm_years_with_scored_10Q": 0.165, | |
| 443 | + "share_tickers_with_scored_10Q": 0.169, | |
| 444 | + "share_10Q_firm_years_by_quintile_baseline": { | |
| 445 | + "1": 0.034, | |
| 446 | + "2": 0.092, | |
| 447 | + "3": 0.172, | |
| 448 | + "4": 0.23, | |
| 449 | + "5": 0.297 | |
| 450 | + }, | |
| 451 | + "corr_baseline_vs_8k_only_z": 0.949, | |
| 452 | + "rank_corr_baseline_vs_8k_only": 0.938, | |
| 453 | + "8k_only": { | |
| 454 | + "pre": { | |
| 455 | + "mean": 0.0156, | |
| 456 | + "nw_t": 1.14, | |
| 457 | + "n_cohorts": 12, | |
| 458 | + "by_cohort": { | |
| 459 | + "2010": -0.0788, | |
| 460 | + "2011": -0.005, | |
| 461 | + "2012": 0.0812, | |
| 462 | + "2013": -0.0975, | |
| 463 | + "2014": 0.0185, | |
| 464 | + "2015": 0.0686, | |
| 465 | + "2016": 0.0855, | |
| 466 | + "2017": -0.0274, | |
| 467 | + "2018": 0.0719, | |
| 468 | + "2019": 0.024, | |
| 469 | + "2020": -0.0191, | |
| 470 | + "2021": 0.0655 | |
| 471 | + } | |
| 472 | + }, | |
| 473 | + "post": { | |
| 474 | + "mean": 0.1632, | |
| 475 | + "nw_t": 2.1, | |
| 476 | + "n_cohorts": 3, | |
| 477 | + "by_cohort": { | |
| 478 | + "2022": 0.0635, | |
| 479 | + "2023": 0.0126, | |
| 480 | + "2024": 0.4133 | |
| 481 | + } | |
| 482 | + }, | |
| 483 | + "full": { | |
| 484 | + "mean": 0.0451, | |
| 485 | + "nw_t": 1.52, | |
| 486 | + "n_cohorts": 15, | |
| 487 | + "by_cohort": { | |
| 488 | + "2010": -0.0788, | |
| 489 | + "2011": -0.005, | |
| 490 | + "2012": 0.0812, | |
| 491 | + "2013": -0.0975, | |
| 492 | + "2014": 0.0185, | |
| 493 | + "2015": 0.0686, | |
| 494 | + "2016": 0.0855, | |
| 495 | + "2017": -0.0274, | |
| 496 | + "2018": 0.0719, | |
| 497 | + "2019": 0.024, | |
| 498 | + "2020": -0.0191, | |
| 499 | + "2021": 0.0655, | |
| 500 | + "2022": 0.0635, | |
| 501 | + "2023": 0.0126, | |
| 502 | + "2024": 0.4133 | |
| 503 | + } | |
| 504 | + } | |
| 505 | + }, | |
| 506 | + "baseline": { | |
| 507 | + "pre": { | |
| 508 | + "mean": 0.0245, | |
| 509 | + "nw_t": 1.58, | |
| 510 | + "n_cohorts": 12, | |
| 511 | + "by_cohort": { | |
| 512 | + "2010": -0.093, | |
| 513 | + "2011": 0.0354, | |
| 514 | + "2012": 0.1041, | |
| 515 | + "2013": -0.1161, | |
| 516 | + "2014": 0.0021, | |
| 517 | + "2015": 0.1215, | |
| 518 | + "2016": 0.092, | |
| 519 | + "2017": 0.0055, | |
| 520 | + "2018": 0.0647, | |
| 521 | + "2019": 0.0449, | |
| 522 | + "2020": -0.0388, | |
| 523 | + "2021": 0.0712 | |
| 524 | + } | |
| 525 | + }, | |
| 526 | + "post": { | |
| 527 | + "mean": 0.1457, | |
| 528 | + "nw_t": 2.07, | |
| 529 | + "n_cohorts": 3, | |
| 530 | + "by_cohort": { | |
| 531 | + "2022": 0.0926, | |
| 532 | + "2023": -0.0397, | |
| 533 | + "2024": 0.3843 | |
| 534 | + } | |
| 535 | + } | |
| 536 | + }, | |
| 537 | + "excl_10Q_tickers": { | |
| 538 | + "pre": { | |
| 539 | + "mean": 0.0056, | |
| 540 | + "nw_t": 0.34, | |
| 541 | + "n_cohorts": 12, | |
| 542 | + "by_cohort": { | |
| 543 | + "2010": -0.0951, | |
| 544 | + "2011": -0.0001, | |
| 545 | + "2012": 0.061, | |
| 546 | + "2013": -0.1364, | |
| 547 | + "2014": 0.031, | |
| 548 | + "2015": 0.0704, | |
| 549 | + "2016": 0.0759, | |
| 550 | + "2017": 0.0073, | |
| 551 | + "2018": 0.0332, | |
| 552 | + "2019": 0.046, | |
| 553 | + "2020": -0.0302, | |
| 554 | + "2021": 0.0038 | |
| 555 | + } | |
| 556 | + }, | |
| 557 | + "post": { | |
| 558 | + "mean": 0.15, | |
| 559 | + "nw_t": 1.96, | |
| 560 | + "n_cohorts": 3, | |
| 561 | + "by_cohort": { | |
| 562 | + "2022": 0.0574, | |
| 563 | + "2023": -0.0054, | |
| 564 | + "2024": 0.3981 | |
| 565 | + } | |
| 566 | + } | |
| 567 | + }, | |
| 568 | + "effect_of_scored_10Q_on_z_baseline_SD": { | |
| 569 | + "coef": 0.668, | |
| 570 | + "t": 6.73 | |
| 571 | + }, | |
| 572 | + "effect_of_scored_10Q_on_z_8k_only_SD": { | |
| 573 | + "coef": -0.096, | |
| 574 | + "t": -1.07 | |
| 575 | + }, | |
| 576 | + "8k_only_monthly_ls": { | |
| 577 | + "pre": { | |
| 578 | + "n_months": 144, | |
| 579 | + "mean_ann_pct": 0.73, | |
| 580 | + "sharpe_ann": 0.15, | |
| 581 | + "hac_t": 0.47 | |
| 582 | + }, | |
| 583 | + "post": { | |
| 584 | + "n_months": 36, | |
| 585 | + "mean_ann_pct": 8.5, | |
| 586 | + "sharpe_ann": 1.42, | |
| 587 | + "hac_t": 2.25 | |
| 588 | + } | |
| 589 | + } | |
| 590 | + }, | |
| 591 | + "G_event_inference": { | |
| 592 | + "n_high": 160, | |
| 593 | + "n_low": 162, | |
| 594 | + "est_window_days": 209, | |
| 595 | + "hl_portfolio_daily_sd_est_pct": 0.279, | |
| 596 | + "hl_portfolio_daily_sd_event_pct": 0.245, | |
| 597 | + "avg_pairwise_corr_est_AR_all": 0.0359, | |
| 598 | + "avg_pairwise_corr_est_AR_high": 0.0316, | |
| 599 | + "avg_pairwise_corr_est_AR_low": 0.0533, | |
| 600 | + "cda": [ | |
| 601 | + { | |
| 602 | + "horizon": "car_60d", | |
| 603 | + "days": 60, | |
| 604 | + "HL_CAR_pct": 2.93, | |
| 605 | + "t_cda": 1.35, | |
| 606 | + "t_event_window_sd": 1.54, | |
| 607 | + "kp_adjustment_factor": 0.265, | |
| 608 | + "rho_bar": 0.0394 | |
| 609 | + }, | |
| 610 | + { | |
| 611 | + "horizon": "car_6m", | |
| 612 | + "days": 125, | |
| 613 | + "HL_CAR_pct": 4.53, | |
| 614 | + "t_cda": 1.45, | |
| 615 | + "t_event_window_sd": 1.65, | |
| 616 | + "kp_adjustment_factor": 0.265, | |
| 617 | + "rho_bar": 0.0394 | |
| 618 | + }, | |
| 619 | + { | |
| 620 | + "horizon": "car_1y", | |
| 621 | + "days": 250, | |
| 622 | + "HL_CAR_pct": 10.08, | |
| 623 | + "t_cda": 2.28, | |
| 624 | + "t_event_window_sd": 2.6, | |
| 625 | + "kp_adjustment_factor": 0.265, | |
| 626 | + "rho_bar": 0.0394 | |
| 627 | + }, | |
| 628 | + { | |
| 629 | + "horizon": "car_18m", | |
| 630 | + "days": 395, | |
| 631 | + "HL_CAR_pct": 14.59, | |
| 632 | + "t_cda": 2.63, | |
| 633 | + "t_event_window_sd": 2.99, | |
| 634 | + "kp_adjustment_factor": 0.265, | |
| 635 | + "rho_bar": 0.0394 | |
| 636 | + } | |
| 637 | + ] | |
| 638 | + }, | |
| 639 | + "H_coverage": { | |
| 640 | + "firms_per_cohort": { | |
| 641 | + "2010": 409, | |
| 642 | + "2011": 414, | |
| 643 | + "2012": 425, | |
| 644 | + "2013": 433, | |
| 645 | + "2014": 438, | |
| 646 | + "2015": 447, | |
| 647 | + "2016": 450, | |
| 648 | + "2017": 458, | |
| 649 | + "2018": 463, | |
| 650 | + "2019": 473, | |
| 651 | + "2020": 480, | |
| 652 | + "2021": 485, | |
| 653 | + "2022": 488, | |
| 654 | + "2023": 492, | |
| 655 | + "2024": 497 | |
| 656 | + }, | |
| 657 | + "median_chunks_per_firm_year": { | |
| 658 | + "2010": 24.0, | |
| 659 | + "2011": 25.0, | |
| 660 | + "2012": 25.0, | |
| 661 | + "2013": 24.0, | |
| 662 | + "2014": 24.5, | |
| 663 | + "2015": 27.0, | |
| 664 | + "2016": 26.0, | |
| 665 | + "2017": 26.0, | |
| 666 | + "2018": 28.0, | |
| 667 | + "2019": 30.0, | |
| 668 | + "2020": 36.0, | |
| 669 | + "2021": 33.0, | |
| 670 | + "2022": 29.0, | |
| 671 | + "2023": 29.5, | |
| 672 | + "2024": 30.0 | |
| 673 | + }, | |
| 674 | + "median_filings_per_firm_year": { | |
| 675 | + "2010": 13.0, | |
| 676 | + "2011": 13.0, | |
| 677 | + "2012": 13.0, | |
| 678 | + "2013": 12.0, | |
| 679 | + "2014": 12.0, | |
| 680 | + "2015": 13.0, | |
| 681 | + "2016": 13.0, | |
| 682 | + "2017": 13.0, | |
| 683 | + "2018": 12.0, | |
| 684 | + "2019": 12.0, | |
| 685 | + "2020": 14.0, | |
| 686 | + "2021": 13.0, | |
| 687 | + "2022": 12.0, | |
| 688 | + "2023": 11.0, | |
| 689 | + "2024": 11.0 | |
| 690 | + }, | |
| 691 | + "chunks_per_firm_year_quantiles": { | |
| 692 | + "0.05": 10.0, | |
| 693 | + "0.25": 17.0, | |
| 694 | + "0.5": 28.0, | |
| 695 | + "0.75": 57.0, | |
| 696 | + "0.95": 259.0 | |
| 697 | + }, | |
| 698 | + "forward_return_months_2024_cohort": "July 2025 - June 2026 (prices through 2026-06-01: 11 monthly returns)", | |
| 699 | + "rank_autocorr_composite_lag1": 0.883, | |
| 700 | + "rank_autocorr_composite_lag5": 0.726, | |
| 701 | + "largest_post_period_forward_returns": [ | |
| 702 | + { | |
| 703 | + "ticker": "WDC", | |
| 704 | + "fiscal_year": 2024, | |
| 705 | + "fwd_ret": 9.692, | |
| 706 | + "q": 5 | |
| 707 | + }, | |
| 708 | + { | |
| 709 | + "ticker": "LITE", | |
| 710 | + "fiscal_year": 2024, | |
| 711 | + "fwd_ret": 8.208, | |
| 712 | + "q": 4 | |
| 713 | + }, | |
| 714 | + { | |
| 715 | + "ticker": "MU", | |
| 716 | + "fiscal_year": 2024, | |
| 717 | + "fwd_ret": 7.302, | |
| 718 | + "q": 5 | |
| 719 | + }, | |
| 720 | + { | |
| 721 | + "ticker": "STX", | |
| 722 | + "fiscal_year": 2024, | |
| 723 | + "fwd_ret": 6.238, | |
| 724 | + "q": 5 | |
| 725 | + }, | |
| 726 | + { | |
| 727 | + "ticker": "PLTR", | |
| 728 | + "fiscal_year": 2023, | |
| 729 | + "fwd_ret": 4.382, | |
| 730 | + "q": 1 | |
| 731 | + } | |
| 732 | + ] | |
| 733 | + } | |
| 734 | +} | |
| \ No newline at end of file | ||
added
results/tables/review_cohort_spreads.csv
+16 −0
@@ -0,0 +1,16 @@ | ||
| 1 | +cohort,spread_pct | |
| 2 | +2010,-9.3 | |
| 3 | +2011,3.54 | |
| 4 | +2012,10.41 | |
| 5 | +2013,-11.61 | |
| 6 | +2014,0.21 | |
| 7 | +2015,12.15 | |
| 8 | +2016,9.2 | |
| 9 | +2017,0.55 | |
| 10 | +2018,6.47 | |
| 11 | +2019,4.49 | |
| 12 | +2020,-3.88 | |
| 13 | +2021,7.12 | |
| 14 | +2022,9.26 | |
| 15 | +2023,-3.97 | |
| 16 | +2024,38.43 | |
added
results/tables/review_event_cda.csv
+5 −0
@@ -0,0 +1,5 @@ | ||
| 1 | +horizon,days,HL_CAR_pct,t_cda,t_event_window_sd,kp_adjustment_factor,rho_bar | |
| 2 | +car_60d,60,2.93,1.35,1.54,0.265,0.0394 | |
| 3 | +car_6m,125,4.53,1.45,1.65,0.265,0.0394 | |
| 4 | +car_1y,250,10.08,2.28,2.6,0.265,0.0394 | |
| 5 | +car_18m,395,14.59,2.63,2.99,0.265,0.0394 | |
modified
results/tables/t6_did_eventtime.csv
+10 −10
@@ -1,11 +1,11 @@ | ||
| 1 | 1 | year,coef,se |
| 2 | −2015,0.03850249557447814,0.0013847785818818304 | |
| 3 | −2016,0.029540519812011792,0.003984829195566341 | |
| 4 | −2017,0.0020874489718797178,0.003401459013410779 | |
| 5 | −2018,0.022522749526366223,0.001059669525518878 | |
| 6 | −2019,-0.0027932633763402374,0.002102424960501601 | |
| 7 | −2020,-0.011764718161458246,0.0011151327454620148 | |
| 8 | −2021,0.015693415374462505,0.0012102032110539297 | |
| 9 | −2022,0.03381454132319204,0.0019458437808454545 | |
| 10 | −2023,0.005122643968623584,0.002502640547920803 | |
| 11 | −2024,0.06760337692913147,0.001162772256778745 | |
| 2 | +2015,0.038502495574478234,0.013647551181681136 | |
| 3 | +2016,0.029540519812011834,0.012753810613341071 | |
| 4 | +2017,0.0020874489718798435,0.011114057494232506 | |
| 5 | +2018,0.022522749526366168,0.01461694854274626 | |
| 6 | +2019,-0.0027932633763403172,0.015538493690487308 | |
| 7 | +2020,-0.011764718161458482,0.009738245327623967 | |
| 8 | +2021,0.01569341537446243,0.015873370796659073 | |
| 9 | +2022,0.033814541323192,0.01564722010647861 | |
| 10 | +2023,0.005122643968623537,0.01576196920371611 | |
| 11 | +2024,0.06760337692913146,0.02251728487512382 | |
modified
results/tables/t6_fm_byyear.csv
+15 −15
@@ -1,16 +1,16 @@ | ||
| 1 | 1 | year,coef,se,t |
| 2 | −2010,-0.018654282938673935,0.009695472645955532,-1.924019964767326 | |
| 3 | −2011,0.001435148364027878,0.01438043334007432,0.09979868687465165 | |
| 4 | −2012,0.035395857398994084,0.013905930789781204,2.5453785103694595 | |
| 5 | −2013,-0.03282015610944249,0.010621142759634808,-3.090077673578974 | |
| 6 | −2014,0.010841711196201715,0.0118676603547193,0.9135508492952779 | |
| 7 | −2015,0.006479326366460463,0.013412889918344228,0.4830671395877908 | |
| 8 | −2016,0.027079840054787516,0.012550003254423658,2.1577556201224364 | |
| 9 | −2017,0.0034972629856182694,0.011850963686757185,0.29510367916545666 | |
| 10 | −2018,0.020546311066695522,0.015297392093211267,1.343125085733642 | |
| 11 | −2019,0.0037012299178389874,0.0165908689232616,0.22308837077542062 | |
| 12 | −2020,-0.009948325957169284,0.01076988640073044,-0.9237168886474573 | |
| 13 | −2021,0.031487333586654294,0.030271538243484206,1.0401629852236458 | |
| 14 | −2022,0.02932795595191836,0.01845057569643446,1.5895415099478947 | |
| 15 | −2023,-0.011106516046450734,0.022395723028705683,-0.4959212985539683 | |
| 16 | −2024,0.1433682452091106,0.05192664084428197,2.7609766947768577 | |
| 2 | +2010,-0.018654282938673942,0.009695472645955529,-1.9240199647673273 | |
| 3 | +2011,0.001435148364027885,0.014380433340074323,0.09979868687465211 | |
| 4 | +2012,0.035395857398994125,0.013905930789781194,2.5453785103694644 | |
| 5 | +2013,-0.032820156109442514,0.010621142759634813,-3.0900776735789743 | |
| 6 | +2014,0.010841711196201686,0.011867660354719292,0.913550849295276 | |
| 7 | +2015,0.006479326366460515,0.013412889918344231,0.48306713958779457 | |
| 8 | +2016,0.02707984005478753,0.012550003254423663,2.157755620122437 | |
| 9 | +2017,0.0034972629856182416,0.01185096368675719,0.29510367916545416 | |
| 10 | +2018,0.02054631106669548,0.01529739209321126,1.34312508573364 | |
| 11 | +2019,0.003701229917838984,0.016590868923261604,0.22308837077542037 | |
| 12 | +2020,-0.009948325957169268,0.010769886400730438,-0.9237168886474559 | |
| 13 | +2021,0.03148733358665427,0.030271538243484185,1.040162985223646 | |
| 14 | +2022,0.02932795595191831,0.018450575696434473,1.589541509947891 | |
| 15 | +2023,-0.011106516046450746,0.022395723028705686,-0.49592129855396877 | |
| 16 | +2024,0.14336824520911068,0.051926640844281974,2.7609766947768586 | |
modified
scripts/04_figures.py
+3 −3
@@ -69,7 +69,7 @@ cols=[RED if y>=2022 else NAVY for y in sp.year] | ||
| 69 | 69 | ax.bar(sp.year,sp.sp,color=cols,edgecolor="k",lw=.5) |
| 70 | 70 | ax.axhline(0,color="k",lw=.8) |
| 71 | 71 | ax.set_title("Annual High-minus-Low AI-Disclosure Return Spread by Formation Year",fontweight="bold") |
| 72 | −ax.set_ylabel("Q5 − Q1 forward 12m return (pp)"); ax.set_xlabel("Fiscal year of 10-K (signal)") | |
| 72 | +ax.set_ylabel("Q5 − Q1 forward 12m return (pp)"); ax.set_xlabel("Filing year of the signal (calendar year of the 8-K/10-Q filings)") | |
| 73 | 73 | ax.set_xticks(sp.year); ax.tick_params(axis="x",rotation=45) |
| 74 | 74 | from matplotlib.patches import Patch |
| 75 | 75 | ax.legend(handles=[Patch(color=NAVY,label="Pre-ChatGPT (2010-2021)"),Patch(color=RED,label="Post-ChatGPT (2022-2024)")],frameon=False) |
@@ -82,8 +82,8 @@ for col,c,lab in [("ai_adoption_wmean",NAVY,"AI adoption"),("ai_infrastructure_w | ||
| 82 | 82 | g=df.groupby("fiscal_year")[col].mean() |
| 83 | 83 | ax.plot(g.index,g.values,marker="o",color=c,label=lab,lw=1.8) |
| 84 | 84 | ax.axvline(2022,color="grey",ls="--",lw=1) |
| 85 | −ax.set_title("Rising AI Language Across S&P 500 10-K Filings (cross-sectional mean similarity)",fontweight="bold") | |
| 86 | −ax.set_ylabel("Section-weighted cosine similarity to AI anchor"); ax.set_xlabel("Fiscal year") | |
| 85 | +ax.set_title("Rising AI Language Across S&P 500 SEC Filings (cross-sectional mean similarity)",fontweight="bold") | |
| 86 | +ax.set_ylabel("Section-weighted cosine similarity to AI anchor"); ax.set_xlabel("Filing year") | |
| 87 | 87 | ax.legend(frameon=False) |
| 88 | 88 | fig.tight_layout(); fig.savefig(f"{F}/fig4_ai_language_trend.png",bbox_inches="tight"); plt.close() |
| 89 | 89 | |
modified
scripts/06_extended.py
+4 −1
@@ -230,8 +230,11 @@ df["pre_AI_cont2"]=df["pre_AI_cont"] | ||
| 230 | 230 | ev=df.dropna(subset=["fwd_w","pre_AI_cont2","z_size","z_mom"]).copy() |
| 231 | 231 | ev=ev[ev.fiscal_year.between(2015,2024)] |
| 232 | 232 | ev["yr"]=ev.fiscal_year.astype(int).astype(str) |
| 233 | +# Review fix (2026-10-17): the year-by-year interaction coefficients are each identified within a | |
| 234 | +# single year, so clustering by year makes their cluster-robust variance degenerate (SEs ~0.001, | |
| 235 | +# t-statistics of 20-30 in the June 2026 draft). Standard errors are now clustered by firm. | |
| 233 | 236 | m_ev=smf.ols("fwd_w ~ C(yr, Treatment('2021')):pre_AI_cont2 + C(yr) + z_size + z_mom",data=ev).fit( |
| 234 | − cov_type="cluster",cov_kwds={"groups":ev["fiscal_year"]}) | |
| 237 | + cov_type="cluster",cov_kwds={"groups":ev["ticker"]}) | |
| 235 | 238 | evt=[] |
| 236 | 239 | for yr in range(2015,2025): |
| 237 | 240 | cand=[f"C(yr, Treatment('2021'))[{yr}]:pre_AI_cont2", |
modified
scripts/08_figures_ext.py
+3 −3
@@ -19,7 +19,7 @@ cols=[RED if y>=2022 else NAVY for y in fm.year] | ||
| 19 | 19 | ax.bar(fm.year,fm.coef*100,yerr=fm.se*100*1.0,color=cols,edgecolor="k",lw=.5,capsize=3,error_kw={"alpha":.5}) |
| 20 | 20 | ax.axhline(0,color="k",lw=.8); ax.set_xticks(fm.year); ax.tick_params(axis="x",rotation=45) |
| 21 | 21 | ax.set_title("Year-by-Year Fama–MacBeth Slope on the AI-Disclosure Composite\n(forward 12m return per cross-sectional SD, with size/momentum/volatility controls)",fontweight="bold") |
| 22 | −ax.set_ylabel("Slope coefficient (pp per SD)"); ax.set_xlabel("Formation year (10-K fiscal year)") | |
| 22 | +ax.set_ylabel("Slope coefficient (pp per SD)"); ax.set_xlabel("Formation year (filing year of the signal)") | |
| 23 | 23 | ax.legend(handles=[Patch(color=NAVY,label="Pre-ChatGPT"),Patch(color=RED,label="Post-ChatGPT")],frameon=False) |
| 24 | 24 | fig.tight_layout(); fig.savefig(f"{F}/fig6_fm_byyear.png",bbox_inches="tight"); plt.close() |
| 25 | 25 | |
@@ -89,7 +89,7 @@ fig,ax=plt.subplots(figsize=(10,4.6)) | ||
| 89 | 89 | ax.errorbar(et.year,et.coef*100,yerr=et.se*100*1.96,fmt="o-",color=NAVY,capsize=3,lw=1.6) |
| 90 | 90 | ax.axhline(0,color="k",lw=.7); ax.axvline(2021.5,color=RED,ls="--",lw=1.2) |
| 91 | 91 | ax.annotate("ChatGPT",xy=(2021.55,ax.get_ylim()[1]*.8),color=RED,fontsize=9) |
| 92 | −ax.set_title("Return Premium on Pre-Determined (2019–21) AI Exposure, by Year\n(event-study coefficients, 95% CI)",fontweight="bold") | |
| 92 | +ax.set_title("Return Premium on Pre-Determined (2019–21) AI Exposure, by Year\n(event-time coefficients, 95% CI, standard errors clustered by firm)",fontweight="bold") | |
| 93 | 93 | ax.set_ylabel("Premium (pp per SD of fixed AI exposure)"); ax.set_xlabel("Formation year") |
| 94 | 94 | ax.set_xticks(et.year) |
| 95 | 95 | fig.tight_layout(); fig.savefig(f"{F}/fig11_eventtime.png",bbox_inches="tight"); plt.close() |
@@ -115,7 +115,7 @@ z=np.polyfit(b.x,b.y*100,1); xs=np.linspace(b.x.min(),b.x.max(),50) | ||
| 115 | 115 | ax.plot(xs,np.polyval(z,xs),color=RED,lw=2) |
| 116 | 116 | ax.axhline(0,color="k",lw=.6) |
| 117 | 117 | ax.set_title(f"1-Year Abnormal Return after ChatGPT vs. Pre-Event AI Exposure\n(binned; slope ≈ {z[0]:.1f} pp per SD)",fontweight="bold") |
| 118 | −ax.set_xlabel("Pre-event AI disclosure (FY2021, z-score)"); ax.set_ylabel("Market-model CAR, +1 year (%)") | |
| 118 | +ax.set_xlabel("Pre-event AI disclosure (filings of calendar 2021, z-score)"); ax.set_ylabel("Market-model CAR, +1 year (%)") | |
| 119 | 119 | fig.tight_layout(); fig.savefig(f"{F}/fig13_event_binscatter.png",bbox_inches="tight"); plt.close() |
| 120 | 120 | |
| 121 | 121 | print("figures 6-13 written") |
added
scripts/10_filing_type_scores.py
+57 −0
@@ -0,0 +1,57 @@ | ||
| 1 | +""" | |
| 2 | +10_filing_type_scores.py -- Derive firm-year semantic scores BY FILING TYPE (8-K vs 10-Q) | |
| 3 | +from the filing-level scores of the EDGAR Research Database, for the editorial-board review | |
| 4 | +(2026-10-17). The annual panel used in the paper averages per-filing scores across all scored | |
| 5 | +filings of a calendar year regardless of form type; this script makes the composition of that | |
| 6 | +average explicit and allows an 8-K-only signal to be rebuilt. | |
| 7 | + | |
| 8 | +Input (local EDGAR Research Database, not redistributed): | |
| 9 | + ~/Desktop/UQO/UQO_RESEARCH_DB/data/parquet/filing_scores/form_type=*/ *.parquet | |
| 10 | +Output (committed, ~0.5 MB): | |
| 11 | + data/processed/filing_type_scores.parquet | |
| 12 | + ticker, fiscal_year (= calendar year of the filing date), form_type, n_filings, n_chunks, | |
| 13 | + <anchor>_wmean / _mean / _top5pct averaged across filings of that type (unweighted, as in the DB) | |
| 14 | + results/tables/corpus_composition.json (counts by form type, parse status, chunks per filing) | |
| 15 | +""" | |
| 16 | +import json, os, sys | |
| 17 | +import pandas as pd, pyarrow.dataset as ds | |
| 18 | + | |
| 19 | +DB = os.path.expanduser("~/Desktop/UQO/UQO_RESEARCH_DB/data/parquet") | |
| 20 | +OUT = "data/processed/filing_type_scores.parquet" | |
| 21 | +if not os.path.isdir(DB): | |
| 22 | + sys.exit("EDGAR Research Database not found; the committed data/processed/filing_type_scores.parquet is the reference copy.") | |
| 23 | + | |
| 24 | +fs = ds.dataset(f"{DB}/filing_scores", format="parquet", partitioning="hive").to_table().to_pandas() | |
| 25 | +fl = ds.dataset(f"{DB}/filings", format="parquet").to_table( | |
| 26 | + columns=["accession_number", "form_type", "filing_date", "parse_status"]).to_pandas() | |
| 27 | +cs = ds.dataset(f"{DB}/chunk_scores", format="parquet", partitioning="hive").to_table( | |
| 28 | + columns=["form_type", "section_name"]).to_pandas() | |
| 29 | + | |
| 30 | +anchors = ["ai_adoption", "ai_infrastructure", "ai_disruption_risk", "esg_commitment", | |
| 31 | + "climate_risk", "cybersecurity", "automation_labor", "macro_risk"] | |
| 32 | +cols = [f"{a}_wmean" for a in anchors] + [f"{a}_{s}" for a in anchors[:3] for s in ("mean", "top5pct")] | |
| 33 | +agg = {c: (c, "mean") for c in cols} | |
| 34 | +agg["n_filings"] = ("accession_number", "count") | |
| 35 | +agg["n_chunks"] = ("chunk_count", "sum") | |
| 36 | +out = fs.groupby(["ticker", "fiscal_year", "form_type"], as_index=False).agg(**agg) | |
| 37 | +out["form_type"] = out["form_type"].astype(str) | |
| 38 | +out.to_parquet(OUT, index=False) | |
| 39 | + | |
| 40 | +fl["year"] = pd.to_datetime(fl["filing_date"]).dt.year | |
| 41 | +comp = { | |
| 42 | + "filings_downloaded_by_form": fl.form_type.value_counts().to_dict(), | |
| 43 | + "filings_parsed_by_form": fl[fl.parse_status == "complete"].form_type.value_counts().to_dict(), | |
| 44 | + "filings_scored_by_form": fs.form_type.value_counts().to_dict(), | |
| 45 | + "chunks_scored_by_form_and_section": cs.groupby(["form_type", "section_name"]).size().reset_index() | |
| 46 | + .rename(columns={0: "n"}).to_dict("records"), | |
| 47 | + "chunks_per_filing_by_form": fs.groupby("form_type").chunk_count.describe().round(1).to_dict("index"), | |
| 48 | + "tickers_with_scored_10Q": int(fs[fs.form_type == "10-Q"].ticker.nunique()), | |
| 49 | + "tickers_total": int(fs.ticker.nunique()), | |
| 50 | + "firm_years_with_10Q_share": float(((out.pivot_table(index=["ticker", "fiscal_year"], columns="form_type", | |
| 51 | + values="n_filings", aggfunc="sum").fillna(0)["10-Q"] > 0).mean())), | |
| 52 | + "fiscal_year_definition": "EXTRACT(YEAR FROM filing_date) in src/factors/scoring.py (calendar year of filing)", | |
| 53 | + "ai_adoption_wmean_by_form": fs.groupby("form_type").ai_adoption_wmean.describe().round(4).to_dict("index"), | |
| 54 | +} | |
| 55 | +json.dump(comp, open("results/tables/corpus_composition.json", "w"), indent=2, default=str) | |
| 56 | +print(out.shape, out.form_type.value_counts().to_dict()) | |
| 57 | +print(json.dumps({k: v for k, v in comp.items() if k not in ("chunks_scored_by_form_and_section",)}, indent=1, default=str)[:1500]) | |
added
scripts/11_review_reanalysis.py
+306 −0
@@ -0,0 +1,306 @@ | ||
| 1 | +""" | |
| 2 | +11_review_reanalysis.py -- Re-analyses requested by the editorial-board review (2026-10-17). | |
| 3 | +Everything is computed from the committed parquet files in data/processed/ (no download). | |
| 4 | +Runs in well under a minute. | |
| 5 | + | |
| 6 | +Blocks | |
| 7 | + A. Monthly long-short series: pre/post means, Sharpe ratios, HAC t-statistics, CAPM/FF6 alphas by | |
| 8 | + sub-period, and an FF6 + technology-sector factor spanning test (TECH = EW Information-Technology | |
| 9 | + return minus EW universe return, built from the panel's own monthly returns). | |
| 10 | + B. Cohort-by-cohort post-period spreads, leave-one-cohort-out means, and a pooled firm-level test of | |
| 11 | + the post-period Q5-Q1 spread with firm-clustered standard errors. | |
| 12 | + C. Alternative break definitions (2021 cohort excluded; Post = formation year >= 2021). | |
| 13 | + D. Entrant / survivorship checks: seasoned firms only (monthly prices available since July 2009) and | |
| 14 | + firms listed for at least 36 months at formation. | |
| 15 | + E. Sector controls: Fama-MacBeth slopes with GICS-sector dummies, and a pooled regression with | |
| 16 | + sector-by-year fixed effects (firm-clustered SE), pre and post. | |
| 17 | + F. Filing-type composition of the signal: 8-K-only composite (rebuilt from data/processed/ | |
| 18 | + filing_type_scores.parquet), its correlation with the baseline, and the mechanical effect of the | |
| 19 | + partially parsed 10-Q sample (84 tickers) on quintile membership. | |
| 20 | + G. Event-study inference robust to cross-sectional correlation: High-minus-Low portfolio abnormal | |
| 21 | + returns with the crude-dependence adjustment of Brown and Warner (1985) and the average | |
| 22 | + cross-correlation of estimation-window residuals (Kolari and Pynnonen, 2010). | |
| 23 | + H. Coverage statistics (firms per cohort, chunks per firm-year). | |
| 24 | +Outputs: results/tables/results_review.json, results/tables/review_cohort_spreads.csv, | |
| 25 | + results/tables/review_event_cda.csv | |
| 26 | +""" | |
| 27 | +import json, warnings | |
| 28 | +import numpy as np, pandas as pd | |
| 29 | +import statsmodels.api as sm, statsmodels.formula.api as smf | |
| 30 | +from statsmodels.stats.sandwich_covariance import cov_hac | |
| 31 | +warnings.filterwarnings("ignore") | |
| 32 | + | |
| 33 | +D = "data/processed"; T = "results/tables" | |
| 34 | +df = pd.read_parquet(f"{D}/analysis_panel.parquet") | |
| 35 | +mret = pd.read_parquet(f"{D}/monthly_returns.parquet") | |
| 36 | +mret["date"] = pd.to_datetime(mret["date"]).dt.to_period("M").dt.to_timestamp("M") | |
| 37 | +ff = pd.read_parquet(f"{D}/ff5_monthly.parquet").merge(pd.read_parquet(f"{D}/mom_monthly.parquet")[["date", "MOM"]], on="date", how="left") | |
| 38 | +ff["date"] = pd.to_datetime(ff["date"]).dt.to_period("M").dt.to_timestamp("M") | |
| 39 | +ff = ff.set_index("date") | |
| 40 | +R = {} | |
| 41 | +POST_START = pd.Timestamp("2023-07-31") # first holding month of the first post-ChatGPT cohort (formation year 2022) | |
| 42 | +PRE_YRS, POST_YRS = range(2010, 2022), range(2022, 2025) | |
| 43 | + | |
| 44 | +def nw_t(x, lags=3): | |
| 45 | + x = pd.Series(x).dropna().values | |
| 46 | + if len(x) < 3: return float(np.mean(x)) if len(x) else np.nan, np.nan | |
| 47 | + r = sm.OLS(x, np.ones((len(x), 1))).fit() | |
| 48 | + return float(x.mean()), float(x.mean() / np.sqrt(cov_hac(r, nlags=lags)[0, 0])) | |
| 49 | + | |
| 50 | +def zc(g): return (g - g.mean()) / g.std(ddof=0) | |
| 51 | + | |
| 52 | +def cohort_spreads(d, zcol, yrs, oc="fwd_ret"): | |
| 53 | + out = {} | |
| 54 | + for yr, g in d[d.fiscal_year.isin(list(yrs))].groupby("fiscal_year"): | |
| 55 | + g = g.dropna(subset=[zcol, oc]) | |
| 56 | + if len(g) < 25: continue | |
| 57 | + g = g.copy(); g["q"] = pd.qcut(g[zcol], 5, labels=False, duplicates="drop") + 1 | |
| 58 | + out[int(yr)] = float(g[g.q == 5][oc].mean() - g[g.q == 1][oc].mean()) | |
| 59 | + return out | |
| 60 | + | |
| 61 | +def spread_stats(d, zcol, yrs, oc="fwd_ret"): | |
| 62 | + sp = cohort_spreads(d, zcol, yrs, oc) | |
| 63 | + mu, t = nw_t(list(sp.values())) | |
| 64 | + return {"mean": round(mu, 4), "nw_t": round(t, 2) if t == t else None, "n_cohorts": len(sp), | |
| 65 | + "by_cohort": {k: round(v, 4) for k, v in sp.items()}} | |
| 66 | + | |
| 67 | +# ===================================================================== | |
| 68 | +# A. monthly long-short series | |
| 69 | +# ===================================================================== | |
| 70 | +sect = df.drop_duplicates("ticker").set_index("ticker")["sector"] | |
| 71 | +mret["sector"] = mret.ticker.map(sect) | |
| 72 | +ew_all = mret.groupby("date").ret.mean() | |
| 73 | +ew_it = mret[mret.sector == "Information Technology"].groupby("date").ret.mean() | |
| 74 | +tech = (ew_it - ew_all).rename("TECH") | |
| 75 | +A = {} | |
| 76 | +for k in ["AI_COMPOS", "AI_ADOPT", "AI_INFRA", "AI_RISK"]: | |
| 77 | + ts = pd.read_parquet(f"{D}/ls_ts_{k}.parquet"); ts["date"] = pd.to_datetime(ts["date"]) | |
| 78 | + ts = ts.set_index("date").join(ff, how="left").join(tech, how="left").dropna(subset=["ls"]) | |
| 79 | + A[k] = {} | |
| 80 | + for lab, m in [("full", ts.index >= ts.index.min()), ("pre", ts.index < POST_START), ("post", ts.index >= POST_START)]: | |
| 81 | + s = ts[m]; y = s["ls"] | |
| 82 | + mu, t = nw_t(y.values) | |
| 83 | + blk = {"n_months": int(len(s)), "mean_ann_pct": round(mu * 1200, 2), "sd_ann_pct": round(y.std() * np.sqrt(12) * 100, 2), | |
| 84 | + "sharpe_ann": round(mu / y.std() * np.sqrt(12), 2), "hac_t_mean": round(t, 2), | |
| 85 | + "n_months_factor_regressions": int(s.dropna(subset=["MktRF", "MOM"]).shape[0])} | |
| 86 | + for name, cols in [("capm", ["MktRF"]), ("ff6", ["MktRF", "SMB", "HML", "RMW", "CMA", "MOM"]), | |
| 87 | + ("ff6_tech", ["MktRF", "SMB", "HML", "RMW", "CMA", "MOM", "TECH"])]: | |
| 88 | + ss = s.dropna(subset=cols) | |
| 89 | + r = sm.OLS(ss["ls"], sm.add_constant(ss[cols])).fit(cov_type="HAC", cov_kwds={"maxlags": 3}) | |
| 90 | + blk[f"{name}_alpha_ann_pct"] = round(r.params["const"] * 1200, 2); blk[f"{name}_alpha_t"] = round(r.tvalues["const"], 2) | |
| 91 | + if "TECH" in cols: blk["tech_beta"] = round(r.params["TECH"], 3); blk["tech_beta_t"] = round(r.tvalues["TECH"], 2) | |
| 92 | + if name == "ff6": blk["ff6_mkt_beta"] = round(r.params["MktRF"], 3) | |
| 93 | + A[k][lab] = blk | |
| 94 | +R["A_monthly_longshort"] = A | |
| 95 | +R["A_tech_factor"] = {"definition": "EW monthly return of Information Technology constituents minus EW return of all constituents in the panel", | |
| 96 | + "mean_ann_pct_post": round(tech[tech.index >= POST_START].mean() * 1200, 2), | |
| 97 | + "mean_ann_pct_pre": round(tech[(tech.index < POST_START) & (tech.index >= "2011-07-31")].mean() * 1200, 2)} | |
| 98 | +print("A.", json.dumps(A["AI_COMPOS"], indent=0)[:900]) | |
| 99 | + | |
| 100 | +# ===================================================================== | |
| 101 | +# B. cohorts and pooled firm-level inference | |
| 102 | +# ===================================================================== | |
| 103 | +B = {} | |
| 104 | +cs = cohort_spreads(df, "z_AI_COMPOS", range(2010, 2025)) | |
| 105 | +B["cohort_spreads_pct"] = {k: round(v * 100, 1) for k, v in cs.items()} | |
| 106 | +post = {k: v for k, v in cs.items() if k >= 2022} | |
| 107 | +B["post_mean_pct"] = round(np.mean(list(post.values())) * 100, 1) | |
| 108 | +B["post_leave_one_out_pct"] = {k: round(np.mean([v for kk, v in post.items() if kk != k]) * 100, 1) for k in post} | |
| 109 | +B["pre_mean_pct"] = round(np.mean([v for k, v in cs.items() if k < 2022]) * 100, 1) | |
| 110 | +B["pre_cohorts_above_post_2022"] = [k for k, v in cs.items() if k < 2022 and v > post[2022]] | |
| 111 | +B["pre_cohorts_positive_share"] = round(np.mean([v > 0 for k, v in cs.items() if k < 2022]), 2) | |
| 112 | +# pooled firm-level test, post cohorts | |
| 113 | +d = df[df.fiscal_year.isin(list(POST_YRS))].dropna(subset=["z_AI_COMPOS", "fwd_ret"]).copy() | |
| 114 | +d["q"] = d.groupby("fiscal_year")["z_AI_COMPOS"].transform(lambda s: pd.qcut(s, 5, labels=False) + 1) | |
| 115 | +dd = d[d.q.isin([1, 5])].copy(); dd["hi"] = (dd.q == 5).astype(float); dd["yr"] = dd.fiscal_year.astype(str) | |
| 116 | +r1 = smf.ols("fwd_ret ~ hi + C(yr)", data=dd).fit(cov_type="cluster", cov_kwds={"groups": dd["ticker"]}) | |
| 117 | +r1w = smf.ols("fwd_w ~ hi + C(yr)", data=dd).fit(cov_type="cluster", cov_kwds={"groups": dd["ticker"]}) | |
| 118 | +B["pooled_post_Q5_vs_Q1"] = {"coef_pct": round(r1.params["hi"] * 100, 1), "t_firm_cluster": round(r1.tvalues["hi"], 2), "n": int(r1.nobs), | |
| 119 | + "winsorized_coef_pct": round(r1w.params["hi"] * 100, 1), "winsorized_t": round(r1w.tvalues["hi"], 2)} | |
| 120 | +dd2 = dd[dd.fiscal_year < 2024] | |
| 121 | +r2 = smf.ols("fwd_ret ~ hi + C(yr)", data=dd2).fit(cov_type="cluster", cov_kwds={"groups": dd2["ticker"]}) | |
| 122 | +B["pooled_post_Q5_vs_Q1_excl_2024"] = {"coef_pct": round(r2.params["hi"] * 100, 1), "t_firm_cluster": round(r2.tvalues["hi"], 2), "n": int(r2.nobs)} | |
| 123 | +# pre-period pooled for comparison | |
| 124 | +dp = df[df.fiscal_year.isin(list(PRE_YRS))].dropna(subset=["z_AI_COMPOS", "fwd_ret"]).copy() | |
| 125 | +dp["q"] = dp.groupby("fiscal_year")["z_AI_COMPOS"].transform(lambda s: pd.qcut(s, 5, labels=False) + 1) | |
| 126 | +dp = dp[dp.q.isin([1, 5])].copy(); dp["hi"] = (dp.q == 5).astype(float); dp["yr"] = dp.fiscal_year.astype(str) | |
| 127 | +r3 = smf.ols("fwd_ret ~ hi + C(yr)", data=dp).fit(cov_type="cluster", cov_kwds={"groups": dp["ticker"]}) | |
| 128 | +B["pooled_pre_Q5_vs_Q1"] = {"coef_pct": round(r3.params["hi"] * 100, 1), "t_firm_cluster": round(r3.tvalues["hi"], 2), "n": int(r3.nobs)} | |
| 129 | +# difference post-pre, pooled with firm clusters | |
| 130 | +dall = pd.concat([dp.assign(post=0), dd.assign(post=1)]) | |
| 131 | +r4 = smf.ols("fwd_ret ~ hi * post + C(yr)", data=dall).fit(cov_type="cluster", cov_kwds={"groups": dall["ticker"]}) | |
| 132 | +B["pooled_diff_in_spread"] = {"coef_pct": round(r4.params["hi:post"] * 100, 1), "t_firm_cluster": round(r4.tvalues["hi:post"], 2)} | |
| 133 | +R["B_cohorts_and_pooled"] = B | |
| 134 | +pd.DataFrame({"cohort": list(cs.keys()), "spread_pct": [round(v * 100, 2) for v in cs.values()]}).to_csv(f"{T}/review_cohort_spreads.csv", index=False) | |
| 135 | +print("B.", json.dumps(B, indent=0)[:900]) | |
| 136 | + | |
| 137 | +# ===================================================================== | |
| 138 | +# C. alternative break definitions | |
| 139 | +# ===================================================================== | |
| 140 | +CB = {"excl_2021_pre_2010_2020": spread_stats(df, "z_AI_COMPOS", range(2010, 2021)), | |
| 141 | + "post_from_2021": spread_stats(df, "z_AI_COMPOS", range(2021, 2025)), | |
| 142 | + "post_2022_2023_only": spread_stats(df, "z_AI_COMPOS", range(2022, 2024)), | |
| 143 | + "post_2024_only": spread_stats(df, "z_AI_COMPOS", range(2024, 2025))} | |
| 144 | +R["C_break_definitions"] = CB | |
| 145 | + | |
| 146 | +# ===================================================================== | |
| 147 | +# D. entrants / survivorship | |
| 148 | +# ===================================================================== | |
| 149 | +first = mret.groupby("ticker").date.min() | |
| 150 | +df["first_price"] = df.ticker.map(first) | |
| 151 | +df["formation"] = pd.to_datetime((df.fiscal_year + 1).astype(int).astype(str) + "-06-30") | |
| 152 | +df["months_listed"] = (df.formation - df.first_price).dt.days / 30.44 | |
| 153 | +seasoned = df[df.first_price <= "2009-07-31"] | |
| 154 | +listed36 = df[df.months_listed >= 36] | |
| 155 | +Dd = {"n_firms_total": int(df.ticker.nunique()), "n_firms_seasoned": int(seasoned.ticker.nunique()), | |
| 156 | + "seasoned": {"pre": spread_stats(seasoned, "z_AI_COMPOS", PRE_YRS), "post": spread_stats(seasoned, "z_AI_COMPOS", POST_YRS)}, | |
| 157 | + "listed_36m": {"pre": spread_stats(listed36, "z_AI_COMPOS", PRE_YRS), "post": spread_stats(listed36, "z_AI_COMPOS", POST_YRS)}} | |
| 158 | +# are recent entrants over-represented in Q5? | |
| 159 | +df["q"] = df.groupby("fiscal_year")["z_AI_COMPOS"].transform(lambda s: pd.qcut(s, 5, labels=False) + 1) | |
| 160 | +df["entrant"] = (df.first_price > "2009-07-31").astype(int) | |
| 161 | +Dd["entrant_share_by_quintile"] = df.groupby("q").entrant.mean().round(3).to_dict() | |
| 162 | +Dd["entrant_fwd_ret_minus_seasoned_pct"] = round((df[df.entrant == 1].fwd_ret.mean() - df[df.entrant == 0].fwd_ret.mean()) * 100, 1) | |
| 163 | +R["D_entrants"] = Dd | |
| 164 | +print("D.", json.dumps(Dd, indent=0)[:600]) | |
| 165 | + | |
| 166 | +# ===================================================================== | |
| 167 | +# E. sector controls | |
| 168 | +# ===================================================================== | |
| 169 | +ES = {} | |
| 170 | +slopes = {} | |
| 171 | +for yr, g in df.groupby("fiscal_year"): | |
| 172 | + g = g.dropna(subset=["fwd_ret", "z_AI_COMPOS", "z_size", "z_mom", "z_vol", "sector"]) | |
| 173 | + if len(g) < 30: continue | |
| 174 | + r = smf.ols("fwd_ret ~ z_AI_COMPOS + z_size + z_mom + z_vol + C(sector)", data=g).fit() | |
| 175 | + r0 = smf.ols("fwd_ret ~ z_AI_COMPOS + z_size + z_mom + z_vol", data=g).fit() | |
| 176 | + slopes[int(yr)] = (float(r.params["z_AI_COMPOS"]), float(r0.params["z_AI_COMPOS"])) | |
| 177 | +for lab, yrs in [("pre", PRE_YRS), ("post", POST_YRS)]: | |
| 178 | + s_sec = [v[0] for k, v in slopes.items() if k in yrs]; s_no = [v[1] for k, v in slopes.items() if k in yrs] | |
| 179 | + mu1, t1 = nw_t(s_sec); mu0, t0 = nw_t(s_no) | |
| 180 | + ES[f"fm_{lab}"] = {"slope_no_sector_pct": round(mu0 * 100, 2), "t_no_sector": round(t0, 2) if t0 == t0 else None, | |
| 181 | + "slope_sector_fe_pct": round(mu1 * 100, 2), "t_sector_fe": round(t1, 2) if t1 == t1 else None, "n_years": len(s_sec)} | |
| 182 | +ES["fm_by_year_sector_fe_pct"] = {k: round(v[0] * 100, 2) for k, v in slopes.items()} | |
| 183 | +# pooled sector x year FE | |
| 184 | +for lab, yrs in [("pre", PRE_YRS), ("post", POST_YRS)]: | |
| 185 | + g = df[df.fiscal_year.isin(list(yrs))].dropna(subset=["fwd_w", "z_AI_COMPOS", "z_size", "z_mom", "z_vol", "sector"]).copy() | |
| 186 | + g["sy"] = g.sector + "_" + g.fiscal_year.astype(str); g["yr"] = g.fiscal_year.astype(str) | |
| 187 | + r = smf.ols("fwd_w ~ z_AI_COMPOS + z_size + z_mom + z_vol + C(sy)", data=g).fit(cov_type="cluster", cov_kwds={"groups": g["ticker"]}) | |
| 188 | + r0 = smf.ols("fwd_w ~ z_AI_COMPOS + z_size + z_mom + z_vol + C(yr)", data=g).fit(cov_type="cluster", cov_kwds={"groups": g["ticker"]}) | |
| 189 | + ES[f"pooled_{lab}"] = {"year_fe_slope_pct": round(r0.params["z_AI_COMPOS"] * 100, 2), "year_fe_t": round(r0.tvalues["z_AI_COMPOS"], 2), | |
| 190 | + "sector_year_fe_slope_pct": round(r.params["z_AI_COMPOS"] * 100, 2), "sector_year_fe_t": round(r.tvalues["z_AI_COMPOS"], 2), "n": int(r.nobs)} | |
| 191 | +R["E_sector_controls"] = ES | |
| 192 | +print("E.", json.dumps(ES, indent=0)[:700]) | |
| 193 | + | |
| 194 | +# ===================================================================== | |
| 195 | +# F. filing-type composition | |
| 196 | +# ===================================================================== | |
| 197 | +ft = pd.read_parquet(f"{D}/filing_type_scores.parquet") | |
| 198 | +k8 = ft[ft.form_type == "8-K"][["ticker", "fiscal_year", "ai_adoption_wmean", "ai_infrastructure_wmean", "ai_disruption_risk_wmean", "n_filings", "n_chunks"]] | |
| 199 | +k8 = k8.rename(columns={c: c + "_8k" for c in k8.columns if c not in ("ticker", "fiscal_year")}) | |
| 200 | +q_tickers = set(ft[ft.form_type == "10-Q"].ticker) | |
| 201 | +df = df.merge(k8, on=["ticker", "fiscal_year"], how="left") | |
| 202 | +df["has_10q_ticker"] = df.ticker.isin(q_tickers).astype(int) | |
| 203 | +df["has_10q_year"] = df.merge(ft[ft.form_type == "10-Q"][["ticker", "fiscal_year"]].assign(h=1), on=["ticker", "fiscal_year"], how="left")["h"].fillna(0).values | |
| 204 | +for sfx in ["_8k"]: | |
| 205 | + za = df.groupby("fiscal_year")[f"ai_adoption_wmean{sfx}"].transform(zc); zi = df.groupby("fiscal_year")[f"ai_infrastructure_wmean{sfx}"].transform(zc) | |
| 206 | + df["z_AI_COMPOS_8k"] = (za + zi) / 2 | |
| 207 | +F = {"share_firm_years_with_scored_10Q": round(float(df.has_10q_year.mean()), 3), | |
| 208 | + "share_tickers_with_scored_10Q": round(float(df.drop_duplicates("ticker").has_10q_ticker.mean()), 3), | |
| 209 | + "share_10Q_firm_years_by_quintile_baseline": df.groupby("q").has_10q_year.mean().round(3).to_dict(), | |
| 210 | + "corr_baseline_vs_8k_only_z": round(float(df[["z_AI_COMPOS", "z_AI_COMPOS_8k"]].corr().iloc[0, 1]), 3), | |
| 211 | + "rank_corr_baseline_vs_8k_only": round(float(df[["z_AI_COMPOS", "z_AI_COMPOS_8k"]].corr(method="spearman").iloc[0, 1]), 3), | |
| 212 | + "8k_only": {"pre": spread_stats(df, "z_AI_COMPOS_8k", PRE_YRS), "post": spread_stats(df, "z_AI_COMPOS_8k", POST_YRS), | |
| 213 | + "full": spread_stats(df, "z_AI_COMPOS_8k", range(2010, 2025))}, | |
| 214 | + "baseline": {"pre": spread_stats(df, "z_AI_COMPOS", PRE_YRS), "post": spread_stats(df, "z_AI_COMPOS", POST_YRS)}, | |
| 215 | + "excl_10Q_tickers": {"pre": spread_stats(df[df.has_10q_ticker == 0], "z_AI_COMPOS", PRE_YRS), "post": spread_stats(df[df.has_10q_ticker == 0], "z_AI_COMPOS", POST_YRS)}} | |
| 216 | +# mechanical effect of a scored 10-Q on the baseline z-score (within year) | |
| 217 | +r = smf.ols("z_AI_COMPOS ~ has_10q_year + C(fiscal_year)", data=df).fit(cov_type="cluster", cov_kwds={"groups": df["ticker"]}) | |
| 218 | +F["effect_of_scored_10Q_on_z_baseline_SD"] = {"coef": round(r.params["has_10q_year"], 3), "t": round(r.tvalues["has_10q_year"], 2)} | |
| 219 | +r = smf.ols("z_AI_COMPOS_8k ~ has_10q_year + C(fiscal_year)", data=df.dropna(subset=["z_AI_COMPOS_8k"])).fit(cov_type="cluster", cov_kwds={"groups": df.dropna(subset=["z_AI_COMPOS_8k"])["ticker"]}) | |
| 220 | +F["effect_of_scored_10Q_on_z_8k_only_SD"] = {"coef": round(r.params["has_10q_year"], 3), "t": round(r.tvalues["has_10q_year"], 2)} | |
| 221 | +# 8-K-only placebo for ESG / climate (post) | |
| 222 | +for nm, col in [("esg", "esg_commitment_wmean"), ("climate", "climate_risk_wmean")]: | |
| 223 | + pass | |
| 224 | +# 8-K-only long-short monthly Sharpe (annually rebalanced EW quintiles) | |
| 225 | +ret_by = {t: d_.set_index("date")["ret"] for t, d_ in mret.groupby("ticker")} | |
| 226 | +rows = {} | |
| 227 | +for yr, g in df.dropna(subset=["z_AI_COMPOS_8k"]).groupby("fiscal_year"): | |
| 228 | + if len(g) < 25: continue | |
| 229 | + g = g.copy(); g["qq"] = pd.qcut(g["z_AI_COMPOS_8k"], 5, labels=False, duplicates="drop") + 1 | |
| 230 | + hold = pd.date_range(pd.Timestamp(yr + 1, 7, 31), pd.Timestamp(yr + 2, 6, 30), freq="ME") | |
| 231 | + for dt in hold: | |
| 232 | + vals = {} | |
| 233 | + for qq in (1, 5): | |
| 234 | + r_ = [ret_by[t].get(dt, np.nan) for t in g[g.qq == qq].ticker if t in ret_by]; r_ = [x for x in r_ if pd.notna(x)] | |
| 235 | + if r_: vals[qq] = np.mean(r_) | |
| 236 | + if 1 in vals and 5 in vals: rows[dt] = vals[5] - vals[1] | |
| 237 | +ls8 = pd.Series(rows).sort_index() | |
| 238 | +F["8k_only_monthly_ls"] = {} | |
| 239 | +for lab, m in [("pre", ls8.index < POST_START), ("post", ls8.index >= POST_START)]: | |
| 240 | + s = ls8[m]; mu, t = nw_t(s.values) | |
| 241 | + F["8k_only_monthly_ls"][lab] = {"n_months": int(len(s)), "mean_ann_pct": round(mu * 1200, 2), "sharpe_ann": round(mu / s.std() * np.sqrt(12), 2), "hac_t": round(t, 2)} | |
| 242 | +R["F_filing_type"] = F | |
| 243 | +print("F.", json.dumps(F, indent=0)[:1200]) | |
| 244 | + | |
| 245 | +# ===================================================================== | |
| 246 | +# G. event-study inference with cross-sectional dependence | |
| 247 | +# ===================================================================== | |
| 248 | +dp_ = pd.read_parquet(f"{D}/prices_daily_event.parquet"); dp_["date"] = pd.to_datetime(dp_["date"]) | |
| 249 | +dp_ = dp_.sort_values(["ticker", "date"]); dp_["ret"] = dp_.groupby("ticker")["px"].pct_change() | |
| 250 | +spy = dp_[dp_.ticker == "SPY"][["date", "ret"]].rename(columns={"ret": "mkt"}) | |
| 251 | +car = pd.read_parquet(f"{D}/event_car.parquet") | |
| 252 | +terc = car.set_index("ticker")["tercile"] | |
| 253 | +est0, est1 = pd.Timestamp("2022-01-03"), pd.Timestamp("2022-10-31"); ev0, ev1 = pd.Timestamp("2022-11-01"), pd.Timestamp("2024-06-30") | |
| 254 | +ar_est, ar_ev = {}, {} | |
| 255 | +for t, g in dp_[dp_.ticker.isin(terc.index)].groupby("ticker"): | |
| 256 | + g = g.merge(spy, on="date", how="left").dropna(subset=["ret", "mkt"]) | |
| 257 | + est = g[(g.date >= est0) & (g.date <= est1)] | |
| 258 | + if len(est) < 60: continue | |
| 259 | + m = sm.OLS(est["ret"], sm.add_constant(est["mkt"])).fit(); a, b = m.params["const"], m.params["mkt"] | |
| 260 | + ar_est[t] = (est["ret"] - (a + b * est["mkt"])).set_axis(est["date"]) | |
| 261 | + ev = g[(g.date >= ev0) & (g.date <= ev1)] | |
| 262 | + ar_ev[t] = (ev["ret"] - (a + b * ev["mkt"])).set_axis(ev["date"]) | |
| 263 | +AE = pd.DataFrame(ar_est); AV = pd.DataFrame(ar_ev) | |
| 264 | +hi = [t for t in AE.columns if terc[t] == "High"]; lo = [t for t in AE.columns if terc[t] == "Low"] | |
| 265 | +hl_est = AE[hi].mean(axis=1) - AE[lo].mean(axis=1); hl_ev = (AV[hi].mean(axis=1) - AV[lo].mean(axis=1)).dropna() | |
| 266 | +s_est = hl_est.std(ddof=1) | |
| 267 | +G = {"n_high": len(hi), "n_low": len(lo), "est_window_days": int(len(hl_est)), "hl_portfolio_daily_sd_est_pct": round(s_est * 100, 3), "hl_portfolio_daily_sd_event_pct": round(hl_ev.std(ddof=1) * 100, 3)} | |
| 268 | +# average pairwise correlation of estimation-window ARs (all firms; High; Low) | |
| 269 | +def avg_corr(M): | |
| 270 | + c = M.corr().values; n = c.shape[0]; return float((c.sum() - n) / (n * (n - 1))) | |
| 271 | +G["avg_pairwise_corr_est_AR_all"] = round(avg_corr(AE), 4); G["avg_pairwise_corr_est_AR_high"] = round(avg_corr(AE[hi]), 4); G["avg_pairwise_corr_est_AR_low"] = round(avg_corr(AE[lo]), 4) | |
| 272 | +recs = [] | |
| 273 | +for hz, lab in [(60, "car_60d"), (125, "car_6m"), (250, "car_1y"), (395, "car_18m")]: | |
| 274 | + sub = hl_ev.iloc[:hz]; Tn = len(sub); c = sub.sum() | |
| 275 | + t_cda = c / (s_est * np.sqrt(Tn)) | |
| 276 | + s_ev = hl_ev.std(ddof=1); t_ev = c / (s_ev * np.sqrt(Tn)) # event-window variance (Boehmer et al., 1991 concern) | |
| 277 | + # Kolari-Pynnonen-style deflation of the naive (independence) t of the H-L mean using the average | |
| 278 | + # cross-correlation of residuals within the pooled High+Low sample | |
| 279 | + rho = avg_corr(AE[hi + lo]); n = len(hi) + len(lo) | |
| 280 | + adj = np.sqrt((1 - rho) / (1 + (n - 1) * rho)) | |
| 281 | + recs.append({"horizon": lab, "days": Tn, "HL_CAR_pct": round(c * 100, 2), "t_cda": round(t_cda, 2), "t_event_window_sd": round(t_ev, 2), "kp_adjustment_factor": round(adj, 3), "rho_bar": round(rho, 4)}) | |
| 282 | +G["cda"] = recs | |
| 283 | +R["G_event_inference"] = G | |
| 284 | +pd.DataFrame(recs).to_csv(f"{T}/review_event_cda.csv", index=False) | |
| 285 | +print("G.", json.dumps(G, indent=0)[:900]) | |
| 286 | + | |
| 287 | +# ===================================================================== | |
| 288 | +# H. coverage | |
| 289 | +# ===================================================================== | |
| 290 | +cov = df.groupby("fiscal_year").agg(n_firms=("ticker", "nunique"), median_chunks=("total_chunks", "median"), median_filings=("filing_count", "median")) | |
| 291 | +R["H_coverage"] = {"firms_per_cohort": cov.n_firms.to_dict(), "median_chunks_per_firm_year": cov.median_chunks.to_dict(), | |
| 292 | + "median_filings_per_firm_year": cov.median_filings.to_dict(), | |
| 293 | + "chunks_per_firm_year_quantiles": df.total_chunks.quantile([.05, .25, .5, .75, .95]).to_dict(), | |
| 294 | + "forward_return_months_2024_cohort": "July 2025 - June 2026 (prices through 2026-06-01: 11 monthly returns)"} | |
| 295 | +# persistence of the composite: cross-sectional rank autocorrelation at 1- and 5-year lags (within-year ranks) | |
| 296 | +df["rk"] = df.groupby("fiscal_year")["z_AI_COMPOS"].rank(pct=True) | |
| 297 | +wide = df.pivot_table(index="ticker", columns="fiscal_year", values="rk") | |
| 298 | +def lag_corr(L): | |
| 299 | + cs_ = [wide[y].corr(wide[y + L], method="spearman") for y in wide.columns if y + L in wide.columns] | |
| 300 | + return round(float(np.nanmean(cs_)), 3) | |
| 301 | +R["H_coverage"]["rank_autocorr_composite_lag1"] = lag_corr(1); R["H_coverage"]["rank_autocorr_composite_lag5"] = lag_corr(5) | |
| 302 | +# extreme forward returns in the post cohorts (influential observations) | |
| 303 | +top = df[df.fiscal_year >= 2022].nlargest(5, "fwd_ret")[["ticker", "fiscal_year", "fwd_ret", "q"]] | |
| 304 | +R["H_coverage"]["largest_post_period_forward_returns"] = top.round(3).to_dict("records") | |
| 305 | +json.dump(R, open(f"{T}/results_review.json", "w"), indent=2, default=str) | |
| 306 | +print("saved results_review.json") | |
added
scripts/12_make_tables_review.py
+127 −0
@@ -0,0 +1,127 @@ | ||
| 1 | +"""12_make_tables_review.py -- LaTeX fragments for the tables added by the editorial-board review | |
| 2 | +(2026-10-17): corpus composition, post-period inference, additional robustness, event-study inference.""" | |
| 3 | +import json | |
| 4 | +R = json.load(open("results/tables/results_review.json")); CC = json.load(open("results/tables/corpus_composition.json")) | |
| 5 | +def w(n, b): open(f"paper/tables/{n}.tex", "w").write(b) | |
| 6 | +def ts(t): return "" if t is None else f" \\tstat{{{t:.2f}}}" | |
| 7 | +def pct(x): return f"{x*100:+.1f}" | |
| 8 | + | |
| 9 | +# ---------------- corpus composition ---------------- | |
| 10 | +dl = CC["filings_downloaded_by_form"]; sc = CC["filings_scored_by_form"]; cpf = CC["chunks_per_filing_by_form"] | |
| 11 | +chq = R["H_coverage"]["chunks_per_firm_year_quantiles"] | |
| 12 | +w("tab_corpus", r"""\begin{table}[H]\centering | |
| 13 | +\caption{Composition of the Scored Filing Corpus}\label{tab:corpus} | |
| 14 | +\small | |
| 15 | +\begin{tabular}{lrrr}\toprule | |
| 16 | +& Form 8-K & Form 10-Q & Form 10-K \\\midrule | |
| 17 | +Filings downloaded, 2010--2026 & %s & %s & %s \\ | |
| 18 | +Filings parsed and scored & %s & %s & 0 \\ | |
| 19 | +Share of downloaded filings scored & %.0f\%% & %.0f\%% & 0\%% \\ | |
| 20 | +Chunks per scored filing (median) & %.0f & %.0f & --- \\ | |
| 21 | +Tickers with at least one scored filing & 500 & 84 & 0 \\ | |
| 22 | +Mean AI-adoption score per filing (\texttt{wmean}) & %.3f & %.3f & --- \\ | |
| 23 | +\midrule | |
| 24 | +\multicolumn{4}{l}{\textit{Firm-year aggregates (7{,}869 firm-years)}}\\ | |
| 25 | +Firm-years containing a scored 10-Q & \multicolumn{3}{r}{%.1f\%%} \\ | |
| 26 | +Chunks per firm-year: p5 / p25 / median / p75 / p95 & \multicolumn{3}{r}{%.0f / %.0f / %.0f / %.0f / %.0f} \\ | |
| 27 | +\bottomrule | |
| 28 | +\end{tabular} | |
| 29 | +\tablelegend{This table describes the filings that enter the semantic panel of the EDGAR Research Database at the time of the June 2026 draft. Filings were downloaded for the 500 current S\&P~500 constituents for the three form types, but the section parser and the scoring engine had processed only the Form 8-K current reports and a subset of the Form 10-Q quarterly reports (84 tickers, listed in Appendix~\ref{app:corpus}); no Form 10-K was parsed. The firm-year score is the unweighted average of filing-level scores over all filings dated in the calendar year, so that a 10-Q with roughly 60 chunks and an 8-K with two chunks carry the same weight. Mean AI-adoption scores differ markedly by form type, which is why Section~\ref{subsec:corpus} re-estimates the main results on an 8-K-only signal. Sources: \texttt{results/tables/corpus\_composition.json} and \texttt{results\_review.json}.} | |
| 30 | +\end{table}""" % (f"{dl['8-K']:,}", f"{dl['10-Q']:,}", f"{dl['10-K']:,}", f"{sc['8-K']:,}", f"{sc['10-Q']:,}", | |
| 31 | + 100*sc['8-K']/dl['8-K'], 100*sc['10-Q']/dl['10-Q'], cpf['8-K']['50%'], cpf['10-Q']['50%'], | |
| 32 | + CC["ai_adoption_wmean_by_form"]["8-K"]["mean"], CC["ai_adoption_wmean_by_form"]["10-Q"]["mean"], | |
| 33 | + 100*R["F_filing_type"]["share_firm_years_with_scored_10Q"], chq["0.05"], chq["0.25"], chq["0.5"], chq["0.75"], chq["0.95"])) | |
| 34 | + | |
| 35 | +# ---------------- post-period inference ---------------- | |
| 36 | +B = R["B_cohorts_and_pooled"]; A = R["A_monthly_longshort"] | |
| 37 | +cs = B["cohort_spreads_pct"]; loo = B["post_leave_one_out_pct"] | |
| 38 | +rows = "" | |
| 39 | +for y in ["2022", "2023", "2024"]: | |
| 40 | + rows += f"Cohort {y} (holding July {int(y)+1}--June {int(y)+2}) & {cs[y]:+.1f} & {loo[y]:+.1f} \\\\\n" | |
| 41 | +pp = B["pooled_post_Q5_vs_Q1"]; px = B["pooled_post_Q5_vs_Q1_excl_2024"]; pr = B["pooled_pre_Q5_vs_Q1"]; pd_ = B["pooled_diff_in_spread"] | |
| 42 | +def arow(lab, k): | |
| 43 | + a = A["AI_COMPOS"][k] | |
| 44 | + return (f"{lab} & {a['n_months']} & {a['mean_ann_pct']:+.1f} & {a['sharpe_ann']:.2f} & {a['hac_t_mean']:.2f} & " | |
| 45 | + f"{a['ff6_alpha_ann_pct']:+.1f} \\tstat{{{a['ff6_alpha_t']:.2f}}} & {a['ff6_tech_alpha_ann_pct']:+.1f} \\tstat{{{a['ff6_tech_alpha_t']:.2f}}} & {a['tech_beta']:.2f} \\tstat{{{a['tech_beta_t']:.2f}}} \\\\\n") | |
| 46 | +w("tab_postinference", r"""\begin{table}[H]\centering | |
| 47 | +\caption{How Much Evidence Is There in the Post-ChatGPT Period?}\label{tab:postinf} | |
| 48 | +\small | |
| 49 | +\begin{tabular}{lcc}\toprule | |
| 50 | +\multicolumn{3}{l}{\textit{Panel A. Post-period cohorts (AI composite, EW Q5$-$Q1, \%%)}}\\ | |
| 51 | +& Spread & Post mean excluding this cohort \\\midrule | |
| 52 | +%s\midrule | |
| 53 | +Post-period mean (three cohorts) & %+.1f & \\ | |
| 54 | +Pre-period mean (twelve cohorts; share positive %.0f\%%) & %+.1f & \\ | |
| 55 | +\midrule | |
| 56 | +\multicolumn{3}{l}{\textit{Panel B. Pooled firm-level tests (Q5 vs.\ Q1 firm-years, year dummies, SE clustered by firm)}}\\ | |
| 57 | +& Spread (\%%) & \textit{t} \\\midrule | |
| 58 | +Post cohorts 2022--2024 (raw returns), $n=%s$ & %+.1f & %.2f \\ | |
| 59 | +Post cohorts 2022--2024 (winsorized returns) & %+.1f & %.2f \\ | |
| 60 | +Post cohorts 2022--2023 only, $n=%s$ & %+.1f & %.2f \\ | |
| 61 | +Pre cohorts 2010--2021, $n=%s$ & %+.1f & %.2f \\ | |
| 62 | +Post minus pre (interaction) & %+.1f & %.2f \\ | |
| 63 | +\bottomrule | |
| 64 | +\end{tabular} | |
| 65 | + | |
| 66 | +\vspace{0.6em} | |
| 67 | +{\footnotesize\begin{tabular}{lrrrrrrr}\toprule | |
| 68 | +\multicolumn{8}{l}{\textit{Panel C. Monthly long--short series (AI composite, EW, annually rebalanced)}}\\ | |
| 69 | +Period & Months & Mean (\%%/yr) & Sharpe & HAC \textit{t} & FF6 $\alpha$ (\%%/yr) & FF6+TECH $\alpha$ & $\beta_{\text{TECH}}$ \\\midrule | |
| 70 | +%s\bottomrule | |
| 71 | +\end{tabular}} | |
| 72 | +\tablelegend{Panel~A reports the equal-weighted Q5$-$Q1 forward-return spread on the AI composite for each post-ChatGPT formation cohort and the post-period mean obtained when that cohort is dropped. Panel~B pools the firm-years in the top and bottom quintiles and regresses the forward return on a top-quintile indicator and formation-year dummies, with standard errors clustered by firm; the last row interacts the indicator with a post-2022 dummy in the pooled pre- and post-period sample. Panel~C describes the monthly return of the self-financing high-minus-low portfolio in each sub-period (the post-period starts in July 2023, the first holding month of the 2022 cohort); the HAC $t$-statistic tests the mean with Newey--West (three-lag) errors; FF6 is the Fama--French five-factor model plus momentum; TECH is the equal-weighted return of the Information Technology constituents in the panel minus the equal-weighted return of all constituents, and $\beta_{\text{TECH}}$ its loading. Factor regressions use the 34 (post) and 144 (pre) months for which the French factors are available. Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 73 | +\end{table}""" % (rows, B["post_mean_pct"], 100*B["pre_cohorts_positive_share"], B["pre_mean_pct"], | |
| 74 | + f"{pp['n']:,}".replace(",","{,}"), pp["coef_pct"], pp["t_firm_cluster"], pp["winsorized_coef_pct"], pp["winsorized_t"], | |
| 75 | + f"{px['n']:,}".replace(",","{,}"), px["coef_pct"], px["t_firm_cluster"], f"{pr['n']:,}".replace(",","{,}"), pr["coef_pct"], pr["t_firm_cluster"], pd_["coef_pct"], pd_["t_firm_cluster"], | |
| 76 | + arow("Full sample", "full") + arow("Pre-ChatGPT", "pre") + arow("Post-ChatGPT", "post"))) | |
| 77 | + | |
| 78 | +# ---------------- additional robustness ---------------- | |
| 79 | +F = R["F_filing_type"]; Dd = R["D_entrants"]; CB = R["C_break_definitions"]; E = R["E_sector_controls"] | |
| 80 | +def prepost(lab, pre, post): | |
| 81 | + return f"{lab} & {pct(pre['mean'])}{ts(pre['nw_t'])} & {pct(post['mean'])}{ts(post['nw_t'])} & {pct(post['by_cohort']['2022'])} / {pct(post['by_cohort']['2023'])} / {pct(post['by_cohort']['2024'])} \\\\\n" | |
| 82 | +body = r"\multicolumn{4}{l}{\textit{Panel A. Composition of the text signal}}\\" + "\n" | |
| 83 | +body += prepost("Baseline composite (all scored filings)", F["baseline"]["pre"], F["baseline"]["post"]) | |
| 84 | +body += prepost("8-K-only composite", F["8k_only"]["pre"], F["8k_only"]["post"]) | |
| 85 | +body += prepost("Baseline, 84 firms with scored 10-Qs excluded", F["excl_10Q_tickers"]["pre"], F["excl_10Q_tickers"]["post"]) | |
| 86 | +body += r"\midrule\multicolumn{4}{l}{\textit{Panel B. Entrants and survivorship}}\\" + "\n" | |
| 87 | +body += prepost(f"Seasoned firms (prices since July 2009; {Dd['n_firms_seasoned']} firms)", Dd["seasoned"]["pre"], Dd["seasoned"]["post"]) | |
| 88 | +body += prepost("Firms listed at least 36 months at formation", Dd["listed_36m"]["pre"], Dd["listed_36m"]["post"]) | |
| 89 | +body += r"\midrule\multicolumn{4}{l}{\textit{Panel C. Definition of the break}}\\" + "\n" | |
| 90 | +cb = CB["excl_2021_pre_2010_2020"]; p21 = CB["post_from_2021"] | |
| 91 | +body += f"Pre-period ends in 2020 (2021 cohort dropped) & {pct(cb['mean'])}{ts(cb['nw_t'])} & --- & --- \\\\\n" | |
| 92 | +body += f"Post-period starts in 2021 (cohorts 21 / 22 / 23 / 24) & --- & {pct(p21['mean'])}{ts(p21['nw_t'])} & {pct(p21['by_cohort']['2021'])} / {pct(p21['by_cohort']['2022'])} / {pct(p21['by_cohort']['2023'])} / {pct(p21['by_cohort']['2024'])} \\\\\n" | |
| 93 | +body += r"\midrule\multicolumn{4}{l}{\textit{Panel D. Sector controls (slope per cross-sectional SD of the composite, \%)}}\\" + "\n" | |
| 94 | +fp, fo = E["fm_pre"], E["fm_post"]; yb = E["fm_by_year_sector_fe_pct"] | |
| 95 | +body += f"Fama--MacBeth, size, momentum, volatility controls & {fp['slope_no_sector_pct']:+.2f}{ts(fp['t_no_sector'])} & {fo['slope_no_sector_pct']:+.2f}{ts(fo['t_no_sector'])} & --- \\\\\n" | |
| 96 | +body += f"Fama--MacBeth, adding GICS-sector dummies & {fp['slope_sector_fe_pct']:+.2f}{ts(fp['t_sector_fe'])} & {fo['slope_sector_fe_pct']:+.2f}{ts(fo['t_sector_fe'])} & {yb['2022']:+.1f} / {yb['2023']:+.1f} / {yb['2024']:+.1f} \\\\\n" | |
| 97 | +pp_, po_ = E["pooled_pre"], E["pooled_post"] | |
| 98 | +body += f"Pooled OLS, year FE, firm-clustered SE & {pp_['year_fe_slope_pct']:+.2f}{ts(pp_['year_fe_t'])} & {po_['year_fe_slope_pct']:+.2f}{ts(po_['year_fe_t'])} & --- \\\\\n" | |
| 99 | +body += f"Pooled OLS, sector~$\\times$~year FE, firm-clustered SE & {pp_['sector_year_fe_slope_pct']:+.2f}{ts(pp_['sector_year_fe_t'])} & {po_['sector_year_fe_slope_pct']:+.2f}{ts(po_['sector_year_fe_t'])} & --- \\\\\n" | |
| 100 | +w("tab_review_robust", r"""\begin{table}[H]\centering | |
| 101 | +\caption{Additional Robustness: Signal Composition, Entrants, Break Definition, and Sector Controls}\label{tab:reviewrobust} | |
| 102 | +\footnotesize | |
| 103 | +\begin{tabular}{@{}p{7.1cm}ccc@{}}\toprule | |
| 104 | +& Pre (2010--21) & Post (2022--24) & Cohorts 2022 / 23 / 24 \\\midrule | |
| 105 | +%s\bottomrule | |
| 106 | +\end{tabular} | |
| 107 | +\tablelegend{Panels~A--C report the equal-weighted Q5$-$Q1 forward-return spread on the AI composite (percent per year, Newey--West three-lag $t$-statistics on the annual spreads in parentheses) with the cohort-by-cohort post-period values in the last column. Panel~A rebuilds the composite from Form 8-K filings only (\texttt{data/processed/filing\_type\_scores.parquet}) and, alternatively, drops the 84 tickers whose 10-Q filings were scored (Table~\ref{tab:corpus}). Panel~B restricts the universe to firms with Yahoo Finance prices since July 2009, which removes later listings such as Uber, Palantir or Airbnb, and to firm-years with at least 36 months of price history at formation. Panel~C moves the 2021 cohort, whose July 2022--June 2023 holding period straddles the ChatGPT launch, out of the pre-period or into the post-period. Panel~D reports the average annual cross-sectional slope on the composite (Fama--MacBeth) with and without GICS-sector dummies, and pooled regressions of the winsorized forward return on the composite and controls with year or sector-by-year fixed effects and firm-clustered standard errors. Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 108 | +\end{table}""" % body) | |
| 109 | + | |
| 110 | +# ---------------- event-study inference ---------------- | |
| 111 | +G = R["G_event_inference"]; EV = json.load(open("results/tables/results_event.json")) | |
| 112 | +hz = {"car_60d": "+60 trading days", "car_6m": "+6 months", "car_1y": "+1 year", "car_18m": "+18 months"} | |
| 113 | +rows = "" | |
| 114 | +for rec in G["cda"]: | |
| 115 | + e = EV[rec["horizon"]] | |
| 116 | + rows += f"{hz[rec['horizon']]} & {rec['HL_CAR_pct']:+.2f} & {e['t']:.2f} & {rec['t_cda']:.2f} & {rec['t_event_window_sd']:.2f} \\\\\n" | |
| 117 | +w("tab_event_cda", r"""\begin{table}[H]\centering | |
| 118 | +\caption{Event-Study Inference under Cross-Sectional Dependence}\label{tab:eventcda} | |
| 119 | +\small | |
| 120 | +\begin{tabular}{lrrrr}\toprule | |
| 121 | +& High$-$Low CAR & Welch \textit{t} & Portfolio \textit{t} & Portfolio \textit{t} \\ | |
| 122 | +Horizon & (\%%) & (independence) & (estimation-window SD) & (event-window SD) \\\midrule | |
| 123 | +%s\bottomrule | |
| 124 | +\end{tabular} | |
| 125 | +\tablelegend{All firms share the same event date, so firm-level abnormal returns are cross-sectionally correlated and the Welch $t$-test of Table~\ref{tab:event}, which treats the %d High and %d Low firms as independent draws, overstates precision: the average pairwise correlation of market-model residuals over the January--October 2022 estimation window is $\bar\rho=%.3f$, and the deflation factor of Kolari and Pynn\"onen (2010) for a one-sample test, $\sqrt{(1-\bar\rho)/(1+(n-1)\bar\rho)}$, equals %.2f. The portfolio tests sidestep the problem by treating the daily High-minus-Low abnormal return as a single time series: its cumulative value over $T$ event days is divided by $\hat\sigma\sqrt{T}$, where $\hat\sigma$ is the daily standard deviation of the same portfolio series either in the estimation window (crude dependence adjustment of Brown and Warner, 1985; $\hat\sigma=%.3f\%%$) or in the event window itself (%.3f\%%). Source: \texttt{scripts/11\_review\_reanalysis.py}.} | |
| 126 | +\end{table}""" % (rows, G["n_high"], G["n_low"], G["cda"][0]["rho_bar"], G["cda"][0]["kp_adjustment_factor"], G["hl_portfolio_daily_sd_est_pct"], G["hl_portfolio_daily_sd_event_pct"])) | |
| 127 | +print("review tables written") | |
| 128 | ||