I test whether filing text ranks companies by future 20-day realized volatility out of sample.
Financial 10-K Text Agent
10-K text ranks future volatility — but does not prove tradable alpha.
I designed and built an end-to-end research pipeline to test whether SEC 10-K disclosures contain out-of-sample information about future 20-day realized volatility.
8,133 OOS predictions. Best exploratory Rank IC: 0.3668, reported separately from the preregistered primary result.
For admissions reviewers
The Project in 60 Seconds
Five answers connect the finance question, my contribution, the evidence, and its limits.
Inspect my contribution ↓SEC ingestion, section review, forward labels, rolling splits, train-only text features, models, diagnostics, and audit reports.
The fixed 50-company panel shows positive OOS information for volatility ranking.
The preregistered portfolio Sharpe is -0.8539; portfolio evidence is diagnostic only.
The universe is a fixed active-company panel and market data use a mixed public-source stack. These limits are disclosed rather than hidden.
How to read the evidence
Primary Claims Come Before Model Exploration
The specification registry separates the two preregistered tests from robustness checks and exploratory comparisons.
Preregistered
1 prediction + 1 portfolio testPrimary prediction: Rank IC 0.2395. Primary portfolio: Sharpe -0.8539.
Diagnostics & exploration
594 specifications across 26 familiesAblations, baselines, neutralization, return targets, and model comparisons are reported separately.
Audit boundary
0 critical failures · 2 scope warningsThe warnings disclose public-data and universe limitations; they do not convert exploratory evidence into a formal claim.
Current release: 50_company_public_fmp_alpha_2016_2025_v4 · Read the audit boundary
Result snapshot
Volatility Ranking Evidence
The strongest observed result is exploratory; the preregistered Ridge result remains positive.
0.36680.32960.29240.2395Raw p-value 0.00067. Positive exploratory volatility-ranking evidence.
Raw p-value 0.1147. Tradable alpha is not established.
My contribution
What I Designed and Built
I developed the workflow from SEC filing ingestion to audited out-of-sample evidence.
Rolling train/validation/test splits, forward labels, preregistered specifications, and embargo-based leakage controls.
Section parsing, Loughran-McDonald tone features, train-window-only TF-IDF/SVD, and model manifests.
Rank IC, feature ablation, industry-neutral diagnostics, clustered bootstrap, coverage checks, and automated reports.
Python · scikit-learn · XGBoost · SEC EDGAR · pytest · Ruff · GitHub Actions
Why it matters
Beyond Sentiment Scores and Document Search
Links filing text to future volatility and abnormal-return targets.
Separates training, validation, and test windows through time.
Fits TF-IDF/SVD vocabularies only inside each training window.
Separates preregistered claims from exploratory model comparisons.
Discloses parser issues, bootstrap uncertainty, coverage, and multiple testing.
Pipeline
From SEC Filing to Audited Evidence
Inspect the evidence
Follow the Public Audit Trail
Compact, license-safe artifacts connect every headline number to a reproducible evidence file.
Usage Boundary
This is an applied-grade exploratory run, not CRSP/WRDS-equivalent formal asset-pricing evidence, a survivorship-free replication, a production trading system, proven tradable alpha, or investment advice.