## Ergebnis der Read-only-Analyse ### Bestand und Runtime - **v77 Trend-Retest ist die beste Wiederverwendungsbasis**: - `src/market/trend_retest_features.py`: geschlossene 15m/1h/4h-Candles, ATR, RSI, Volumen, L2, Funding/OI/Premium, Cross-Section. - `src/strategies/trend_retest_anti_chase_v2.py`: reine Long-/Short-Gates und `OrderIntent`. - `src/tools/v77_trend_retest_runtime.py`: persistente Paper-Positionen, Teil-TP, Break-even, Trailing, Dead-Fish/Time-Exit, MFE/MAE, Gebühren/Funding-Journaling. - Die beiden v77-Prozesse laufen verifiziert **paper-only**: - Long: 116 Signale, 0 Entries; hauptsächlich Breadth, Confluence, fehlendes Volumen und fehlender Reclaim. - Short: 116 Signale, 0 Entries; hauptsächlich fehlender Bear-Trend/Reject, Confluence und Volumen. - Prozess-Umgebung enthält `CTB_PAPER_TRADING=true`, `CTB_LIVE_TRADING_ALLOWED=false`. - **Confluence ist aktuell long-zentriert**. Bearishe Trends erhalten niedrige Trend-/Regime-Scores; dadurch wird auch die v77-Short-Strategie praktisch immer global blockiert. Für Short, Range, Carry und Relative Value braucht es family-/direction-aware Confluence. - `PaperExecutor.execute()` liefert `blocked_by_cost`, v77 ignoriert diesen Wert jedoch und übergibt Funding nicht an den Entry-Cost-Check. Das sollte bei neuen Paper-Familien nicht übernommen werden. - **Strategy-Lab-Sampler sind keine echten Paper-Lifecycles**: - Relative Strength: 4.175 identische Auswertungen desselben Cache-Fensters; 7 Trades, PnL `-0.7674`, PF `0.31`. - Squeeze: 3.940 identische Auswertungen; 29 Trades, PnL `-0.7296`, PF `0.58`. - Keine persistenten Positionen, keine realistischen Gebühren/Slippage/Funding. Nur Screening, keine Promotion-Evidenz. - Alter `market_regime_shadow` ist gestoppt und schwach: 8 Exits, Netto-PnL `-0.0747`; Mid-only Stops, keine echte Slippage/Funding-Lifecycle und `regime_exit` ist wirkungslos. - Swing-Retest hat echte Research-Evidenz: 64/64 geschlossene Lifecycles, PnL `+2.3667`, PF `2.08`; aber 60 Time-Exits verlieren zusammen `-1.2532`, während nur vier Trailing-Exits das Gesamtergebnis tragen. Weiter Research-only. - Der bestehende Portfolio Advisor ist noch kein Portfolio-Simulator: fixe 20%-Gewichte, keine Kovarianz-/Turnover-Logik; BTC würde durch `correlation_to_btc > 0.85` als eigenes Anchor-Asset abgelehnt. - Funding/OI/Premium, 15m/60m/240m-Deltas und L2 sind vorhanden. Für echten Basis-Carry fehlt aber eine unabhängige Spot-Leg-Quelle samt Spot-Gebühren/Borrow-Kosten. ## Vorgeschlagene pure Paper-Strategien ### 1. `paper_regime_router_v1` Kein Order-Erzeuger, sondern reine Routing-Entscheidung. - Zustände: `trend_up`, `trend_down`, `range`, `squeeze`, `liquidation_stress`, `carry_only`, `risk_off`. - Inputs: BTC/ETH 1h+4h Trend/Slope, Breadth, ATR-Perzentil, Bandbreite/ADX, OI-/Funding-/Premium-Deltas, L2/Data Quality. - Hysterese: Wechsel erst nach drei geschlossenen 15m-Bars; `risk_off` sofort. - Routing: - `trend_up/down` → Breakout-Retest bzw. v77 Trend-Retest. - `range` → Range Mean Reversion. - `liquidation_stress` → Sweep Reversal. - `carry_only` → Funding/Basis. - Relative Value darf nur bei stabiler Paarbeziehung laufen. - Output: `RegimeDecision(regime, allowed_families, risk_multiplier, reasons)`. - Wichtig: globales `market_regime_choppy_no_trade` muss family-aware werden; Choppy ist für Trend kein Trade, für Range dagegen Voraussetzung. ### 2. `paper_confirmed_breakout_retest_v1` - Universum zunächst BTC/ETH/SOL/LINK. - Breakout: geschlossener 15m-Close mindestens `0.15 ATR` jenseits Donchian-20-Level, Volumenratio ≥1.5, 1h/4h Richtung aligned. - Danach **nicht sofort einsteigen**: 1–6 Bars auf Retest innerhalb `0.25 ATR` des Levels warten. - Entry erst nach geschlossenem Reclaim/Reject, passender Candle-Richtung, Breadth und L2. - Stop hinter Retest-Extrem plus `0.25–0.30 ATR`. - Exit: 50% bei 1.2R, Stop auf Break-even, ATR-Trailing; Dead-Fish nach 4 Bars, max. 24 Bars. - Direkte Wiederverwendung von v77 Runtime/Lifecycle; Breakout-Level und zweistufiger `armed → confirmed` State ergänzen. ### 3. `paper_market_neutral_relative_value_v1` - Paare zunächst ETH/BTC, SOL/ETH, LINK/ETH. - Rolling 1h Log-Spread mit 30-Tage OLS-Beta; nur handeln bei stabiler Beta/Korrelation und ohne Strukturbruch. - Entry bei `|zscore| ≥ 2.0`, Exit bei `|zscore| ≤ 0.5`; Hard Stop bei 3.25 oder Pair-Instabilität; max. 72h. - Zwei Legs beta-/dollar-neutral, gemeinsames Risiko- und PnL-Budget. - Beide Leg-Gebühren, Spread, Slippage und Funding separat buchen. - Benötigt neuen `PairIntent` und atomaren Paper-Pair-Fill; der einbeinige `OrderIntent` und coinbasierte Positions-State reichen nicht. - Keine Promotion, wenn nur ein Leg fillbar wäre oder Zeitstempel der Legs nicht synchron sind. ### 4. `paper_liquidation_sweep_reversal_v1` - 1m/5m Daten statt des bisherigen simplen 15m-Drop-Samplers. - Long-Beispiel: - Sweep unter 20-Bar-Tief um mindestens `0.8 ATR`, - Close wieder über dem alten Tief, - unterer Wick dominant, - Volumen ≥2× Median, - OI fällt deutlich, - negatives Funding/Premium bzw. Basis-Dislokation, - L2-Liquidität erholt sich. - Short spiegelbildlich. - Trend-Continuation-Block: kein Reversal gegen starken 4h-Trend ohne außergewöhnlichen OI-Abbau. - Stop `0.25 ATR` hinter Sweep; TP1 VWAP/Range-Mitte, Rest 1.5R oder Trailing; max. 12 Bars. - Der Strategy-Lab-Typ `liquidation_reversal` ist dafür zu grob und darf nur als Ausgangshypothese gelten. ### 5. `paper_range_mean_reversion_v1` - Nur bei Router-Regime `range`. - Gates: 1h ADX <18, flache 20/50-MAs, geringe Directional Breadth, stabile Bollinger-Bandbreite; nicht bei extrem „toter“ Volatilität. - Entry: Preis überschießt 2σ-Band/VWAP-Deviation und schließt wieder im Band; RSI bestätigt Erschöpfung. - TP1 an Midband/VWAP, Rest am gegenüberliegenden Band. - Stop `0.75 ATR` außerhalb des Sweep-Extrems; max. 12–16 Bars. - Sofortiger Exit bei Regimewechsel zu Trend/Expansion. - Kein Averaging-down und maximal eine Position pro Coin. ### 6. `paper_funding_basis_carry_v1` - Nur **zweibeinig und delta-neutral** simulieren: - positives Funding/Premium → Spot long + Perp short; - inverse Variante nur, wenn Spot-Borrow-Daten real verfügbar sind. - Entry erst nach mindestens acht konsistenten Funding-Samples. - Erwarteter Carry über Zielhorizont muss Spot-/Perp-Gebühren, beide Spreads, Slippage, Borrow und Basis-Konvergenz konservativ um mindestens Faktor 3 übersteigen. - Exit bei drei negativen Funding-Samples, Basisinversion, Liquiditäts-/Margin-Stress oder Datenalter. - Neuer `FundingBasisIntent` und separates Leg-/Margin-/Cash-Accounting erforderlich. - Mit Hyperliquid-Perp allein wäre dies nur ein Short und **nicht** market-neutral; ohne Spot-Quelle bleibt die Familie Beobachtung-only. ### 7. `paper_medium_long_portfolio_v1` - Wöchentlicher Simulator, monatliche Rebalance; Benchmark mitführen. - Inputs: 30/90d Momentum, 50/200-SMA, Drawdown, 30d Volatilität, Kovarianz/Korrelation, Liquidität und Regime. - BTC als Anchor separat behandeln; nicht durch Selbstkorrelation ablehnen. - Risikobasierte Gewichte statt fixer 20%: - Asset- und Altcoin-Caps, - Mindest-Cash im Risk-off, - Portfolio-Volatilitätsziel, - Korrelations- und Konzentrationsstrafe. - Rebalance nur bei z. B. >5 Prozentpunkten Drift oder echtem Regimewechsel; Gebühren und Turnover vollständig simulieren. - Eigene Paper-Fills, Lots, Cash, NAV, Drawdown und Benchmark-Attribution; Advisor-Ausgabe allein genügt nicht. ## Empfohlene Reihenfolge 1. Gemeinsame pure `StrategyDecision`-/Router-Verträge und family-aware Confluence. 2. v77 Runtime in generischen long/short Paper-Lifecycle extrahieren; Cost-Block wirklich anwenden. 3. Confirmed Breakout-Retest und Range-MR. 4. Liquidation-Sweep mit 1m/5m + OI-Deltas. 5. Pair-Lifecycle für Relative Value. 6. Spot-Daten-/Accounting-Grenze für Funding/Basis. 7. Eigenständiger Portfolio-NAV-Simulator. Alle neuen Familien sollten isolierte Runtime-Verzeichnisse, eindeutige Data-Window-IDs, echte persistente Lifecycles sowie `paper_trading=true`, `live_order_allowed=false`, `mainnet_signed_action=false` erzwingen. Promotion nur mit frischen, kostenbereinigten, deduplizierten Walk-forward-/Paper-Lifecycles und Leave-one-coin/pair-out-Robustheit. ### Dateien / Issues - **Keine Dateien erstellt oder verändert.** - Aktueller Git-Status enthält die fremde/ungetrackte Datei `src/research/external_market_context.py`; sie wurde von mir nicht angefasst und erschien während der Read-only-Analyse offenbar parallel.