Congress TraderHistorical simulation

STRATEGY LAB

Explore the rules. See the tradeoffs.

Replay congressional purchases with different entry filters, position sizes and exit rules.

Loading cached history…
What the current strategy actually does

“Amount” means the disclosed range’s upper bound, not an exact purchase value. Smaller Senate purchases can qualify through a separate fast-filing rule. Holdings are measured in trading sessions.

Historical validation and the ongoing paper trial

Historical validation

Develop rules on an earlier window, then compare fixed settings on a later window. Chronological splits preserve time order. A window used repeatedly to choose settings becomes exploratory; this app cannot certify that you have never examined it elsewhere.

Forward observation

The Dashboard preserves the existing paper period and separates recorded, recovered, and missing sessions. A code upgrade does not restart the clock. Forward observation adds evidence about what data and execution were available at the time.

View the ongoing trial →

Historical research does not count toward the forward gate. Its 30-complete-trade / 9-month checkpoints are decision rules, not statistical proof of an edge. The evaluator checks mean excess return against SPY, win rate, and trailing relative drawdown; a recent recovery gap requires review before a funding pass.

Preparing disclosures and historical prices…

Saved comparisons

Saved on this browser, with the data snapshot and date window used. Loading a saved experiment reruns it against the currently available data.

Replay assumptions and limitations
  • Only raw purchase disclosures are used. A filing is treated as known after that date’s close; entry is the first available ticker open after filing. Unavailable prices are reported, not invented.
  • Entries happen before close-based exits. Same-day exit proceeds cannot fund that morning’s purchases. Positions use whole shares; no borrowing, and one open position per ticker.
  • Entry filters use the current configuration as a fixed historical baseline. This is a replay of today’s rules, not a reconstruction of historical account fills or past configuration changes. The live pause switch is not replayed.
  • Loss and trailing exits execute at the close, not intraday. Actual losses may exceed the threshold. Missing daily bars retain the last observed mark and do not increment holding time.
  • Idle-cash sweep follows the paper engine’s convention: buy SPY at close while retaining 0.1% cash, with no sweep buy fee. Selling SPY and stock entries/exits use the chosen transaction cost. This is not a broker cash-buffer simulation.
  • The optional regime filter uses the previous close and its 200-session average, so the decision is known before entry. The live paper engine uses the same prior-close convention.
  • Win rate, average trade, profit factor and alpha per trade use closed trades only. Open trades are listed separately. Sharpe uses daily returns, 252 sessions/year and a zero risk-free rate. CAGR annualizes the selected period.
  • Cached bars may be adjusted or revised. Missing delisted assets, stale prices, incomplete disclosures and filing-date availability can bias results. No liquidity, taxes, dividend reinvestment beyond cached adjusted prices, or market impact is modeled.
  • Changing many settings on the same history can overfit. Freeze rules before checking a later window. Repeatedly using that window to choose rules turns it into development data; historical comparisons are separate from the ongoing forward trial.