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

4.6 KiB
Raw Blame History

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ă să tradez cu 0.25R", NU "edge confirmat statistic". Confirmarea reală vine din forward paper trading.

  2. Selection bias rezidual. Chiar dacă păstrez disciplina să 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 că, î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.