
Most trading agents sweep candidate parameters on history, keep the best score and trade on it. If that score used data the agent could not have known yet, it is cheating, and nothing in the code looks broken. Hindsight Alpha catches that hindsight leak before trading, not after. How it works: universe SPY, GLD, XLK, XLV (uncorrelated sectors). Every cycle, for each symbol, the agent scores five historical-volatility windows (10/20/30/60/90 days) twice: on the full history, and with the last 20 days hidden as if that were today. If the winning window changes, or no window clears the Sharpe threshold in-sample, the symbol is refused and the refusal is logged. Symbols that pass reach the risk gates: 1% of equity per trade, 3% total, 1.5% per sector, one position per underlying, four at most, automatic lock at -3% from starting equity. Exits (+50%/-50%) run every 15 minutes; a HALT file pauses new entries without touching code or credentials. Alpaca infrastructure: orders, positions, clock and bars go through the official Alpaca CLI, paper trading only (the code refuses a live account). launchd schedules the daily decision, the exit monitor and the publication: every decision, refusals included, goes to decision_log.jsonl and to a public GitHub Pages dashboard every 30 minutes in market hours. The one-page write-up is in the repository under submission/. Honest results: the backtest is published with its negatives. The edge holds on three of four symbols, but 68-83% of each gain comes from a handful of days, and the guard raises false alarms on healthy series 22.6-30.2% of the time. "This backtest does not cheat" and "this strategy makes money" are not the same claim. 700+ offline tests in CI; the competition account was created after kickoff and 64% of commits predate it, disclosed in the README. Solo project, MIT.
4 Sep 2026