Die "Basisraten-Luecke" war ein Messfehler - meiner. Aufgeloest.
Nach elf einzeln gemessenen Hypothesen: es gab keinen Fehler im System. Die
14,1 Pp (Backtest 38,6 % gegen live 52,7 %) entstanden, weil ich eine
GECLUSTERTE 6-Tage-Stichprobe gegen ein 208-Tage-Mittel gehalten habe.
Zeitraum Backtest auf 03.-07.08. eingeschraenkt: 38,6 -> 43,4 % +4,8 Pp
Clusterung live entkoppelt (max 1 je Level/Stunde): 52,7 -> 45,2 % -7,5 Pp
Rest +1,8 Pp
Entkoppelt: live 45,2 % [KI 35,5 ... 54,8] gegen Backtest 43,4 % - der
Backtest-Wert liegt IM Intervall. Kein belegbarer Unterschied.
Das ist exakt der Fehler, den ich am selben Tag in der Faelligkeitsbedingung
korrigiert hatte (800 rohe statt entkoppelte Vorhersagen) - und ich habe ihn in
der Auswertung selbst noch einmal gemacht. Regel: bei pbreak_predictions immer
entkoppeln, bevor eine Rate berichtet wird.
Was bleibt:
Basisrate "gewandert 37,8 -> 53,2 %" ZURUECKGEZOGEN
Kalibrierungsfehler BLEIBT: 14,3 Pp entkoppelt,
KI [6,8 ... 25,5], Modell sagt 38,1 %,
real 45,2 % -> ~7 Pp Unterschaetzung
"oberste Klasse invertiert" NICHT belegt (beruhte auf n=29 rohen
Zeilen = wenige unabhaengige Faelle)
AUC unveraendert unentschieden
Konsequenz: nichts umbauen. Die Stichprobe ist fuer eine Reparatur zu klein -
genau deshalb steht die Faelligkeit jetzt auf 350 entkoppelten (Stand 93).
Die elf Hypothesen, alle gemessen: Niveau-Drift, Regime-Merkmal, Vola-Regime,
aktuelles Regime, Sammelart, ATR-Floor, Level-Auswahl, Beruehrungs-Erkennung,
Timeout, Auswertungs-Aufloesung M1/M5, Richtungsquelle.
Zwei Kontrollen bestaetigen die Werkzeuge: mein M1-Nachspiel reproduziert die
Live-Auswertung zu 100 %, und pb_levels30 ist live befuellt - der M5-Fallback
ist nicht aktiv.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
aefac274d3
commit
1f58049049
@@ -4911,7 +4911,62 @@ Modell schliesst keine Trades.
|
|||||||
„die Rangfolge ist kaputt" ist **nicht** belegt; belegt ist nur die
|
„die Rangfolge ist kaputt" ist **nicht** belegt; belegt ist nur die
|
||||||
Basisraten-/Kalibrierungslücke.
|
Basisraten-/Kalibrierungslücke.
|
||||||
|
|
||||||
## ⚠⚠ LEVEL-AUSWAHL: NACHBAU BEHOBEN — die Basisraten-Lücke bleibt UNERKLÄRT (2026-08-07)
|
## ✅⚠⚠ DIE „BASISRATEN-LÜCKE" WAR EIN MESSFEHLER — MEINER (2026-08-07, aufgelöst)
|
||||||
|
|
||||||
|
Nach elf geprüften Hypothesen ist der Befund: **es gab keinen Fehler im System.**
|
||||||
|
Die 14,1 Pp („Backtest 38,6 % gegen live 52,7 %") entstanden dadurch, dass ich
|
||||||
|
**eine geclusterte 6-Tage-Stichprobe gegen ein 208-Tage-Mittel** gehalten habe.
|
||||||
|
| Ursache | Beitrag |
|
||||||
|
|---|---|
|
||||||
|
| **Zeitraum** — Backtest auf dieselben Tage (03.–07.08.) eingeschränkt: 38,6 → **43,4 %** | **+4,8 Pp = 34 %** |
|
||||||
|
| **Clusterung** — live entkoppelt (max. 1 je Level und Stunde): 52,7 → **45,2 %** | **−7,5 Pp = 53 %** |
|
||||||
|
| Rest | +1,8 Pp |
|
||||||
|
**Entkoppelt: live 45,2 % [95-%-KI 35,5 … 54,8] gegen Backtest 43,4 % — der
|
||||||
|
Backtest-Wert liegt IM Intervall. Kein belegbarer Unterschied.**
|
||||||
|
|
||||||
|
⚠⚠ **Das ist exakt der Fehler, den ich am selben Tag in der Fälligkeitsbedingung
|
||||||
|
korrigiert hatte** (dort zählte sie 800 ROHE statt entkoppelte Vorhersagen) —
|
||||||
|
und ich habe ihn in der Auswertung selbst noch einmal gemacht. **Regel: bei
|
||||||
|
`pbreak_predictions` IMMER entkoppeln, bevor irgendeine Rate berichtet wird.**
|
||||||
|
Dieselbe Klasse wie die Bootstrap-Grenze bei `ci95` (überlappende Beobachtungen).
|
||||||
|
|
||||||
|
**WAS DAVON ÜBRIG BLEIBT — und es ist deutlich weniger dramatisch:**
|
||||||
|
| Befund | Stand nach der Entkopplung |
|
||||||
|
|---|---|
|
||||||
|
| Basisrate „gewandert 37,8 → 53,2 %" | ❌ **zurückgezogen** — entkoppelt 45,2 %, Zeitraum-Effekt |
|
||||||
|
| Kalibrierungsfehler | ✅ **bleibt**: 14,3 Pp entkoppelt (roh 14,1) — KI **[6,8 … 25,5]**, also klar > 0. Das Modell sagt im Mittel **38,1 %**, real sind es **45,2 %** |
|
||||||
|
| „oberste Klasse invertiert" (69 % → 17,2 %) | ⚠ **NICHT belegt** — beruhte auf n=29 ROHEN Zeilen ≈ wenige unabhängige Fälle; entkoppelt bleibt die Klasse unter der Mindestbesetzung |
|
||||||
|
| AUC | unverändert **unentschieden** (entkoppelt n=93, KI [0,434 … 0,674]) |
|
||||||
|
|
||||||
|
✅ **Konsequenz: nichts umbauen.** Es bleibt eine **modeste Unterschätzung von
|
||||||
|
~7 Pp** auf einer Stichprobe, die für eine Reparatur zu klein ist — genau
|
||||||
|
deshalb steht die Fälligkeitsbedingung jetzt auf **350 entkoppelten**
|
||||||
|
Vorhersagen (Stand 93). Vorher ist jede Korrektur Kurvenanpassung an Rauschen.
|
||||||
|
|
||||||
|
**DIE ELF GEPRÜFTEN HYPOTHESEN** (alle einzeln gemessen, keine trägt):
|
||||||
|
| # | Hypothese | Ergebnis |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | Niveau/Achsenabschnitt driftet | Roll-Achse fällt live durch |
|
||||||
|
| 2 | Regime-Merkmal (ATR/Median) | H2→H1 schlechter |
|
||||||
|
| 3 | Vola-Regime treibt Bruchrate | über 5 Quintile **flach** (37,0–39,2 %) |
|
||||||
|
| 4 | aktuelles Regime ungewöhnlich | Median 0,96 = normal |
|
||||||
|
| 5 | Sammelart (je Berührung ↔ je Bar) | −1,7 Pp, falsche Richtung |
|
||||||
|
| 6 | ATR-Floor-Artefakt | +2,8 Pp (⚠ **53,9 %** der Backtest-Bars liegen auf dem Floor, live 5,4 %) |
|
||||||
|
| 7 | Level-Auswahl (gemischter Pool) | +0,4 Pp — **echter Bug, s. u., aber nicht die Ursache** |
|
||||||
|
| 8 | Berührung per Close statt Bar-Spanne | −3,9 Pp, falsche Richtung |
|
||||||
|
| 9 | Timeout zählt als Abprall | nur **2,3 %** im Backtest |
|
||||||
|
| 10 | Auswertungs-Auflösung M1 ↔ M5 | M5 **überschätzt** Brüche um +8,0 Pp (falsche Richtung) |
|
||||||
|
| 11 | Richtung (Signal ↔ diskretionär) | 38,0 / 37,6 / 37,5 % — **irrelevant** |
|
||||||
|
✅ **Zwei Kontrollen, die die Werkzeuge bestätigen:** mein M1-Nachspiel
|
||||||
|
reproduziert die Live-Auswertung zu **100 %** (die Auswertung ist korrekt), und
|
||||||
|
`pb_levels30` ist live befüllt (ph=6/pl=5) — der dokumentierte M5-Fallback ist
|
||||||
|
**nicht** aktiv.
|
||||||
|
⚠ Der ATR-Floor-Befund bleibt als Nebenwirkung bemerkenswert: **53,9 % aller
|
||||||
|
Backtest-Bars sitzen auf dem Floor 0,12**, live nur 5,4 %. Der Backtest-Zeitraum
|
||||||
|
ist also viel ruhiger als die Live-Woche — genau die Verzerrung, die den
|
||||||
|
Zeitraum-Effekt (Punkt „Zeitraum" oben) erzeugt.
|
||||||
|
|
||||||
|
## ⚠⚠ LEVEL-AUSWAHL: NACHBAU BEHOBEN (2026-08-07)
|
||||||
|
|
||||||
Auftrag „behebe das" zum benannten nächsten Schritt: die Backtests bauten die
|
Auftrag „behebe das" zum benannten nächsten Schritt: die Backtests bauten die
|
||||||
Live-Level-Auswahl nach, statt sie zu benutzen.
|
Live-Level-Auswahl nach, statt sie zu benutzen.
|
||||||
@@ -4959,10 +5014,11 @@ auf dem Floor 0,12**, live nur **5,4 %** — der Backtest-Zeitraum ist also viel
|
|||||||
ruhiger als die Live-Woche. Der ATR selbst stimmt dagegen überein (Median live
|
ruhiger als die Live-Woche. Der ATR selbst stimmt dagegen überein (Median live
|
||||||
0,2167 gegen letzte 7 Tage 0,2174, Verhältnis **1,00**).
|
0,2167 gegen letzte 7 Tage 0,2174, Verhältnis **1,00**).
|
||||||
|
|
||||||
**Stand: der Fix ist richtig und gebaut, erklärt den Live-Fehler aber nicht.**
|
**Stand: der Fix ist richtig und gebaut, erklärt den Live-Fehler aber nicht** —
|
||||||
Die Live-Bruchrate von 52,7 % liegt ausserhalb der gesamten 9-Monats-Spanne
|
✅ **und das musste er auch nicht: die Lücke war ein Messfehler in meiner eigenen
|
||||||
(33,6…41,1 %) und ist nach fünf geprüften Erklärungen weiterhin offen.
|
Auswertung** (s. Abschnitt darüber). Der Bug im Nachbau ist davon unberührt echt
|
||||||
⚠ Nächste ungeprüfte Kandidaten: die **M1-gegen-M5-Auflösung** bei der
|
und bleibt behoben.
|
||||||
|
⚠ (erledigt) Die M1-gegen-M5-Auflösung bei der
|
||||||
Ausgangsbestimmung (live wertet gegen `candles_m1` aus, der Backtest gegen
|
Ausgangsbestimmung (live wertet gegen `candles_m1` aus, der Backtest gegen
|
||||||
M5-Bars — innerhalb eines M5-Bars prüft der Backtest `confirm` VOR `reject`,
|
M5-Bars — innerhalb eines M5-Bars prüft der Backtest `confirm` VOR `reject`,
|
||||||
was ihn *zugunsten* von „break" verzerrt, also in die falsche Richtung), und die
|
was ihn *zugunsten* von „break" verzerrt, also in die falsche Richtung), und die
|
||||||
|
|||||||
Reference in New Issue
Block a user