Backtest-Audit: alle 87 Skripte geprueft
Lauffaehigkeit in Ordnung: alle 87 kompilieren, 12 repraesentative (alle die
WaveRecommender konstruieren) laufen fehlerfrei. Die heutigen wave_rec-
Aenderungen brechen nichts - der Modul-Default _reversal_enabled=True haelt die
Altmessungen stabil. Drei Skripte nehmen [TF] [N] statt einer Bar-Zahl als
erstes Argument (signal/pullback/htf_filter); mit einer Zahl als TF gibt es
KeyError. Kein Defekt, nur die Signatur beachten.
angle=-Befund: 11 Skripte, NICHT 26.
Methodik-Fehler bei mir selbst, korrigiert: die erste Pruefung per Regex
(_build\([^)]*angle\s*=) meldete 26 Treffer - die Zeichenklasse [^)]* bricht an
der ersten Klammer ab, sodass Aufrufe wie
w._build(..., htf_trend=m30s(T[i]), angle=ang) faelschlich als "ohne Winkel"
galten. Die AST-Pruefung ergibt 11 echte Faelle und erkennt zusaetzlich
positional uebergebene angle-Argumente. Regex ist fuer Aufruf-Analysen das
falsche Werkzeug.
Wirkung, gemessen ueber 37.577 M5-Bars:
mit Reversal ohne Reversal (live seit heute)
Signal weicht ab 19,1 % 1,1 %
Konfidenz-Differenz +7,7 -4,4
ueber dem 55%-Gate 79,4->90,6 % 79,4->78,5 %
Das Reversal-Abschalten von heute hat die Luecke nebenbei fast geschlossen.
Solange das Reversal aktiv war, sahen die 11 Skripte eine Signal-Population,
die sich in jedem fuenften Bar unterschied - das betrifft den Grossteil der
Projekt-Historie. Ab jetzt sind sie naeherungsweise gueltig.
Bewusst NICHT getan: die 11 Skripte "repariert". Ein angle= zu ergaenzen aendert
ihre Zahlen - das waere laut Migrations-Regel keine Refaktorierung, sondern eine
Neumessung. Sie bleiben unveraendert und reproduzierbar.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
81c4c195da
commit
9e6e81dd34
@@ -2804,6 +2804,51 @@ Copiloten aktiv verschlechtern. Offener Kandidat: sie MIT der gemessenen Lesart
|
||||
mitgeben („langer Docht oben; gemessen läuft der Kurs danach eher GEGEN die Kerze") —
|
||||
noch nicht gebaut.
|
||||
|
||||
## Backtest-Audit 2026-08-04 — rechnen die Skripte noch korrekt?
|
||||
|
||||
**Anlass:** User-Frage nach dem `angle=`-Fund in `backtest_auto_signal.py`. Prüfung
|
||||
aller **87** Backtest-/Analyse-Skripte.
|
||||
|
||||
**Lauffähigkeit: ✅ in Ordnung.** Alle 87 kompilieren; 12 repräsentative (alle, die
|
||||
`WaveRecommender` konstruieren) laufen fehlerfrei. Die heutigen `wave_rec`-Änderungen
|
||||
(`_reversal_enabled`) brechen nichts — der Modul-Default `True` hält die Altmessungen
|
||||
stabil. ⚠ Drei Skripte nehmen **`[TF] [N]`** statt einer Bar-Zahl als erstes Argument
|
||||
(`backtest_signal.py`, `backtest_pullback.py`, `backtest_htf_filter.py`) — mit einer
|
||||
Zahl als TF quittieren sie mit `KeyError`. Kein Defekt, nur die Signatur beachten.
|
||||
|
||||
**Der `angle=`-Befund: 11 Skripte, nicht 26.**
|
||||
⚠ **Methodik-Fehler bei mir selbst, korrigiert:** Die erste Prüfung per Regex
|
||||
(`_build\([^)]*angle\s*=`) meldete **26** Treffer — die Zeichenklasse `[^)]*` bricht an
|
||||
der ersten Klammer ab, sodass Aufrufe wie
|
||||
`w._build(..., htf_trend=m30s(T[i]), angle=ang)` fälschlich als „ohne Winkel" galten.
|
||||
Die AST-Prüfung ergibt **11** echte Fälle (und erkennt zusätzlich Aufrufe, die `angle`
|
||||
positional übergeben). **Regex ist für Aufruf-Analysen das falsche Werkzeug.**
|
||||
Betroffen: `backtest_angle.py:78` · `backtest_auto_signal.py:177` ·
|
||||
`backtest_confluence.py:144` · `backtest_dist.py:63` · `backtest_exit.py:150` ·
|
||||
`backtest_htf_filter.py:106` · `backtest_improve.py:91` · `backtest_pullback.py:89` ·
|
||||
`backtest_rev_exit.py:72` · `backtest_signal.py:91` · `backtest_stretch.py:73`.
|
||||
|
||||
**Wie schlimm ist es? Gemessen über 37.577 M5-Bars:**
|
||||
| | mit Reversal (= bis 03.08.) | **ohne Reversal (= live seit 04.08.)** |
|
||||
|---|---|---|
|
||||
| Signal weicht ab | **19,1 %** | **1,1 %** |
|
||||
| Ø-Konfidenz-Differenz | +7,7 | −4,4 |
|
||||
| über dem 55 %-Gate | 79,4 → 90,6 % | 79,4 → 78,5 % |
|
||||
| WARTEN-Anteil (ohne HTF) | — | 20,6 → 21,5 % (+1 Pp) |
|
||||
⚠ **Das Reversal-Abschalten von heute hat die Lücke nebenbei fast geschlossen.** Solange
|
||||
das Reversal aktiv war, sahen diese 11 Skripte eine Signal-Population, die sich in jedem
|
||||
fünften Bar unterschied und systematisch 7,7 Konfidenzpunkte danebenlag — das betrifft
|
||||
den Großteil der Projekt-Historie. **Ab jetzt sind sie näherungsweise gültig.**
|
||||
⚠ Die WARTEN-Zeile ist NICHT mit der 43-%-Referenz vergleichbar: für die Messung wurde
|
||||
`htf_trend` nicht übergeben, der M30-Filter (allein ~27 % der WARTEN) fehlt also. Nur
|
||||
die **Differenz** (+1 Pp) ist aussagekräftig.
|
||||
|
||||
**Bewusst NICHT getan:** die 11 Skripte „repariert". Ein `angle=` zu ergänzen ändert
|
||||
ihre Zahlen (~1 %) — das wäre laut Migrations-Regel keine Refaktorierung, sondern eine
|
||||
Neumessung. Sie bleiben unverändert und reproduzierbar; wo ihre Schlussfolgerung wieder
|
||||
relevant wird, gehört sie live-treu **neu gerechnet** (Muster:
|
||||
`backtest_auto_signal_norev.py`).
|
||||
|
||||
## Gesamtprüfung 2026-08-02 (nach `docs/review-prompt.md`)
|
||||
|
||||
Erster vollständiger Durchlauf des Review-Prompts. **Keine Strategie-Änderung** — alle
|
||||
|
||||
Reference in New Issue
Block a user