# Signal stats, backfilled (2026-08-11) Same analysis as `pnpm signal-stats`, but 45 trade(s) missing entry indicators had them reconstructed from historical daily bars (identical buildSnapshot() math, computed after the fact) instead of being excluded. All trades in scope now have full indicator data. Read-only — nothing written back to data/trades.jsonl. ## qsr (69 trades) | Feature | n | corr with P&L (r) | mean · winners | mean · losers | winner−loser | |---|---|---|---|---|---| | % change today | 69 | 0.210 | 2.69 | -0.30 | 2.98 | | % from MA50 | 69 | 0.167 | -7.18 | -12.89 | 5.72 | | RSI(14) | 69 | 0.159 | 41.63 | 37.33 | 4.30 | | % since open at entry | 62 | 0.132 | 0.46 | -0.33 | 0.79 | | Gap from signal close | 62 | -0.126 | -0.42 | 0.33 | -0.75 | | Minutes since open at entry | 62 | -0.119 | 113.63 | 174.75 | -61.12 | | RSI(2) | 69 | 0.112 | 43.28 | 38.10 | 5.17 | | MA50 slope % | 69 | 0.112 | -0.37 | -0.84 | 0.47 | | Relative volume | 69 | 0.016 | 1.24 | 1.39 | -0.15 | | % from MA200 | 69 | 0.014 | -1.56 | 0.95 | -2.51 | | ATR % of price | 69 | 0.003 | 4.79 | 5.03 | -0.24 | `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 69 trades, 86% win, 2.90% avg · bear 0 trades, –% win, –% avg