Type/to search
8
Follow
1365
Followers
Die Hierarchieregel des Vibe Tradings: Welche Aufgaben überlässt man den gleitenden Durchschnitten und welche der KI?
Discussions
Created 2026-04-02 10:40:28  Updated 2026-04-02 13:41:43
 0
 356

img

Gedanken zum Vibe Trading: Wann sollte man KI einsetzen, wann nicht.


In letzter Zeit gibt es ein Konzept namens Vibe Trading – die Beschreibung von Handelsabsichten in natürlicher Sprache, die KI führt sie aus. Sage "konservative Strategie, bevorzugt low-volatile Vermögenswerte", und die KI konfiguriert automatisch. Hört sich schön an.

Bevor wir über Vibe Trading sprechen, möchte ich eine aktuelle Begebenheit erzählen, die besser als jede Theorie zeigt, "wo KI eingesetzt werden sollte".

Am 31. März legte Anthropics Claude Code in einem npm-Update versehentlich den Quellcode offen – etwa 512.000 Zeilen TypeScript (Anm.: Dies ist die Gesamtcodeanzahl nach dem Bündeln, einschließlich Abhängigkeiten und generiertem Code). Die Reverse-Engineering-Analysen der Community verbreiteten sich schnell, Entwickler auf der ganzen Welt durchforsteten den Code nach neuen Funktionen.

Die für mich überraschendste Entdeckung hatte jedoch nichts mit KI zu tun. Die Entdeckung selbst hatte auch nichts mit Trading zu tun, aber die dahinterstehende Ingenieursphilosophie sollte bei quantitativen Tradern Anklang finden.

In einem Modul, das von Analysten als userPromptKeywords markiert wurde, gab es einen regulären Ausdruck, der Schimpfwörter wie shit, wtf, fucking broken abgleicht – um schnell zu erkennen, ob ein Benutzer flucht.

Das weltweit führende Unternehmen für große Sprachmodelle verwendet reguläre Ausdrücke zur Emotionserkennung.

Nicht Claude für Sentimentanalyse einsetzen. Kein Klassifikator trainieren. Sondern ein im Mikrosekundenbereich laufendes String-Matching.

Warum?


1. Warum Anthropic nicht seine eigene KI nutzt

Das ist keine Faulheit. Es ist eine wohldurchdachte Ingenieursentscheidung.

Claude Code verarbeitet täglich Hunderttausende von Benutzerinteraktionen. Bei jeder Interaktion muss beurteilt werden, "ob der Benutzer Frustration ausdrückt", um die Antwortstrategie anzupassen. Wenn man jedes Mal das LLM für diese Beurteilung aufruft:

  • Latenz: Eine LLM-Inferenz dauert mindestens Hunderte Millisekunden, Regex-Matching wenige Mikrosekunden
  • Kosten: LLM-Aufrufe werden pro Token abgerechnet, Regex-Matching ist nahezu kostenlos
  • Determinismus: Regex matcht entweder oder nicht, Ergebnis 100% eindeutig; die Ausgabe von LLMs ist nicht deterministisch, derselbe Input kann zu unterschiedlichen Beurteilungen führen

Daher die Wahl von Anthropic: Regex für schnelles Filtern (niedrige Schwelle, schnell, deterministisch), die Rechenleistung des LLMs den Entscheidungen vorbehalten, die wirklich semantisches Verständnis benötigen.

Das ist kein technisches Detail. Es ist eine Architekturphilosophie: Nicht jedes Problem verdient es, mit KI gelöst zu werden.

Quantitative Trader sollten mit diesem Satz besonders viel anfangen können.


2. Die gleiche Wahl im quantitativen Trading

In Ihrer Strategie gibt es zwei Arten von Entscheidungen:

Deterministische Entscheidungen – sollten "Regeln" verwenden

Wer auf FMZ Strategien geschrieben hat, weiß, dass die grundlegende Handelslogik oft nur aus wenigen deterministischen Codezeilen besteht:

javascript
// 均线交叉信号 —— FMZ JavaScript 示例 var records = exchange.GetRecords(PERIOD_D1) var ma5 = TA.MA(records, 5) var ma20 = TA.MA(records, 20) var idx = records.length - 1 // 金叉开多 if (ma5[idx] > ma20[idx] && ma5[idx-1] <= ma20[idx-1]) { exchange.SetDirection("buy") exchange.Buy(records[idx].Close, 1) Log("均线金叉,开多") }

Bedingungen klar, Ergebnis deterministisch, kein "Verstehen" der Semantik nötig. Mit if-else geschrieben, 100% zuverlässig, Ausführung in Millisekunden.

Es ist ein ähnlicher Ansatz wie Anthropic mit Regex zur Emotionserkennung – Deterministische Probleme mit deterministischen Werkzeugen lösen. Natürlich ist Regex String-Matching, gleitende Durchschnitte sind mathematische Berechnungen, die Werkzeuge sind unterschiedlich, aber ihre Rolle in den jeweiligen Systemen ist ähnlich: beides sind deterministische Urteile ohne KI-Eingriff.

Stop-Loss: die Zuverlässigkeit von if-else ist 100%, die von KI ist "hohe Wahrscheinlichkeit". Ihr Konto kann diese kleine Wahrscheinlichkeit nicht verkraften.

Unschärfe-Entscheidungen – sollten KI verwenden

Aber manche Entscheidungen lassen sich nicht mit if-else schreiben:

  • Nachrichten-Sentimentanalyse: Die Fed-Erklärung ist draußen, ist sie hawkish oder dovish? "Den aktuellen Leitzins unverändert lassen, aber der Ausschuss wird die Datenentwicklung genau beobachten" – ist das bullisch oder bärisch? Der gleitende Durchschnitt kann es dir nicht sagen, und ein regulärer Ausdruck kann dieses Urteil auch nicht fällen.
  • Anomalieerkennung: Die Social-Media-Diskussion über einen bestimmten Altcoin ist innerhalb von 3 Stunden um 800% gestiegen, aber der Preis hat sich noch nicht bewegt. Ist das "intelligentes Geld, das Positionen aufbaut" oder "jemand macht vor einer Rallye Stimmung"? Es erfordert mehrdimensionale Informationen für eine vage Beurteilung.
  • Strategiegenerierung: Du hast ein Bauchgefühl – "Nach dieser Formation gibt es oft einen Anstieg". Aber du kannst die genauen Bedingungen nicht beschreiben. Du kannst dieses Gefühl dem LLM beschreiben und es in einen rücktestbaren quantitativen Faktor umwandeln lassen.

Gemeinsame Merkmale dieser Szenarien: Eingabe ist unstrukturiert, Beurteilungskriterien sind vage, erfordern "Verstehen" und nicht nur "Abgleichen".


3. Ein nachahmenswerter Schichtenansatz

Zurück zur Architektur von Claude Code. Die Community-Analyse offenbarte eine klare Schichtung:

EbeneMechanismus in Claude CodeEntsprechung im quantitativen Trading
Schnelle FiltersebeneReguläre Ausdrücke, Keyword-MatchingGleitende Durchschnitte, Schwellwert-Stop-Loss, Positionslimits
Engineering-InfrastrukturebeneProzessmanagement, Nachrichtenübermittlung, ZugriffskontrolleBörsen-API, Orderverwaltung, Risikocontrolling-Engine
Semantische EntscheidungsebeneLLM-PromptNachrichten-Sentimentanalyse, Erkennung anomaler Muster, Strategieerkundung

Natürlich sind Claude Code und quantitatives Trading zwei völlig unterschiedliche Bereiche, die Entsprechungen hier sind keine exakte Abbildung. Aber die Resonanz in der Designphilosophie ist echt – in jeder Schicht das geeignetste Werkzeug wählen, nicht mit einem Hammer auf alle Nägel schlagen.

Auch die Open-Source-Community praktiziert einen ähnlichen Ansatz. TradingAgents ist ein aktuell beachtenswertes Multi-Agent-Framework für quantitatives Trading (basiert auf LangGraph, mit zugehörigem wissenschaftlichem Paper). Es simuliert die Teamstruktur eines realen Trading-Unternehmens: Technische Analysten kümmern sich um Kerzencharts und Indikatorberechnungen, Sentimentanalysten interpretieren Nachrichten und Stimmungen, verschiedene Trader-Stile bündeln die Meinungen für die finale Entscheidung. Nicht eine allmächtige KI, die alles erledigt, sondern verschiedene Rollen, die ihre Aufgaben erfüllen.

Es ist erwähnenswert, dass TradingAgents ein Forschungsframework ist, das die Frage "Wie trifft KI Handelsentscheidungen?" löst. Aber im Live-Handel benötigst du die andere Hälfte: Börsenanbindung, Orderverwaltung, Risikokontrollausführung, Log-Audit – diese Engineering-Infrastruktur wird von Quant-Plattformen wie FMZ bereits für dich erledigt.


4. Wie Vibe Trading umgesetzt wird: Ein Beispiel für eine Schichtenarchitektur

Zurück zum Vibe Trading. Die Richtung ist richtig, aber die Voraussetzung ist, dass die Schichten klar sind.

Angenommen, heute gibt es einen Golden Cross bei BTC, aber die Nachrichten sind voller regulatorischer Negativmeldungen. Was tust du? Rein nach gleitendem Durchschnitt müsstest du long gehen; rein nach Nachrichten wagst du dich nicht zu bewegen. Dies ist ein typisches Szenario, das eine Schichtung erfordert.

Auf FMZ könnte eine vereinfachte Schichtenarchitektur wie folgt implementiert werden (Anm.: Nachfolgend ein vereinfachtes Beispiel, für Live-Handel bitte selbst Vertragseinstellungen und Risikokontrolle ergänzen):

python
# 伪代码示意:分层决策 def vibe_trade(signal_dict): # 快速筛选层:规则引擎 # 均线金叉信号 if signal_dict.get('ma_cross') == 'golden': # 第二层:语义分析 sentiment = analyze_news_sentiment(signal_dict['news']) if sentiment < -0.5: # 强烈利空,不执行 return "hold" elif sentiment < 0: # 轻微利空,减半仓位执行 return "half_trade" else: # 非利空,正常 return "full_trade" else: return "hold"

In diesem Beispiel verwendet die schnelle Filtersebene Regeln zur Beurteilung des Golden Cross, die semantische Entscheidungsebene nutzt KI zur Analyse der Nachrichtenstimmung.

Nur wenn wir "Signale der gleitenden Durchschnitte + keine extreme Nachrichtenstimmung" beurteilen, wird der Handel ausgeführt. Das ist Schichtung – Regeln als Basis, KI als Unterstützung. Dadurch werden sowohl Fehlurteile der KI, die zu Verlusten führen, als auch das Verpassen von Chancen durch reine Regeln vermieden.

Natürlich ist diese Struktur im Live-Handel viel komplexer: Die Risikokontrollschicht (Gesamtpositionslimit, Einzel-Stop-Loss) muss über allen Entscheidungen liegen; die Orderausführungsschicht muss Stornierungen, Wiederholungen, Teilausführungen behandeln. Aber das alles benötigt keine KI.


Zusammenfassung

Zurück zur Eingangsfrage: Wie sollte Vibe Trading eingesetzt werden?

Von Anthropics Verwendung von Regex zur Emotionserkennung über die Multi-Agent-Arbeitsteilung von TradingAgents bis zur Schichtenarchitektur auf FMZ – das Kernprinzip ist konsistent:

Betrachte KI nicht als Allheilmittel. Setze sie dort ein, wo sie hingehört.

Konkret in deiner Strategie:

  • Stop-Loss, Limits, Positionsmanagement → schreibe if-else, in die Strategie, in das Risikocontrolling. Das ist die Firewall deines Kontos.
  • Nachrichtenstimmung, Mustererkennung, Strategieexploration → kannst du KI einbinden. Das ist deine Chancenerkennung.
  • Und die Verbindung dieser beiden Welten – nutze FMZ zur Verwaltung der Handelsausführung, des Backtestings und des Live-Wechsels. Das ist deine Engineering-Infrastruktur.

—— Wenn du auf FMZ eine Strategie schreibst und bemerkst, dass du ein LLM verwendest, um zu prüfen, ob sich gleitende Durchschnitte kreuzen, halt inne. Du brauchst nur ein if.

Der Ingenieur bei Anthropic, der diesen regulären Ausdruck entworfen hat, hat wahrscheinlich nicht gedacht, dass sein Vorgehen eine quantitative Trading-Architektur inspirieren würde. Aber gute Ingenieursprinzipien sind so – bereichsübergreifende Resonanz ist oft am stärksten.

javascript
/* Strategieparameter (im Bereich "Parameter" der FMZ-Strategie-Seite hinzufügen): OPENROUTER_API_KEY : String-Typ, gib deinen OpenRouter API Key ein AI_MODEL : String-Typ, Standardwert "google/gemini-2.5-flash", kann durch andere Modelle ersetzt werden */ // Semantische Entscheidungsebene: Marktstimmung über OpenRouter per KI abrufen function getAISentiment() { var prompt = "Analysiere aktuelle Kryptomarkt-Nachrichten, gib eine Stimmungsbewertung (-1 bis 1, -1 extreme Panik, 1 extreme Gier), gib nur eine Zahl zurück" var response = HttpQuery("https://openrouter.ai/api/v1/chat/completions", { method: "POST", body: JSON.stringify({ model: AI_MODEL, messages: [{role: "user", content: prompt}], temperature: 0 }), headers: { "Content-Type": "application/json", "Authorization": "Bearer " + OPENROUTER_API_KEY }, timeout: 15000 }) var score = parseFloat(JSON.parse(response).choices[0].message.content) // Bei ungewöhnlicher KI-Ausgabe auf neutralen Wert zurückfallen – Systemzuverlässigkeit hängt nicht von jeder korrekten KI-Ausgabe ab if (isNaN(score) || score < -1 || score > 1) { Log("KI-Rückgabeformat ungewöhnlich, verwende Standardwert 0") score = 0 } Log("KI-Stimmungsbewertung:", score) return score } function main() { var lastSignalTime = 0 // Zeit des letzten Signal-Kerzenstrichs, um wiederholte Auslösung im selben Kerzenstrich zu vermeiden while (true) { var records = exchange.GetRecords(PERIOD_D1) if (!records || records.length < 20) { Sleep(1000); continue } var ma5 = TA.MA(records, 5) var ma20 = TA.MA(records, 20) var idx = records.length - 1 var curTime = records[idx].Time var isBullCross = ma5[idx] > ma20[idx] && ma5[idx-1] <= ma20[idx-1] var isBearCross = ma5[idx] < ma20[idx] && ma5[idx-1] >= ma20[idx-1] // Positionsstatus prüfen var pos = exchange.GetPosition() var hasPosition = pos && pos.length > 0 // Erste Ebene: Deterministisches Signal als "Schwelle", Golden Cross + keine Position + noch nicht in diesem Kerzenstrich bearbeitet, erst dann KI fragen if (isBullCross && !hasPosition && curTime !== lastSignalTime) { lastSignalTime = curTime var sentiment = getAISentiment() // Zweite Ebene: KI-Stimmung als "Referenz", beeinflusst Positionsgröße, löst aber nicht unabhängig Trades aus if (sentiment > 0.2) { exchange.SetDirection("buy") exchange.Buy(records[idx].Close, 1) Log("Golden Cross + KI bullish, volle Position eröffnet") } else if (sentiment > -0.3) { exchange.SetDirection("buy") exchange.Buy(records[idx].Close, 0.5) Log("Golden Cross + KI neutral, halbe Position eröffnet") } else { Log("Golden Cross aber KI bärisch, Signal übersprungen") } } // Bear Cross schließen: deterministische Regel, ohne KI if (isBearCross && hasPosition) { exchange.SetDirection("closebuy") exchange.Sell(records[idx].Close, pos[0].Amount) Log("Gleitender Durchschnitt Bear Cross, Position geschlossen") } // Dritte Ebene: Stop-Loss ist "ehernes Gesetz", ohne KI if (hasPosition) { var curPrice = records[idx].Close var entryPrice = pos[0].Price if (curPrice < entryPrice * 0.97) { // 3% unter Eröffnungskurs exchange.SetDirection("closebuy") exchange.Sell(curPrice, pos[0].Amount) Log("Stop-Loss ausgelöst, bedingungslos geschlossen, Verlust", ((curPrice/entryPrice - 1)*100).toFixed(2), "%") } } Sleep(60 * 1000) } }

img

Die Kernlogik dieses Codes lohnt sich, näher erläutert zu werden:

1. Golden Cross des gleitenden Durchschnitts ist die "Schwelle". Nur wenn das deterministische Signal zuerst auslöst, wird die KI aufgerufen. Nicht jeder Kerzenstrich fragt das große Modell – das spart Kosten (große Modell-APIs werden pro Token abgerechnet) und vermeidet Rauschen. Dies entspricht dem Ansatz von Anthropic: Zuerst wird mit regulären Ausdrücken gefiltert; wenn eine Übereinstimmung gefunden wird, wird die aufwändigere Verarbeitung gestartet.

2. KI-Stimmung ist die "Referenz". Sie beeinflusst die Positionsgröße und ob das Signal übersprungen wird, löst aber nicht unabhängig Trades aus. Beachte die Ausnahmebehandlung des KI-Rückgabewerts im Code – wenn das große Modell nicht interpretierbaren Inhalt zurückgibt, wird direkt auf den neutralen Wert 0 zurückgefallen. Die Zuverlässigkeit des Systems sollte nicht von jeder korrekten Ausgabe der KI abhängen.

3. Stop-Loss ist das "eherne Gesetz". Bei 3% unter dem Eröffnungskurs wird die Position bedingungslos geschlossen, ohne die Meinung der KI einzuholen. Die KI mag sagen "langfristig bullisch", aber dein Konto wartet nicht auf die langfristige Perspektive. Hier wird ein harter Stop-Loss mit prozentualem Kurs verwendet, der keine schwammigen Urteile durchlässt.

Das ist die richtige Herangehensweise für Vibe Trading: Mit natürlicher Sprache die KI die Marktatmosphäre "spüren" lassen, mit deterministischem Code die Handelsaktionen "ausführen". Die Grenze zwischen beiden darf nicht verschwimmen.

Praktischer Tipp: Im Backtest-System von FMZ zuerst eine reine Gleitender-Durchschnitts-Strategie als Baseline laufen lassen, dann die KI-Stimmungsschicht hinzufügen und Gewinn sowie Drawdown vergleichen. Wenn die KI das Ergebnis verschlechtert – ist die Schichtung falsch; möglicherweise greift die KI dort ein, wo sie nicht sollte. Jedes KI-Ergebnis mit Log() aufzeichnen, um später jede Entscheidung nachvollziehen zu können.


5. Ein Satz zum Mitnehmen

Die fortschrittlichsten KI-Unternehmen verwenden reguläre Ausdrücke, um Stimmungen zu erkennen – nicht, weil sie keine bessere KI bauen könnten.

Sondern weil sie wissen: Das richtige Werkzeug auszuwählen ist wichtiger als das mächtigste Werkzeug.

Gleitende-Durchschnitts-Strategien sind nicht sexy, reguläre Ausdrücke sind nicht hoch entwickelt. Aber in ihrem eigenen Bereich sind sie zuverlässiger als jede KI.

Umgekehrt, wenn du aus einem 5000-Wörter-Makrobericht die Einschätzung extrahieren musst, "ob dieser Bericht für BTC bullisch oder bärisch ist" – da helfen weder gleitende Durchschnitte noch reguläre Ausdrücke. Erst hier sollte die KI zum Einsatz kommen.

Es geht nicht um die Frage "KI nutzen oder nicht", sondern "auf welcher Ebene nutzen".

Die unscheinbare reguläre-Ausdrücke-Datei im Claude-Code-Quelltext beantwortet eine oft übersehene Frage. Und FMZ bietet dir eine fertige geschichtete Infrastruktur – Börsenschnittstellen, Indikatorberechnung, Live-Management, Log-Audit sind bereits erledigt. Du musst nur klarstellen: Welche Entscheidungen übergibst du an TA.MA(), welche an die KI?

Quellen:

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)