Sole author · 2026
FilingEdge
A machine-learning research system that tests whether SEC filings predict abnormal returns, using only data available at filing time.
- Python
- DuckDB
- LightGBM
- SEC EDGAR
- Streamlit
System
- SEC, FRED, prices
- DuckDB
- Purged CV
- LogReg + LightGBM
- Streamlit
Problem
Financial ML models often look good because of leakage: labels that overlap the training window, fundamentals that were revised later, or macro data published after the date being tested. FilingEdge asks one question using only data that was public when a 10-Q or 10-K was accepted: is the stock’s 20-day sector-adjusted return unusual?
What I built
- Ingestion of SEC submissions, XBRL financial data, FRED macro series, and daily prices into DuckDB. A synthetic dataset lets the whole system run without API keys.
- Purged, embargoed walk-forward cross-validation, and pytest checks for leakage: feature and label separation, as-of dates, and label windows.
- A logistic-regression baseline, then LightGBM with isotonic calibration, and an event backtest that includes transaction costs.
- A Streamlit dashboard with an event monitor, company view, backtest lab, and model card.
Results
- point-in-time features
- 34
- leakage and cost checks
- pytest
Limits
The dashboard numbers on the synthetic demo data are much larger than real results. On real data the signal is much weaker.