# Learning-loop review — 2026-09-24 1031 closed trades reviewed, 381 currently open. Proposal only — nothing here is applied automatically (CLAUDE.md §4: the AI review proposes, dan disposes). # Learning review, 2026-09-24 ## 1. Is overall expectancy holding? Pooled expectancy is **+0.45% per trade** over 1,031 closed trades. Win rate is 52.8% (Wilson lower bound 49.7%), profit factor 1.71, total P&L $5,150 and max drawdown $1,675. Two caveats make this weaker than it looks: - **The sample is mostly not independent.** 794 of the 1,031 trades are QSR rows, and one buy decision writes several rows across anchor and runner legs and across accounts. The power section puts the honest QSR count at about 81 independent symbol-days. The 1,031 is fine for a scoreboard but should not be treated as 1,031 independent draws. - **The profit is mostly paper.** | Account | Type | Closed trades | Net P&L | |---|---|---|---| | paper-main | Paper | 709 | +$4,869 | | Paper02qsr | Paper | 55 | +$82.50 | | Paper03QSR | Paper | 55 | +$185.54 | | live-1 | Live | 154 | **−$97.77** | | t212-isa | Live | 58 | +$110.83 | live-1 is a price-biased subsample (the notional cap only lets it buy low-priced shares), and t212-isa has only run since 09-11. Neither live result is a signal on its own. Paper fills are optimistic, so the pooled figure likely overstates the live edge. Some rows contradict themselves, which suggests journal or reconciliation issues: - orb-retest-v1 shows PF 0.04 and a 20.6% win rate but +$550 total P&L. - `manual` exits show +3.03% expectancy with PF 0.18. - Several buckets have a negative average hold (MARA −6.5d, orb-retest-v1 −1.8d). These look like timestamp or P&L-accounting problems in reconciled or external rows. They are worth a look before anyone trusts per-bucket dollar figures. ## 2. Biggest drag bucket Several buckets have at least 20 trades. The clearest drag is **RSI 30–40 at entry**: n=274, win rate 33.6% (Wilson lower bound 28.2%), expectancy **−1.94%**, PF 0.57, **−$1,138**. - **Gap versus the rest:** the other 757 trades average about +1.3% (backed out from the overall figures), so the gap is roughly **3.3pp**. Against the adjacent RSI 40–50 band (n=380, +1.84%) it is about 3.8pp. - **Nominally this exceeds the 2.48pp noise floor, but I would not treat it as resolved:** 1. The floor was computed on about 81 independent symbol-days. These 274 rows are heavily clustered, so the effective n is far smaller. 2. It is one band picked after the fact from several RSI, MA50 and relvol cuts, so it is a multiple-comparisons pick. 3. Outcomes are strongly ticker-clustered. Many names are 100% or 0% winners: - 0% winners: HWM 18 trades, NKE 18, MO 8, HON 8, ENB 8, ETR 8. - 100% winners: META 18 trades, UMC 20, NOK 16, ASX 16. An RSI band that happens to hold the losing names will look like a signal. The METRICS.md rule against band-splitting applies here. By exit reason, `stop_loss` (n=451, −$7,166) is the largest dollar drag. It is the structural cost side of a payoff of about 1.0, not a bucket to fix. ## 3. Entry, exit or regime problem? The MAE and MFE numbers point mostly at **entry and selection**, not exits: - **MAE:** winners average −1.99% and losers −5.17%. Losers sit at roughly the full stop distance. - **MFE:** losers average only +1.40%. They mostly never worked, so this is not the "high-MFE loser" exit pattern that would justify tightening targets. - **Winners:** MAE around −2% means entries are not systematically early. - **Regime:** it cannot be assessed. Every labelled trade is SPY > MA200 (803 trades) and the rest are "unknown" (228). No bear-regime sample exists. A slow-grinding downtrend name keeps getting re-bought, then stops out weeks later. This is consistent with the ticker clustering in point 2. It is a selection and exposure pattern, not something an exit tweak fixes. ## 4. Proposed change **Entry-signal change: NO CHANGE.** Do not move the RSI band or add an RSI gate. The supporting gap comes from clustered rows and a post-hoc cut, and the sample cannot resolve it. The projected revisit date is **2026-10-08**, which is when the 1.00%-edge row (124 symbol-days) is reached. Anything smaller resolves only in 2027 or later. **One optional change that does not depend on out-predicting the market:** | Param | Current | Proposed | |---|---|---| | `qsr.maxBuysPerTickerPerMonth` | 10 | **6** | - **Why:** outcomes cluster by ticker. The weekly cap of 3 means the monthly cap of 10 is what binds over a month. The sin-bin ladder only counts realized losses, and stops take about 8–9 days to hit. Re-buys can therefore stack into an underwater name before the first loss registers, as the open BTI, PDD and UBER rows show. - **What it does and doesn't do:** this is variance and correlation control. I am **not** claiming it raises expectancy, and it will also trim repeat winners like META and UMC. - **Where to apply it:** the accounts override the global value. paper-main uses 10, live-1 uses 8 and Paper02qsr uses 6, so it has to be applied through the Accounts page. Editing `QSR_V1` alone would not change those accounts. - **Judging it:** measure it only on trades after the change, on ticker-level drawdown, not on P&L. If you'd rather not touch anything, "no change, revisit 2026-10-08" is equally defensible. ## 5. Open positions - **Aging, underwater:** - BTI: about 45 days, −1.85%, spread across many rows. - AEP: 45 days, −4.79%. - AVGO: 36 days, −3.2%. - PDD: about 16 days, −2.53%, more than 10 rows. - UBER: −3.78%. - **Deepest losers:** - SYK −6.12%. - COHR −5.76%. - VALE −4.64%. - LHX −4.38%. - MS −4.23%. - F −4.16%. These are the likeliest next stop-outs. It is the same re-buy stacking pattern as in point 4. - **Check the exit legs on the winners:** ISRG is +14.1%, KEYS +11.5% and AMGN +6.9%, while their listed take-profits look no further out than roughly 12% and 7%. Confirm their exit legs are still live at the broker. This may just be a mark or row-mapping artifact. - **Data anomalies:** - SHOP shows SL 144.91 above TP 135.42, which is inverted. - Several t212 rows show no unrealized P&L (COF, GE, GEV, GS, MELI, NKE, RCL, SLB, CSCO). - The LSE names BARC.L and RIO.L show no P&L either. - **Volume:** about 360 open QSR rows sit across accounts, so the book is heavily QSR-concentrated. ## 6. QSR shadow comparison The shadow window closed on 2026-08-23. A fuller backtest of the hypothetical legacy outcomes against the real newlyA outcomes **can now be requested**. Observations only: - **Breadth:** legacy would have fired 48 events across 18 tickers. newlyA has entered 155 distinct tickers. The row counts are not comparable, since rows are multiplied by legs and accounts, but the ticker breadth clearly is. - **Overlap:** 14 of the 18 legacy tickers also appear in newlyA. Legacy is largely a subset of newlyA in ticker terms. The legacy-only names are MO, MAR, MRVL and SNDK. - **Weak names in both:** the shared names include several that are weak in the journal: NKE, BTI, ENB, TRP, AEP, ITUB, COHR and VALE. Both methods seem to pick slow-downtrend names. The overlap also includes winners (DDOG, AZN, SU, IBKR, EBAY), so there is no clean read. ## 7. t212-isa vs live-1 Nothing can be concluded about which account has the better signal. There is no outcome data on the overlap, and t212-isa only began trading on 2026-09-11. - **Most pairs agree closely.** Entry bases differ by 0.4% or less for the large majority. The gaps run in both directions: t212 is lower on BP, CSX, CTAS, IMO, PEP and UBER, and higher on ABT, CMCSA, FANG, ORCL, ORLY, PGR and TRP. There is no systematic pre-market-stale bias visible. - **The two large gaps are likely artifacts of the pairing, not timing:** - **DASH (4.5%):** t212's 196.36 target matches live-1's 0.3-day-old row (TP 196.36), not the 15-day-old row (TP 205.2) it was compared with. - **BSX (4.0%):** t212's 46.41 target matches live-1's 10.3-day-old row, not the 15.3-day-old row (TP 48.28) it was compared with. The report pairs by ticker, not by signal event, and duplicate lines inflate the "38" count. The 4.5% and 4.0% gaps therefore compare different signals. - **NVS (1.4%) and TRP (0.9%)** are the only remaining gaps above 0.7%. They could be event mismatches too. To make this comparison meaningful, pair by signal timestamp or buy-event id. Then compare only after both accounts have enough independently closed QSR trades.