Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7fd34d6de8 | ||
|
|
8d5863bac4 |
@@ -52,6 +52,26 @@ Fundamentals (weekly, early Monday) · Alerts (hourly, Telegram) · Backtest (we
|
|||||||
|
|
||||||
Caveats on the momentum result: in-sample, roughly one market regime, costs/slippage approximated at 0.1% per side, and residual momentum still needs SPY benchmark history to compute. The **out-of-sample proof is the forward paper-trade record**: Signals → Track Record compares live qualified expectancy against the backtest.
|
Caveats on the momentum result: in-sample, roughly one market regime, costs/slippage approximated at 0.1% per side, and residual momentum still needs SPY benchmark history to compute. The **out-of-sample proof is the forward paper-trade record**: Signals → Track Record compares live qualified expectancy against the backtest.
|
||||||
|
|
||||||
|
### Current production baseline
|
||||||
|
|
||||||
|
Use this as a regression guardrail for future strategy changes, not as a return promise. Backtest run: 506 tickers, weekly cadence, 30-trading-day horizon, 2022-06-28 → 2026-07-01, 0.1% per-side costs, price-only SPY benchmark.
|
||||||
|
|
||||||
|
| Item | Current baseline |
|
||||||
|
|---|---|
|
||||||
|
| Strategy version | `residual_momentum_12_1_rr_time_v2` |
|
||||||
|
| Production gate | Long-only, residual 12-1 momentum percentile >= 80, R:R floor on, NEUTRAL excluded, confidence floor effectively off |
|
||||||
|
| Exit | Hold 30 trading days with the initial ATR stop |
|
||||||
|
| Qualified setups | 1,810 |
|
||||||
|
| Qualified net expectancy | +0.16R per setup |
|
||||||
|
| Profit factor | 1.27 |
|
||||||
|
| Portfolio CAGR | +40.4% |
|
||||||
|
| Portfolio total return | +289.4% vs SPY +95.9% |
|
||||||
|
| Max drawdown | -26.1% |
|
||||||
|
| Sharpe | 1.52 daily, annualized |
|
||||||
|
| Robustness | 30d hold remains +0.16R net/trade after removing the top 5% winners |
|
||||||
|
|
||||||
|
Nearest challengers from the same run: legacy raw 80 was weaker (+33.8% CAGR, -28.8% max drawdown, Sharpe 1.32); raw 90 was close but had lower Sharpe and worse drawdown (+40.4% CAGR, -27.6% max drawdown, Sharpe 1.49); residual 80 / max 15 removed book-full skips but did not improve CAGR, drawdown, Sharpe or closed trades.
|
||||||
|
|
||||||
### The iron rule for strategy changes
|
### The iron rule for strategy changes
|
||||||
|
|
||||||
A signal earns its way into selection **only** through the factor harness:
|
A signal earns its way into selection **only** through the factor harness:
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
# Anforderungsdokument — "AI/Tech Regime Change Monitor"
|
|
||||||
|
|
||||||
**Ziel:** Ein persönliches Hobby-Tool, das fundamentale *und* kursbasierte Signale überwacht und einen einzigen Wert von **0–100** ausgibt: die geschätzte Wahrscheinlichkeit, dass das KI/Tech-Bullenregime in eine Neubewertung kippt.
|
|
||||||
**Zweck:** Disziplinierte Ausstiegs-Entscheidung für spekulative Einzelpositionen (NVDA, MSFT). **Kein** Auto-Trading, **keine** Anlageberatung, **keine** Timing-Garantie.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Scope
|
|
||||||
|
|
||||||
- **Beobachtete Instrumente:** SMH (Halbleiter, *schnelles* Frühsignal) + QQQ (breiter, *Bestätigung*) als Regime-Sensoren; SPY, RSP (Marktbreite-Kontext); VIX (Volatilität); Hyperscaler GOOGL, AMZN, META, MSFT (Capex-Signal). Bewusst **keine** Einzelaktien-Trades — das Tool misst das *Regime*, nicht einzelne Titel.
|
|
||||||
- **Optionaler "Kanarienvogel":** NVDA als reiner Frühindikator-Input (Lead-Aktie des Sektors, dreht oft vor SMH) — abschaltbar, **keine** Entscheidungsposition.
|
|
||||||
- **Read-only.** Tool gibt nur einen Score + Aufschlüsselung aus, führt keine Orders aus.
|
|
||||||
- **Lauf-Kadenz:** Kurssignale täglich, Fundamentalsignale quartalsweise (bzw. bei Earnings).
|
|
||||||
|
|
||||||
## 2. Output
|
|
||||||
|
|
||||||
- **Gesamtscore 0–100** (0 = Regime stabil, 100 = Bruch im Gange) mit Label-Band:
|
|
||||||
- 0–30 stabil · 30–60 beobachten · 60–80 erhöht · 80–100 Bruch sichtbar
|
|
||||||
- **Aufschlüsselung pro Signal** (Sub-Score 0–100 + Gewicht + Beitrag).
|
|
||||||
- **Trend:** Veränderung des Gesamtscores über 7 und 30 Tage (steigend/fallend).
|
|
||||||
- Optional: einfacher Alert, wenn Gesamtscore eine konfigurierbare Schwelle (Default 65) überschreitet.
|
|
||||||
|
|
||||||
## 3. Signale
|
|
||||||
|
|
||||||
Jedes Signal liefert einen Sub-Score 0–100 (0 = gesund, 100 = Regime bricht). Gewichte in `config` editierbar.
|
|
||||||
|
|
||||||
### Kursbasiert (automatisierbar, täglich)
|
|
||||||
Grundprinzip: **SMH ist das führende Signal, QQQ die Bestätigung.** Wo beide eingehen, zählt SMH stärker (Default 2:1), damit du Frühwarnung *und* Filter gegen Fehlalarme hast.
|
|
||||||
|
|
||||||
| ID | Signal | Logik (Sub-Score 0→100) | Default-Gewicht |
|
|
||||||
|----|--------|--------------------------|-----------------|
|
|
||||||
| P1 | Trendbruch 200-Tage-MA | Gewichteter Anteil unter der 200-Tage-MA: SMH zählt doppelt, QQQ einfach | 12 |
|
|
||||||
| P2 | Death Cross + Slope | 50-Tage-MA unter 200-Tage-MA und 200er-Slope negativ (graduell nach Abstand), SMH führend | 8 |
|
|
||||||
| P3 | Drawdown vom 52W-Hoch | max(SMH, QQQ)-Drawdown: 0 % → 0, ≥ 20 % → 100 (linear) | 10 |
|
|
||||||
| P4 | Relative Stärke Tech | Trend des Verhältnisses SMH/SPY (Tech underperformt → höher) | 8 |
|
|
||||||
| P5 | Volatilität | VIX: ≤ 15 → 0, ≥ 30 → 100 (linear) | 7 |
|
|
||||||
| P6 | *Optional:* Kanarienvogel NVDA | NVDA unter 50-Tage-MA bei gleichzeitig noch intaktem SMH (Lead-Divergenz) → Frühwarnung; abschaltbar | 0 (opt. 5) |
|
|
||||||
|
|
||||||
### Fundamental (teils manuell, quartalsweise)
|
|
||||||
| ID | Signal | Logik (Sub-Score 0→100) | Default-Gewicht |
|
|
||||||
|----|--------|--------------------------|-----------------|
|
|
||||||
| F1 | Hyperscaler-Capex-Guidance | Manuelle Eingabe je Name: anhebend = 0, haltend = 50, kürzend = 100; Mittel über die 4 | 25 |
|
|
||||||
| F2 | Kreditspreads | US High-Yield OAS (FRED `BAMLH0A0HYM2`): Perzentil der letzten 3 J → Score; Ausweitung = höher | 15 |
|
|
||||||
| F3 | Earnings-Reaktion | "Good news, stock down": fielen Hyperscaler/SMH im Schnitt trotz Gewinn-Beats nach den letzten Earnings? (Reaktion ±2 Tage, auto oder manuell) | 8 |
|
|
||||||
| F4 | Marktbreite | Trend RSP/SPY (gleichgewichtet schlägt kapgewichtet bei Tech-Schwäche → Verschlechterung der Breite → höher) | 7 |
|
|
||||||
|
|
||||||
**Gesamtscore = Σ(Sub-Score × Gewicht) / Σ(Gewichte).** Summe Defaults = 100.
|
|
||||||
|
|
||||||
## 4. Datenquellen (Vorschlag, alle frei)
|
|
||||||
|
|
||||||
- **Kurse/MA/Drawdown/VIX:** `yfinance` (Yahoo Finance). Alternativ deine IBKR-API.
|
|
||||||
- **Kreditspreads:** FRED-API (`BAMLH0A0HYM2`), kostenloser API-Key.
|
|
||||||
- **Capex-Guidance (F1):** manuell pflegbar in `signals.yaml` (4 Werte/Quartal). Keine zuverlässige Gratis-API; bewusst manuell.
|
|
||||||
- **Earnings-Termine/-Reaktion (F3):** `yfinance` earnings dates + Kursreaktion, optional manuell.
|
|
||||||
|
|
||||||
## 5. Konfiguration
|
|
||||||
|
|
||||||
- `config.yaml`: Gewichte je Signal, Alert-Schwelle, Tickerlisten, Lookback-Fenster.
|
|
||||||
- `signals.yaml`: manuelle Eingaben (F1, optional F3).
|
|
||||||
- Alle Schwellen/Gewichte ohne Code-Änderung anpassbar.
|
|
||||||
|
|
||||||
## 6. Tech-Vorschlag (optional)
|
|
||||||
|
|
||||||
- **Python** + `pandas` + `yfinance` + `requests` (FRED) + `pyyaml`.
|
|
||||||
- Ausgabe als **CLI-Report** (Tabelle + Gesamtscore) und/oder kleines **Streamlit**-Dashboard mit Gauge + Verlaufschart.
|
|
||||||
- Lokal lauffähig, ein `python monitor.py` reicht; Verlauf in lokaler CSV/SQLite für 7/30-Tage-Trend.
|
|
||||||
|
|
||||||
## 7. Explizite Nicht-Ziele / Grenzen
|
|
||||||
|
|
||||||
- Sagt **keinen** exakten Zeitpunkt voraus; ein hoher Score ≠ garantierter Crash.
|
|
||||||
- Die Gewichte sind subjektiv (Garbage-in → Garbage-out): Default ist ein Startpunkt, kein Optimum.
|
|
||||||
- Das eindeutige Signal kommt oft erst mit dem Einbruch — das Tool *senkt* die Reaktionszeit, eliminiert sie nicht.
|
|
||||||
- Reines Informations-/Disziplin-Werkzeug, keine Finanzberatung.
|
|
||||||
Reference in New Issue
Block a user