P(break) v2 live geprueft: Kalibrierung daneben, Trennschaerfe unentschieden
Faellige B4-Messung nach dem Nachtrainieren vom 31.07. (878 Vorhersagen ab 01.08.). Drei Befunde. 1) Das Skript mischte zwei Modelle. Es trennte bei der M30-Umstellung (30.07.), nicht beim Nachtrainieren (31.07.) - "GESAMT" las altes und neues Modell zusammen. Derselbe Fehler wie am 02.08. in analyze_divergence.py. Neu: MODELL_V2 mit demselben Stichtag wie die Faelligkeitsbedingung. 2) Kalibrierung messbar daneben. Die Basisrate ist gewandert: Training 37,8 %, live 53,2 %, stabil ueber vier volle Tage (51,4 / 54,1 / 56,4 / 53,8 % bei n=122-276). Ein Modell, dessen Niveau an 37,8 % verankert ist, muss in einem 53-%-Regime systematisch zu niedrig sagen - genau das passiert. Oberste Klasse invertiert (69 % vorhergesagt, 17 % real). 3) Trennschaerfe NICHT entscheidbar - und das ist der wichtigere Befund. Entkoppelt n=87, AUC 0,556, 95-%-Bootstrap-KI [0,434 ... 0,674]. Das Intervall enthaelt den Zufall (0,50) UND die Messlatte (0,654). Die Faelligkeitsbedingung zaehlte die falsche Groesse: 800 ROHE Vorhersagen, die aber nicht unabhaengig sind (dieselbe Position pendelt um dasselbe Level). Aus 878 rohen werden 87 entkoppelte - die Bedingung ueberschaetzte die Beweismenge um rund das Zehnfache und meldete "faellig", obwohl die Messung nichts entscheiden konnte. Jetzt 350 ENTKOPPELTE (halbiert die KI-Breite). Stand 87/350. Operativ kein Notfall: auto_sr_close ist seit 06.08. false, das Modell schliesst keine Trades. Es speist nur Anzeige, Chart-Linien und Copilot-Kontext. Nichts umgestellt - ein drittes Fitten derselben Bauart wuerde denselben Weg gehen; der Befund zeigt aufs Niveau, nicht zwingend auf die Rangfolge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3e8fa9fea8
commit
908e20a9d0
@@ -4785,6 +4785,69 @@ Signal-Eingriffe sind gescheitert, und die gemessene Stärke des Users liegt in
|
||||
AUSWAHL, nicht in einer Regel. Ein Modul, das ihm seine eigene Historie zur aktuellen
|
||||
Lage zeigt, spielt auf diese Stärke; eines das für ihn einsteigt, ersetzt sie.
|
||||
|
||||
## ⚠⚠ P(break) v2 LIVE GEPRÜFT (2026-08-07) — KALIBRIERUNG DANEBEN, TRENNSCHÄRFE UNENTSCHIEDEN
|
||||
|
||||
Fällige B4-Messung nach dem Nachtrainieren vom 31.07. (`analyze_pbreak_live.py`,
|
||||
878 ausgewertete Vorhersagen ab 01.08.). Zwei Befunde, die auseinandergehalten
|
||||
gehören — und einer davon betrifft die Messung selbst.
|
||||
|
||||
⚠⚠ **ZUERST: DAS SKRIPT MISCHTE ZWEI MODELLE.** Es trennte bei der
|
||||
M30-Level-Umstellung (30.07.), **nicht** beim Nachtrainieren (31.07.); „GESAMT"
|
||||
las damit altes und neues Modell zusammen. Genau der Fehler, der am 02.08. in
|
||||
`analyze_divergence.py` schon behoben wurde (`_EPOCHS`) — hier stand er noch.
|
||||
Neu: `MODELL_V2` mit demselben Stichtag wie die Fälligkeitsbedingung (01.08.),
|
||||
plus eigener Abschnitt „NACHTRAINIERTES MODELL". Die alten Abschnitte bleiben.
|
||||
|
||||
**(1) KALIBRIERUNG — messbar daneben, und die Ursache ist benennbar.**
|
||||
| P(break) | n | vorhergesagt | real |
|
||||
|---|---|---|---|
|
||||
| 0–19 | 56 | 15,1 % | **53,6 %** |
|
||||
| 20–34 | 199 | 29,8 % | 43,2 % |
|
||||
| 35–49 | 414 | 42,2 % | 56,8 % |
|
||||
| 50–64 | 180 | 54,1 % | 61,7 % |
|
||||
| **65–100** | 29 | **69,0 %** | **17,2 %** ⚠ invertiert |
|
||||
⚠ **Die Basisrate ist gewandert** — Training **37,8 %**, live **53,2 %**, und das
|
||||
**stabil über vier volle Tage** (03.08. 51,4 % · 04.08. 54,1 % · 05.08. 56,4 % ·
|
||||
06.08. 53,8 %, je n=122–276). Das ist kein Rauschen. Ein Modell, dessen Niveau an
|
||||
einer 37,8-%-Basisrate verankert ist, muss in einem 53-%-Regime systematisch zu
|
||||
niedrig sagen — genau das steht in der Tabelle. Dieselbe Signatur wie beim alten
|
||||
Modell (alle unteren Klassen „zu niedrig", oberste invertiert).
|
||||
|
||||
**(2) TRENNSCHÄRFE — NICHT entscheidbar, und das ist der wichtigere Befund.**
|
||||
| | |
|
||||
|---|---|
|
||||
| AUC roh (n=878) | 0,541 |
|
||||
| **AUC entkoppelt (n=87)** | **0,556** |
|
||||
| **95-%-Bootstrap-KI** | **[0,434 … 0,674]** |
|
||||
Das Intervall enthält **den Zufall (0,50) UND die Messlatte (0,654)**. Es ist
|
||||
also **nicht** belegt, dass das Modell schlechter rankt als beim Nachtrainieren —
|
||||
es ist nur nichts belegt. „AUC 0,54" als Durchfall zu lesen wäre falsch.
|
||||
|
||||
⚠⚠ **DIE FÄLLIGKEITSBEDINGUNG ZÄHLTE DIE FALSCHE GRÖSSE — behoben.** Sie stand
|
||||
auf **800 ROHEN** Vorhersagen; die sind nicht unabhängig (dieselbe Position
|
||||
pendelt vielfach um dasselbe Level). Aus 878 rohen werden **87 entkoppelte** —
|
||||
die Bedingung hat die Beweismenge um **rund das Zehnfache** überschätzt und die
|
||||
Messung als „fällig" gemeldet, obwohl sie nichts entscheiden konnte. Die
|
||||
Abhängigkeit war im Skript seit jeher dokumentiert („entkoppelte Sicht"), nur die
|
||||
Fälligkeit zählte daran vorbei. **Jetzt: 350 ENTKOPPELTE** (halbiert die
|
||||
KI-Breite 0,12 → 0,06, erst dann sind 0,50 und 0,65 trennbar; bei ~17/Tag ≈ 3
|
||||
Wochen). Stand: **87/350**.
|
||||
⚠ Verwandt mit der Bootstrap-Grenze bei `backtest_cost_gate.ci95`
|
||||
(„überlappende Beobachtungen → effektives n ist ~n/24") — dieselbe Klasse Fehler,
|
||||
diesmal in einer Fälligkeitsbedingung statt in einem Konfidenzintervall.
|
||||
|
||||
✅ **Operativ kein Notfall:** `auto_sr_close = false` seit 06.08. — das Modell
|
||||
schliesst **keine** Trades. Es speist nur den Hinweis in der App, die
|
||||
Chart-Linien, den Copilot-Kontext und `stop_approach`. Die Fehlkalibrierung
|
||||
kostet damit aktuell **kein Geld**, sie macht nur die Anzeige zu pessimistisch
|
||||
(sie sagt „Level hält", wo es in 53 % der Fälle bricht).
|
||||
⚠ **Vor einem erneuten Nachtrainieren:** der letzte Versuch hat live auch nicht
|
||||
gehalten. Der Befund zeigt auf das **Niveau** (Basisrate/Achsenabschnitt), nicht
|
||||
zwingend auf die Rangfolge — ein drittes Fitten derselben Bauart würde denselben
|
||||
Weg gehen. Naheliegender wäre, das Niveau **laufend** an die jüngste Basisrate zu
|
||||
koppeln oder ein Vola-/Regime-Merkmal aufzunehmen. **Nicht gebaut, nicht
|
||||
gemessen.**
|
||||
|
||||
## ⚠⚠ LIVE-CODE HING AN EINEM BACKTEST-SKRIPT — behoben 2026-08-07
|
||||
|
||||
**Befund:** `core/engine.py` (`squeeze_monitor`) und `weekly_review.py` importierten
|
||||
|
||||
Reference in New Issue
Block a user