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:
Axel Hocks
2026-08-07 11:44:01 +02:00
co-authored by Claude Opus 5
parent aefac274d3
commit 1f58049049
+61 -5
View File
@@ -4911,7 +4911,62 @@ Modell schliesst keine Trades.
„die Rangfolge ist kaputt" ist **nicht** belegt; belegt ist nur die
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,039,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
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
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.**
Die Live-Bruchrate von 52,7 % liegt ausserhalb der gesamten 9-Monats-Spanne
(33,6…41,1 %) und ist nach fünf geprüften Erklärungen weiterhin offen.
⚠ Nächste ungeprüfte Kandidaten: die **M1-gegen-M5-Auflösung** bei der
**Stand: der Fix ist richtig und gebaut, erklärt den Live-Fehler aber nicht**
✅ **und das musste er auch nicht: die Lücke war ein Messfehler in meiner eigenen
Auswertung** (s. Abschnitt darüber). Der Bug im Nachbau ist davon unberührt echt
und bleibt behoben.
⚠ (erledigt) Die M1-gegen-M5-Auflösung bei der
Ausgangsbestimmung (live wertet gegen `candles_m1` aus, der Backtest gegen
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