Singapore Main — Track record
Every elapsed decision is graded against what prices actually did — hit-rates and errors per signal family, plus the cost of the decisions this book chose not to take.
Scorecard
Hit-rates per signal family.
| Signal family | Dir | n | Hit 1W | Hit 4W | Hit 12W | Med err 1W | Stop-first | Bias | Status |
|---|---|---|---|---|---|---|---|---|---|
| FailedBreakout_Down_20D | sell | 78 | 74% | 100% | — | — | 0% | +5 | ● active |
| NoTrade | sell | 20 | 40% | 79% | — | — | 0% | -2 | ● active |
| RallySell_BearTrend | sell | 10 | 80% | 100% | — | — | 0% | +6 | ● active |
| PullbackBuy_VWAP | buy | 8 | 13% | 13% | — | -11.8% | 88% | -8 | ● active |
| BreakoutUp_20D | buy | 7 | 71% | 60% | — | -0.5% | 29% | +4 | ● active |
| FailedBreakdown_Up_20D | sell | 4 | 25% | 100% | — | — | 0% | 0 | ○ building sample (4/5) |
| BreakdownDown_20D | sell | 3 | 100% | 100% | — | — | 0% | 0 | ○ building sample (3/5) |
| BreakdownDown_52W | sell | 3 | 67% | 67% | — | — | 0% | 0 | ○ building sample (3/5) |
| MomentumContinuation_Up | buy | 3 | 100% | 100% | — | +13.3% | 0% | 0 | ○ building sample (3/5) |
| MomentumContinuation_Up | sell | 3 | 33% | 33% | — | — | 0% | 0 | ○ building sample (3/5) |
| Avoid | sell | 1 | 100% | 100% | — | — | 0% | 0 | ○ building sample (1/5) |
| BreakoutUp_52W | sell | 1 | 100% | 100% | — | — | 0% | 0 | ○ building sample (1/5) |
| FailedBreakdown_Up_20D | buy | 1 | 0% | 0% | — | -3.0% | 100% | 0 | ○ building sample (1/5) |
| MeanRevUp_LowerBand | buy | 1 | 0% | 0% | — | -1.9% | 100% | 0 | ○ building sample (1/5) |
| PullbackBuy_VWAP | sell | 1 | 0% | 0% | — | — | 0% | 0 | ○ building sample (1/5) |
| ReversalDown_Overbought | buy | 1 | 0% | 0% | — | -13.6% | 100% | 0 | ○ building sample (1/5) |
| ReversalDown_Overbought | sell | 1 | 0% | 0% | — | — | 0% | 0 | ○ building sample (1/5) |
| ReversalUp_Oversold | sell | 1 | 100% | 100% | — | — | 0% | 0 | ○ building sample (1/5) |
Counterfactuals Counterfactuals grade decisions that were NOT executed — expired queues, no-chase rules, untaken optional trims — against what the market then did. They are kept strictly separate from the calibration cells above.
What the decisions we didn't take would have done.
- No-chase queue (queued a pullback instead of chasing) — 46 cases , median would-have 1W move +2.9% → verdict: cost
- Optional trims not taken — 75 cases , median would-have 1W move -2.3% → verdict: cost
- Anticipate slot (pre-breakout buy-stop) — 1 case → verdict: n/a
Counterfactuals are advisory evidence for the book's learnings reviews — never blended into the calibration cells.