SPY · Daily close
5–7 year windowNo simulated market data.
Hover or tap to inspect prices. Focus the chart and use ← / → to move between sessions. Daily bars retain their New York market session date.
Out-of-sample evidence
Chronological walk-forward evaluation · next-open entry · non-overlapping positions
How the forecast is calculated
A regularized logistic regression uses 1-, 5- and 20-session returns, 20-session volatility and relative daily volume. Training begins with 504 labeled observations and refits approximately quarterly. Test entries are spaced by horizon + 1 sessions. Every training label ends on or before the signal date.
A signal uses the completed daily close, enters at the next session's open, and exits at the close of the selected future session. Costs are deducted per completed position. Gross expected return mixes historical positive/negative return averages using the model score; it is a rough estimate, not a separately validated return model. Scores are uncalibrated. Split-adjusted prices exclude dividend income.
A long candidate requires a score of at least 56%, expected gross return above costs, at least 100 test observations, better Brier score than a training-only base-rate model, and positive simulated net return. These are research gates, not proof of future profitability. The test set is not an untouched final holdout.
Current market news
SPY-tagged Alpaca headlines · context only, excluded from the historical model
Why news is shown separately
Today's headlines cannot be used to reconstruct historical inputs. News impact will need a timestamped archive or prospective evaluation before it can contribute to a validated forecast.