# Signal stats, backfilled (2026-09-01) Same analysis as `pnpm signal-stats`, but 83 trade(s) missing entry indicators had them reconstructed from historical daily bars (identical buildSnapshot() math, computed after the fact) instead of being excluded. 1 trade(s) still have no data (bar fetch failed or returned nothing — see console output above). Read-only — nothing written back to data/trades.jsonl. ## All strategies pooled (350 trades) | Feature | n | corr with P&L (r) | mean · winners | mean · losers | winner−loser | |---|---|---|---|---|---| | Relative volume | 349 | 0.245 | 0.79 | 0.44 | 0.35 | | MA50 slope % | 349 | 0.221 | -0.47 | -0.89 | 0.41 | | % change today | 349 | 0.156 | 1.38 | 0.17 | 1.21 | | Gap from signal close | 243 | -0.109 | -0.33 | 0.36 | -0.68 | | Minutes since open at entry | 293 | 0.098 | 124.59 | 97.08 | 27.51 | | % since open at entry | 291 | 0.092 | 0.30 | -0.25 | 0.55 | | % from MA50 | 349 | 0.071 | -4.27 | -3.99 | -0.28 | | ATR % of price | 349 | 0.069 | 4.48 | 3.98 | 0.50 | | % from MA200 | 343 | 0.052 | 5.17 | 3.00 | 2.17 | | RSI(14) | 349 | 0.037 | 45.73 | 46.19 | -0.46 | | RSI(2) | 349 | 0.030 | 49.22 | 49.01 | 0.21 | `r` ranges −1..+1 — closer to either end means the entry value and the trade's eventual P&L move together (or apart) fairly consistently across this sample; near 0 means this feature alone doesn't distinguish winners from losers here. `winner−loser` is the same idea in the feature's own units. - **Market regime (SPY vs MA200):** bull 349 trades, 62% win, 0.84% avg · bear 0 trades, –% win, –% avg