SPB Git forge

spb/wp17_uqo

Public
3commits 1branches 1releases
29.6 MBsize
maindefault branch
52 min agolast push
TeX 69.3% Python 30.6%

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>
Simon-Pierre Boucher committed 52 min ago (Oct 18, 2026) parent 3d5aa86

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 −[![Paper](https://img.shields.io/badge/paper-PDF%20(39%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
6 +[![Paper](https://img.shields.io/badge/paper-PDF%20(54%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
7 7 [![Python](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](requirements.txt)
8 −[![Data](https://img.shields.io/badge/data-7%2C869%20firm--years%20·%20500%20S%26P%20500%20firms%20·%2010--K%20embeddings-4051b5)](data/processed/)
9 −[![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline%20(9%20scripts)-2e7d32)](scripts/)
8 +[![Data](https://img.shields.io/badge/data-7%2C869%20firm--years%20·%20500%20S%26P%20500%20firms%20·%208--K%20%2B%2010--Q%20embeddings-4051b5)](data/processed/)
9 +[![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline%20(12%20scripts)-2e7d32)](scripts/)
10 10 [![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)
11 11 [![Authors](https://img.shields.io/badge/authors-Kammoun%20·%20Tandjambianda%20·%20Boucher-16365c)](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