6.0 KiB
trade-kuns — Trump-Copy-Strategie (Design)
Datum: 2026-06-12 Status: Entwurf — Umsetzung in zwei Phasen: (1) Event-Backfill + Event-Study light, (2) dritte Paper-Engine Hypothese: Öffentlich sichtbare „Trump kauft"-Ereignisse (on-chain Wallet-Käufe, Coin-Erwähnungen auf Truth Social) erzeugen kurzfristigen Kaufdruck. Nachkaufen + fixe Haltedauer (~2–3 Tage) + Market-Sell fängt den Move ein. Kein Walk-Forward-Gate (zu wenig Events für Statistik), aber Event-Study vor Paper-Lauf — bewusste User-Entscheidung 2026-06-12, analog zum GridBot-Probelauf.
1. Signalquellen (beide ohne Account, am 2026-06-12 verifiziert)
On-chain (Quelle onchain, hartes Kauf-Signal):
- Kuratierte Watchlist Trump-assoziierter Ethereum-Wallets (World Liberty Financial etc.) in
src/server/signals/watchlist.ts. Aufnahme-Kriterium: öffentlich dokumentierte Attribution (Etherscan/Arkham-Label oder Presse mit Tx-Beleg); jede Adresse mit Quellen-Kommentar. Befüllung ist Implementierungs-Recherche. - Erkennung:
eth_getLogs(ERC-20Transfer,to∈ Watchlist) über öffentlichen RPC — primärethereum-rpc.publicnode.com, Fallback-Liste in Config. Block-Cursor in DB, Chunks à max. 5 000 Blöcke (Limit öffentlicher RPCs). - Spam-Schutz: Jeder kann beliebige Tokens an die Wallets senden. Nur Tokens aus dem kuratierten Mapping (§2) zählen, zusätzlich Mindest-Notional 50 000 USD (Menge × letzter 4h-Close des gemappten Instruments).
Truth Social (Quelle truth, weiches Hype-Signal):
- RSS-Feed
https://trumpstruth.org/feed(Archiv-Mirror, 100 neueste Posts, live). Polling im 5-min-Loop mitIf-Modified-Since. - Signal: Post-Text matcht Ticker oder Coin-Name aus dem Mapping (case-insensitive, Wortgrenzen; „Bitcoin"/„BTC", „Ethereum"/„ETH" …). Kein Sentiment-NLP — Erwähnung = Event. Dedupe: max. ein Truth-Event je Coin pro 72 h.
- Events tragen ihre Quelle, damit die Auswertung später
onchainvs.truthgetrennt beurteilen kann.
2. Token-Mapping (kuratierte Config)
token → Crypto.com-Instrument: WBTC→BTC_USDT · WETH/ETH→ETH_USDT · LINK→LINK_USDT · AAVE→AAVE_USDT · ONDO→ONDO_USDT · ENA→ENA_USDT · SUI→SUI_USDT · SEI→SEI_USDT · XRP→XRP_USDT · SOL→SOL_USDT. Nicht handelbar (z. B. TRX, MOVE — kein USDT-Paar, verifiziert 2026-06-12): Event wird mit instrument = null persistiert (Auswertung), erzeugt aber keinen Trade. Erwähnungs-Keywords je Token stehen am Mapping-Eintrag.
3. Datenmodell
Tabelle trump_events: id · source (onchain|truth) · token · instrument (nullable) · event_ts · ref (Tx-Hash bzw. Post-URL) · notional_usd (nullable, nur onchain) · consumed_at (nullable) · created_at. Unique (source, ref, token) — Idempotenz bei Restart/Re-Scan. Poller-Cursor (letzter gescannter Block, letzter RSS-Timestamp) in bot_state id=3-State.
4. Strategie (pur, src/server/strategy/trump.ts)
- Entry: Unverbrauchtes Event mit handelbarem Instrument,
event_ts≤ aktuelle 15m-Candle → Buy zum nächsten 15m-Open (+ Fee 0.1 % + 5 bps Slippage wie bestehende Engines). Sizing: 20 % des Engine-Equity je Position, max. 5 offene Positionen, max. 1 je Instrument. Event wird beim Verarbeiten alsconsumedmarkiert — auch wenn kein Slot/Instrument belegt war (verfällt, kein Nachholen; deterministisch). - Exit: Zeit-Exit nach
holdHours(Default 60 h; finaler Wert kommt aus der Event-Study §6) zum ersten 15m-Close ≥ Entry + holdHours. Kein Stop, kein Take-Profit — konsequent „kaufen, halten, verkaufen". - Startkapital 10 000 USDT (paper), getrennt von Engine 1/2.
5. Integration (Ein-Code-Pfad wie bisher)
- Dritte Engine:
bot_stateid=3, gleicher 5-min-Loop, cursor-idempotent. Zyklus: (a) Poller schreiben neue Events intrump_events, (b)process-cycleverarbeitet 15m-Candles + Events durch die pure Strategie. Poller-Fehler (RPC/RSS down, Timeout) sind non-fatal: loggen, nächster Zyklus versucht erneut — Events gehen dank Block-Cursor/Dedupe nicht verloren. - Backtest-Runner
src/server/backtest/trump.tsreplayed historische Events + Candles durch dieselben puren Funktionen; Paritätstest Live ↔ Backtest wie bei den anderen Engines. - Candle-Backfill für neue Instrumente (LINK, AAVE, ONDO, ENA, SUI, SEI) über bestehenden
backfill-Pfad. - Dashboard: dritter Tab „Trump" — Event-Liste (Quelle, Coin, Zeit, Link auf Tx/Post) + Trades/Equity wie gehabt.
6. Phase 1: Backfill + Event-Study light (vor Paper-Start)
src/server/scripts/trump-backfill.ts: rekonstruiert on-chain Events historisch (getLogs in Chunks ab Wallet-Erstellung); Truth-Historie best effort über trumpstruth-Archivseiten — Lücken sind akzeptiert und werden im Ergebnis ausgewiesen.src/server/scripts/trump-event-study.ts: je Event Forward-Return nach 24/48/60/72/120 h (inkl. Fees/Slippage) gegen Baseline (gleicher Coin, gleicher Zeitraum, zufällige Entries). Getrennt nach Quelle. Ergebnis:docs/event-study-trump-<datum>.md.- Entscheidung danach:
holdHoursaus dem besten Horizont; ist der Mittelwert beider Quellen nach Kosten negativ, geht die Engine trotzdem als bewusster Paper-Probelauf live (User-Entscheidung), aber das Ergebnis steht im Doc.
7. Risiken
Öffentliche RPCs drosseln (→ Fallback-Liste, Chunking) · trumpstruth ist ein Dritt-Mirror und kann verschwinden (→ Quelle isoliert, Engine läuft mit onchain weiter) · wenige historische Events → Event-Study nur indikativ, der Paper-Lauf ist der eigentliche Test · Watchlist-Kuration ist manuell (neue Trump-Wallets werden nicht automatisch erkannt) · Hype-Signal kann strukturell zu spät sein (Markt reagiert in Minuten, wir auf 15m-Open — bewusst akzeptiert, misst die Study mit).
8. Tests
getLogs-Decoding + Watchlist-Filter + Min-Notional · RSS-Parsing + Keyword-Match (Wortgrenzen, kein „SEI" in „seitwärts") · Dedupe (unique ref, 72h-Fenster) · Entry am nächsten 15m-Open, Exit exakt nach holdHours · Slot-/Instrument-Limits · Event-Verfall ohne freien Slot · Paritätstest Live ↔ Backtest · Determinismus.