Files
atm-backtesting/STOPPING_RULE.md
Marius 017921794e reboot: replace vision pipeline with Excel-first manual journal
Pipeline-ul vision (screenshot extraction + CSV append + Python stats) era
greoi pentru backtest semi-manual. Înlocuit cu un singur template Excel
generat din openpyxl + Dashboard cu comparație 5 strategii management pe
aceleași semnale blackbox.

- Strategii: TP0 only / TP1 only / TP2 only / Hybrid+BE / Hybrid no BE
- Input minim (12 coloane galbene); Sesiune și Zi derivate auto din Data+Ora
- Dashboard cu coloana "Cum citesc" + secțiune Glosar cu exemple concrete
- Breakdowns PER SESIUNE / STRATEGIE / INDICATOR / DIRECȚIE
- Equity curve cu 5 linii

Eliminat: m2d-extractor agent, /backtest, /batch, /m2d-log, /stats slash
commands, scripts/{append_row,pl_calc,stats,manual_log,regenerate_md,
vision_schema,calendar_parse}.py, tests/, screenshots/, data/extractions/.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 18:30:33 +03:00

97 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# STOPPING_RULE — Backtesting jurnal Excel
**Versiune**: 2
**Data**: 2026-05-13
**Status**: SIGNED — Marius
---
## Întrebarea de decis
Pentru fiecare combinație (Indicator × Sesiune) candidată, decidem una din trei:
- **GO LIVE** — pornesc forward paper trading cu 0.25R per trade (validare reală)
- **EXTEND COLLECTION** — mai colectez trade-uri, încă nu sunt date suficiente
- **ABANDON** — strategia nu are edge măsurabil pe această combinație
Decizia se ia separat pentru fiecare strategie de management (Hybrid 50/50+BE / TP1-only OCO / TP2-only OCO) — Dashboard-ul din `data/backtest.xlsx` afișează metrici side-by-side.
---
## Threshold-uri obligatorii pentru GO LIVE pe o combinație Indicator × Sesiune
Toate condițiile trebuie satisfăcute simultan, pentru cel puțin o strategie de management:
1. **N ≥ 40** trade-uri pe acea combinație (vezi Dashboard → PER SESIUNE / PER INDICATOR)
2. **WR ≥ 55%** (rule-of-thumb: 95% CI lower bound trebuie să fie ≥ 45% — calculează manual sau folosește calculator Wilson extern)
3. **Expectancy ≥ +0.20R** pe strategia aleasă (Hybrid 50/50+BE implicit; alternativ TP1-only OCO sau TP2-only OCO)
Dacă oricare condiție pică → **EXTEND COLLECTION** sau **ABANDON**.
---
## Threshold-uri pentru ABANDON
Oricare e suficient:
- N ≥ 40 și WR < 45% pe toate cele 3 strategii edge negativ; ABANDON combinația
- N 40 și Expectancy 0.10R pe toate cele 3 strategii ABANDON
- WR observat stabil sub 50% după N 60 ABANDON
---
## Caveat metodologic semnat
**Eu, Marius, înțeleg și accept**:
1. **N=40 = directional evidence, NU scientific proof**. Intervalul de încredere 95% pentru WR la N=40, WR observat 55%, este aproximativ [40%, 70%]. "Validated" la N=40 înseamnă "merită tradez cu 0.25R", NU "edge confirmat statistic". Confirmarea reală vine din forward paper trading.
2. **Selection bias rezidual**. Chiar dacă păstrez disciplina loghez toate trigger-urile (inclusiv loss-urile clare), eu aleg ce perioadă scroll-uiesc. Acest bias e parțial mitigat prin trade-by-trade logging, NU eliminat.
3. **Lookahead bias pe calitate subiectivă**. Nu mai există coloană `calitate` în jurnalul Excel clasificarea subiectivă post-outcome a fost eliminată ca sursă de bias. Note-urile rămân pentru context, dar NU sunt folosite ca filtru de decizie.
4. **Backtest = upper bound al expectancy real**. Execuția live va avea slippage, latențe, emoții, mouse-trip-uri. Expectancy real probabil 0.050.15R sub backtest. De aceea pragul `+0.20R` în backtest break-even-cu-edge-mic în live.
5. **Indicator drift**. Dacă indicatorul blackbox se update-ează, trade-urile vechi devin istoric irelevant. Trackează manual versiunea indicatorului în coloana Notes; reset stats la schimbare semnificativă.
---
## Comparația de strategii — context
Cele 5 overlay-uri calculate automat per trade în `Trades` sheet:
| Strategie | Descriere |
|---|---|
| **TP0 only** | 100% poziție, close la TP0. Maxim conservator. |
| **TP1 only** | 100% poziție, OCO la SL sau TP1, fără intervenție manuală. |
| **TP2 only** | 100% poziție, OCO la SL sau TP2 (let it ride). |
| **Hybrid + BE** | 50% close la TP0, mut SL la BE, 50% close la TP1. Recomandat de trader. |
| **Hybrid no BE** | 50% close la TP0, fără BE, 50% close la TP1. Control pentru izolarea valorii BE-ului. |
**Decizie de management se ia DUPĂ ce ai N≥40 trade-uri**: alegi strategia cu cel mai bun Expectancy + Profit Factor pe combinația de Indicator × Sesiune care a trecut gate-urile.
**Asumpții de simulare**:
- `TP1 only` și `TP2 only` simulează OCO pur, fără intervenție; Outcome=`TP0 only` se închide la SL.
- `TP2 only` cu Outcome=`TP1`: TP2 nu a fost atins presupunem , în lipsa time-stop-ului, SL ar fi venit ulterior; tratat ca 1R. Asumpția subestimează ușor TP2-only dacă în realitate trade-ul s-ar fi închis profitabil prin alt mecanism, dar e prudent.
- BE este parametru teoretic nu un input per trade. Hybrid + BE vs Hybrid no BE diferă strict când Outcome=`TP0 only` (diferența = +0.5R în favoarea BE).
---
## Post-GO LIVE protocol
După o combinație Indicator × Sesiune × Strategie primește GO LIVE:
1. Forward paper trading cu 0.25R per trade.
2. Minimum 20 trade-uri live înainte de a urca sizing-ul la 0.5R sau full.
3. Dacă WR live diverge >10pp de backtest în primele 20 trade-uri → review (probabil execuție defectă sau bias subestimat).
---
## Semnătură
```
Marius — semnat prin commit git — data: 2026-05-13
```
Toate cele 5 caveats înțelese și acceptate.