Type/to search
2
Follow
494
Followers
Polymarket Multi-Rollen intelligentes Analyse-Handelssystem: Design und Implementierung
Discussions
Created 2026-04-03 17:54:27  Updated 2026-04-13 16:31:58
 0
 371

img

Strategiehintergrund

Anfang dieses Jahres kursierte in der Community die Nachricht, dass jemand auf Polymarket über Nacht genug verdient habe, um sich eine Wohnung zu kaufen. Aus Neugier suchte ich nach konkreten Handelsrahmen – und fand nur reißerische Überschriften, keine einzige Zeile Code. Also musste ich selbst ran.

img

Am Anfang war ich ziemlich orientierungslos. Polymarket ist die größte dezentrale Prognosemarkt-Plattform mit über 60.000 gelisteten Märkten, die alles von Politik über Sport bis hin zu makroökonomischen Ereignissen abdecken. Jeder Markt ist im Grunde ein binärer Optionskontrakt – tritt das Ereignis ein, konvergiert der Preis gegen 1, ansonsten gegen 0. Was am meisten Geld bringt? Natürlich Insiderinformationen. Aber der normale Mensch weiß nicht, wie viele Tweets Elon nächste Woche absetzt, ob die Fed die Zinsen senkt, und hat weder Zeit noch Muße, ständig Charts zu analysieren und Entscheidungen zu treffen.

Also überlegte ich: Könnte man nicht den Ansatz ändern – nicht Informationen jagen, sondern Kapitalströme verfolgen. Wer Informationsvorteile hat, positioniert sich frühzeitig, und Kaufaktivitäten hinterlassen zwangsläufig Spuren in Preis und Volumen. Auch ohne „Insiderwissen“ kann man anhand des Kapitalverhaltens erkennen, ob jemand leise aufbaut. Diesem Gedanken folgend entwickelte ich ein mehrrollenbasiertes, intelligentes Analysesystem, das K-Linien zur Signalerkennung, Sentimentanalyse zur Validierung, KI zur Entscheidungsfindung und automatisierte Orderausführung zu einer durchgängigen Pipeline verbindet.

img


Systemarchitektur

Das gesamte System läuft auf dem FMZ-Workflow und besteht aus einem Haupt- und einem Nebenpfad, die parallel und vollständig entkoppelt arbeiten, ohne sich gegenseitig zu blockieren.

AusführungspfadAuslösefrequenzVerantwortliche ModuleKernaufgabe
HaupthandelspfadAlle 10 MinutenMarktfilter → Schleifenverarbeitung → KI-Agent → HandelsausführungChancen finden, Positionen eröffnen
NebenhandelspfadAlle 30 SekundenStop-Loss / Take-ProfitPositionsüberwachung, Trailing-Stop, Fälligkeitseinlösung

Der Hauptpfad ist für „Chancen finden und Positionen eröffnen“ zuständig. Jede Ausführungsrunde durchläuft vier sequenzielle Phasen: Vorauswahl → K-Linien-Anomalieerkennung → Nachrichtensuche → KI-Mehrrollenanalyse, die schließlich ein Kaufsignal generiert und in die Orderausführung mündet. Der Nebenpfad kümmert sich ausschließlich um „bestehende Positionen“ und läuft kontinuierlich im 30-Sekunden-Takt, unabhängig davon, ob der Hauptpfad gerade Aufgaben bearbeitet.

Dieses getrennte Design löst ein reales Problem: Die Preisbewegungen auf Prognosemärkten sind kontinuierlich, aber die Aktienanalyse ist rechenintensiv und zeitaufwändig. Würde man die Stop-Loss-Überwachung in den Hauptpfad integrieren, könnte bei langsamer KI-Analyse die Stop-Loss-Reaktion erheblich verzögert werden. Die unabhängige Planung ist ein notwendiger engineering-Kompromiss.


Detaillierte Modulerklärung

Vorauswahl: Erst einmal Müll rausfiltern

60.000 Märkte lassen sich nicht einzeln analysieren. Daher ist die erste Hürde eine rein regelbasierte Filterung mit nur einem Ziel: schnell die offensichtlich uninteressanten Kandidaten auszusortieren und die Rechenleistung für die wirklich vielversprechenden Märkte zu reservieren.

Die Filterkriterien umfassen: Untere Liquiditätsschwelle (zu gering bedeutet schwieriges Handeln), untere Grenze für das 24h-Handelsvolumen (Märkte mit quasi null Umsatz sind nicht aussagekräftig), obere Grenze für die Geld-Brief-Spanne (zu große Spanne bedeutet hohe Slippage-Kosten), obere Grenze für Wettbewerbsintensität sowie einen Preisbereich – es werden nur Märkte betrachtet, deren implizite Wahrscheinlichkeit zwischen 5 % und 50 % liegt. Zu hohe Preise sind bereits vollständig eingepreist und bieten kaum Aufwärtspotenzial; zu niedrige sind fragwürdig und ähneln eher Lotterien als Arbitragemöglichkeiten.

Nach der Filterung sind für dasselbe Ereignis in der Regel sowohl Yes- als auch No-Seiten gelistet. Die Strategie behält nur die günstigere Seite, da die niedrigere Preisseite eine höhere Quotenelastizität und potenziell höhere Rendite bietet.

javascript
let truePrice = parseFloat(outcomePrices[outcomeIndex] || 0) if (truePrice < CONFIG.MIN_TRUE_PRICE || truePrice > CONFIG.MAX_TRUE_PRICE) continue let isActive = ( info.active === true && info.approved === true && info.closed === false && info.archived === false && info.acceptingOrders === true && info.pendingDeployment === false ) if (!isActive) continue let spreadPct = (ask - bid) / ask if (spreadPct > CONFIG.MAX_SPREAD_PCT) continue // Bei gleichem Basis-Symbol nur die günstigere Seite behalten if (!marketMap[baseSymbol]) { marketMap[baseSymbol] = entry } else if (truePrice < marketMap[baseSymbol].price) { marketMap[baseSymbol] = entry }

Alle Filtersschwellen werden über die $vars-Variable als externe Parameter bereitgestellt und können je nach eigenem Risikoprofil und Kapitalvolumen angepasst werden, ohne den Code zu ändern.

img

K-Linien-Anomalieerkennung: Spuren von Kapitalflüssen finden

Nach der Grobfilterung werden für jeden bestandenen Markt die letzten 240 K-Linien im 60-Minuten-Intervall abgerufen und fünf Arten von Anomalien erkannt. Dies ist die eigentliche Signalschicht der Strategie und der wesentlichste Unterschied zu einem Ansatz, der einfach „ das Ereignis der KI zur Analyse übergibt“ – wir raten nicht über das Ereignisergebnis, sondern suchen nach Kapitalverhalten.

Langsamer Anstieg: Gesamtanstieg der letzten 120 K-Linien über 5 %, aber der maximale Anstieg einer einzelnen Kerze unter 1,5 %. Dieses Merkmal beschreibt ein Positionsaufbauverhalten, bei dem Kapital bewusst das Tempo drosselt, um nicht aufzufallen.

Lineares Volumenwachstum: Lineare Regression der Volumensequenz der letzten 60 Kerzen. Steigung positiv und R² > 0,5 bedeutet, dass das Volumen kontinuierlich und stabil steigt, nicht zufällig pulsiert. R² ist entscheidend, um Rauschen durch „eine einzelne Spitze, dann Stille“ herauszufiltern.

Verengung der Korrekturen: Nach dem historischen Hoch wird die maximale Tiefe jeder Korrektur berechnet. Liegt der durchschnittliche jüngere Korrekturwert unter 60 % des früheren Werts, deutet dies auf nachlassenden Verkaufsdruck und stabilisierte Positionen hin – jemand stützt. Während jeder Korrektur wird kontinuierlich der Tiefstkurs verfolgt, um die vollständige Korrekturtiefe als Berechnungsgrundlage zu nehmen.

Seitwärtsausbruch: Abweichung zwischen MA60 und MA120 unter 2 % (Seitwärtsbewegung), während der aktuelle Kurs mehr als 3 % über dem MA60 liegt. Dies wird als Ausbruch über einen vorherigen Widerstand gewertet.

Volumenspitze: Das durchschnittliche Volumen der letzten 5 Kerzen übersteigt das 2,5-fache des Basisvolumens der letzten 60 Kerzen – dies deutet auf beschleunigten Kapitaleinstieg hin.

javascript
function linearRegression(values) { let n = values.length let sumX = 0, sumY = 0, sumXY = 0, sumX2 = 0 for (let i = 0; i < n; i++) { sumX += i; sumY += values[i] sumXY += i * values[i]; sumX2 += i * i } let slope = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX * sumX) let intercept = (sumY - slope * sumX) / n let meanY = sumY / n let ssTot = 0, ssRes = 0 for (let i = 0; i < n; i++) { ssTot += Math.pow(values[i] - meanY, 2) ssRes += Math.pow(values[i] - (slope * i + intercept), 2) } let r2 = ssTot === 0 ? 0 : 1 - ssRes / ssTot return { slope, intercept, r2 } } function detectAnomaly(closes, volumes) { if (closes.length < 60) return null let anomalies = [], score = 0 let slice120 = closes.slice(-Math.min(120, closes.length)) // ── 异常1:缓慢爬升 ────────────────────────────────────── let totalChange = (slice120[slice120.length - 1] - slice120[0]) / slice120[0] let maxSingle = 0 for (let i = 1; i < slice120.length; i++) { let change = Math.abs(slice120[i] - slice120[i - 1]) / slice120[i - 1] if (change > maxSingle) maxSingle = change } if (totalChange > 0.05 && maxSingle < 0.015) { score++ anomalies.push(`缓慢爬升 总涨${(totalChange * 100).toFixed(1)}% 单根最大${(maxSingle * 100).toFixed(2)}%`) } // ── 异常2:成交量线性增长 ───────────────────────────────── let volSlice = volumes.slice(-60) let volReg = linearRegression(volSlice) if (volReg.slope > 0 && volReg.r2 > 0.5) { score++ anomalies.push(`成交量线性增长 斜率${volReg.slope.toFixed(4)} R²${volReg.r2.toFixed(2)}`) } // ── 异常3:回调收窄(追踪每次回调最低价,计算完整深度)──── let pullbacks = [], localHigh = closes[0] let inPullback = false, pullbackLow = closes[0] for (let i = 1; i < slice120.length; i++) { if (closes[i] > localHigh) { if (inPullback) { pullbacks.push((localHigh - pullbackLow) / localHigh) inPullback = false } localHigh = closes[i] } else if (closes[i] < localHigh * 0.99) { if (!inPullback) { inPullback = true; pullbackLow = closes[i] } else if (closes[i] < pullbackLow) { pullbackLow = closes[i] } } } if (pullbacks.length >= 3) { let first = pullbacks.slice(0, Math.floor(pullbacks.length / 2)) let last = pullbacks.slice(Math.floor(pullbacks.length / 2)) let firstAvg = first.reduce((a, b) => a + b, 0) / first.length let lastAvg = last.reduce((a, b) => a + b, 0) / last.length if (lastAvg < firstAvg * 0.6) { score++ anomalies.push(`回调收窄 早期${(firstAvg * 100).toFixed(2)}% 近期${(lastAvg * 100).toFixed(2)}%`) } } // ── 异常4:横盘突破 ─────────────────────────────────────── let ma60 = closes.slice(-60).reduce((a, b) => a + b, 0) / 60 let ma120 = closes.length >= 120 ? closes.slice(-120).reduce((a, b) => a + b, 0) / 120 : ma60 let currentPrice = closes[closes.length - 1] if (Math.abs(ma60 - ma120) / ma120 < 0.02 && currentPrice > ma60 * 1.03) { score++ anomalies.push(`横盘突破 MA60=${ma60.toFixed(3)} MA120=${ma120.toFixed(3)} 当前=${currentPrice.toFixed(3)}`) } // ── 异常5:成交量突增 ───────────────────────────────────── let recentVol = volumes.slice(-5).reduce((a, b) => a + b, 0) / 5 let baseVol = volumes.slice(-65, -5).reduce((a, b) => a + b, 0) / 60 if (baseVol > 0 && recentVol > baseVol * 2.5) { score++ anomalies.push(`成交量突增 近5根均量是基准${(recentVol / baseVol).toFixed(1)}倍`) } return { score, anomalies } }

Für jede erkannte Anomalie gibt es einen Punkt, maximal 5 Punkte. Nur wenn die Gesamtpunktzahl mindestens 2 beträgt, wird in die nächste Phase übergegangen. Ein einzelnes Signal könnte zufälliges Rauschen sein; erst die Überlagerung zeigt, dass das Kapitalverhalten eine gewisse Glaubwürdigkeit hat – dies ist die Kernannahme der gesamten Candlestick-Erkennungslogik.

Nachrichtensuche: Eine fundamentale Erklärung für die Anomalie finden

Das Candlestick-Signal ist ein Hinweis darauf, dass "Kapital in Bewegung ist". Aber warum sich das Kapital bewegt und ob die Bewegung begründet ist, muss durch Informationsseite überprüft werden. Dieser Schritt besteht darin, für jeden Candlestick-Anomalie-Wert Nachrichten zu suchen, um zu sehen, ob es korrespondierende Ereignisunterstützung gibt.

Hier wird die Brave Search API verwendet, die monatlich 2000 kostenlose Anfragen bereitstellt, was für den 10-minütigen Takt des Hauptstrangs grundsätzlich ausreicht. Die Suchbegriffe werden aus dem Symbol extrahiert, nachdem die Richtungssuffixe und Trennzeichen entfernt wurden, um sie in lesbare Ereignisbeschreibungen zurückzuverwandeln.

javascript
const q = item.symbol .replace("_USDC.No", "") .replace("_USDC.Yes", "") .replace(/-/g, "+") const rawResponse = HttpQuery( "https://api.search.brave.com/res/v1/web/search?q=" + q, { method: "GET", headers: { "X-Subscription-Token": CONFIG.BRAVE_API_KEY } } ) // 遍历所有返回分区(网页、新闻等),统一提取结构化字段 Object.keys(data).forEach(key => { const section = data[key] if (section && section.results && Array.isArray(section.results)) { section.results.forEach(r => { news.push({ type: key, title: r.title, description: r.description, age: r.age }) }) } })

Die gefundenen Nachrichten werden zusammen mit den Kerzendaten verpackt und an die nächste Stufe der KI-Analyse weitergeleitet – beide Linien werden gleichzeitig überprüft, was zuverlässiger ist als nur eine Seite zu betrachten.

KI-Mehrrollenanalyse: Vier Perspektiven verhindern Selbstüberzeugung

Sobald die Daten vorbereitet sind, gelangen sie in den KI-Analyseknoten, und das Modell wählt entsprechend seinen Anforderungen aus. In der Prompt-Definition sind vier unabhängige Rollen festgelegt – das ist die zentrale Designentscheidung des gesamten Systems und verdient eine gesonderte Erläuterung.

Wenn eine einzige KI gleichzeitig K-Linien und Nachrichten betrachtet, neigt sie dazu, beide gegenseitig zu bestätigen und eine oberflächlich plausible, aber faktisch unabhängig nicht verifizierte Schlussfolgerung zu ziehen – sie untermauert die geldlichen Signale mit den Nachrichten und umgekehrt, und gibt am Ende ein selbstverstärktes Ergebnis wie „Ich denke, man kann kaufen" aus. Die Rollentrennung erzwingt die Unabhängigkeit der Informationsquellen: Jede Rolle sieht nur ihre eigenen Daten und gibt nur Schlussfolgerungen aus ihrer eigenen Dimension ab. Die endgültige Entscheidungsrolle sieht nur die Schlussfolgerungen, nicht den Prozess.

Rolle 1: K-Linien-Kapitalanalyst – sieht keine Nachrichten, nur Preis- und Volumenanomalien, beurteilt, ob echtes Kapital kontinuierlich kauft, und gibt die Stärke des Kapitalsignals aus (stark/mittel/Basis).

Rolle 2: Nachrichten-Stimmungsanalyst – sieht keine K-Linien, bewertet nur die Informationslage, beurteilt, ob es positive Ereignisse gibt, die noch nicht vom Markt eingepreist wurden, und gibt die Nachrichtenunterstützungsstufe aus (stark/schwach/keine).

Rolle 3: Preisbewertungsanalyst – fasst die Schlussfolgerungen der ersten beiden Rollen zusammen, schätzt das wahre Wahrscheinlichkeitsintervall des Ereignisses ein, vergleicht es mit dem aktuellen Marktpreis und gibt eine Bewertung (unterbewertet/angemessen/überbewertet). Diese Rolle hat eine eingebaute Gewichtungsregel für das Verfallsdatum: Wenn die Restlaufzeit mehr als 7 Tage beträgt, normale Schätzung; wenn sie 3 Tage oder weniger beträgt und der Marktpreis über 0,15 liegt, wird das Wahrscheinlichkeitsintervall zwangsweise verengt und die Ausgabe „stark unterbewertet" verboten. Der Grund: Kurz vor Verfall verfügen die Marktteilnehmer über aktuellere Echtzeitinformationen als die Trainingsdaten der KI. Daher sollte die KI zu diesem Zeitpunkt dem Marktpreise Vorrang einräumen.

Rolle 4: Endgültiger Entscheidungsanalyst – fasst die Schlussfolgerungen der ersten drei Rollen nach einer Entscheidungsmatrix zusammen und gibt die endgültige Aktion aus. Die Logik der Matrix: Das Kapitalsignal ist die Grundvoraussetzung, die Nachricht dient der Überprüfung, gemeinsam bestimmen sie die Konfidenz; aber unabhängig von der Konfidenz wird niemals gehandelt, solange die Preisbewertung nicht „unterbewertet" erreicht.

Die Nachrichtenüberprüfung hier dient nicht dem Verfolgen von Informationen, sondern der Beurteilung, ob das Kapitalverhalten bereits eine fundamentale Unterstützung hat. Wenn Insiderkapital Positionen aufbaut, erscheinen die Informationen nicht in öffentlichen Nachrichten, aber wenn das Kapitalsignal mit Nachrichtenunterstützung einhergeht, deutet dies darauf hin, dass sich die Informationen in der mittleren Verbreitungsphase befinden und der Markt noch einen Preisfindungsverzug aufweist – genau das Fenster, das die Strategie erfassen möchte.

Kapitalsignal \ NachrichtenunterstützungStarke ÜberprüfungSchwache ÜberprüfungKeine Überprüfung
Stark (Score 4~5)Kaufen, Konfidenz=hochKaufen, Konfidenz=mittelKein Handel
Mittel (Score 3)Kaufen, Konfidenz=mittelAbwartenKein Handel
Basis (Score 2)AbwartenKein HandelKein Handel

Das Ausgabeformat der KI ist strenges JSON, das die Schlussfolgerungen jeder Rolle, das wahre Wahrscheinlichkeitsintervall, die Preisbewertung, die endgültige Entscheidung, die Konfidenz und eine Risikoliste enthält, die direkt vom nachgelagerten Ausführungsknoten verbraucht werden.

Handelsausführung: Nur den besten kaufen

Nachdem die KI jedes Objekt einer Charge bewertet hat, platziert die Ausführungsschicht nicht automatisch alle Kaufsignale – das System wählt nur das mit der höchsten Bewertung aus. Die Sortierreihenfolge ist: Konfidenz (hoch > mittel > niedrig) → Preisbewertung (stark unterbewertet > unterbewertet) → Breite des wahren Wahrscheinlichkeitsintervalls (je schmaler, desto sicherer).

javascript
const buySignals = signals.filter(s => s.signal === 'buy') bestSignal = buySignals.sort((a, b) => { const confDiff = (confidenceRank[b.confidence] || 0) - (confidenceRank[a.confidence] || 0) if (confDiff !== 0) return confDiff const assessDiff = (assessmentRank[b.priceAssessment] || 0) - (assessmentRank[a.priceAssessment] || 0) if (assessDiff !== 0) return assessDiff // 区间越窄越确定,优先选窄的 const aWidth = (a.trueProb.max || 0) - (a.trueProb.min || 0) const bWidth = (b.trueProb.max || 0) - (b.trueProb.min || 0) return aWidth - bWidth })[0]

Nach Auswahl des Ziels wird der aktuelle Ask-Preis aus dem Orderbuch abgerufen, die ausreichende Deckung bestätigt und eine Limit-Order eingereicht. Nach der Orderübermittlung wird der Status abgefragt, maximal 30 Sekunden gewartet, bei Zeitüberschreitung wird die Order storniert, um eine Anhäufung offener Orders zu vermeiden. Wenn der Ask-Preis der aktuellen Runde multipliziert mit dem konfigurierten Anteil unter der Mindestorderschwelle von 1 USDC liegt, wird automatisch mit ceil(1/askPrice) auf den nächsthöheren handelbaren Anteil aufgerundet.

Stop-Loss-Modul: Nachlaufender Stop + absoluter Schutz

Die Nebenlinie wird alle 30 Sekunden ausgeführt, die Logik erfolgt in zwei Schritten: Zuerst werden fällige Rücknahmen bearbeitet, dann wird für aktive Positionen ein nachlaufender Stop-Loss-Check durchgeführt.

Polymarket hat einen speziellen Mechanismus – nach Vertragsablauf fließt das Geld nicht automatisch zurück auf das Konto, sondern muss aktiv über redeem angefordert werden. Die Strategie scannt zu Beginn jeder Nebenlinienrunde alle rücknehmbaren Positionen und gibt die Mittel gebündelt frei, um eine langfristige Bindung zu vermeiden.

Der Kern des nachlaufenden Stops ist ein zweigleisiges Stop-Loss-Design: Eine nachlaufende Stop-Loss-Linie (historisch höchster Bid-Preis minus fester Verlustbetrag LOSS_AMOUNT) und eine absolute Schutzlinie (Einstiegspreis × 50%). Der effektive Stop-Loss-Preis ist der höhere der beiden Werte.

javascript
function calcStopPrice(entryPrice, maxPrice) { const trailingStopPrice = maxPrice - CONFIG.LOSS_AMOUNT const absoluteStopPrice = entryPrice * CONFIG.FALLBACK_STOP_RATIO // 固定 0.50 const usingFallback = trailingStopPrice < absoluteStopPrice const effectiveStopPrice = usingFallback ? absoluteStopPrice : trailingStopPrice return { effectiveStopPrice, trailingStopPrice, absoluteStopPrice, usingFallback } }

Dieses zweigleisige Design deckt zwei typische Positionsszenarien ab: In der Gewinnphase wandert die nachlaufende Stop-Linie mit dem Preis nach oben und sichert Buchgewinne; bei einem Einstieg mit Verlust kann die nachlaufende Stop-Linie auf negative Werte oder nahe Null fallen, dann übernimmt die absolute Schutzlinie (Einstiegspreis × 50 %) und verhindert, dass die Position bis auf Null fällt, bevor sie geschlossen wird. Beide Linien erfüllen ihre Aufgaben; keine darf fehlen.

Nach dem Stop-Loss-Trigger wird ein Marktverkauf ausgeführt, der Cache des historischen Höchstpreises dieses Objekts wird gelöscht, und es wartet auf das nächste Eröffnungssignal. Das Dashboard zeigt in Echtzeit den Abstand jeder Position zur Stop-Loss-Linie an, farblich nach Warnstufe, um eine manuelle Überprüfung zu erleichtern.


Wichtige Designentscheidungen

Warum mehrere Rollen und nicht eine einzige umfassende Prompt? Diese Frage wurde im Analysemodul bereits teilweise angesprochen, aber es lohnt sich, sie noch einmal zu verdeutlichen. Das Problem einer einzigen Prompt liegt nicht nur in der „Selbstüberzeugung", sondern auch in einem subtileren Risiko: Wenn die KI gleichzeitig K-Linien-Daten und Nachrichtentexte verarbeitet, neigt sie dazu, die ersteren mit letzteren zu erklären, die K-Linien-Anomalien als zwangsläufige Folge der Nachrichten zu „rationalisieren", anstatt beide als unabhängige Signale zu bewerten. Der Kern der Rollentrennung ist die Erzwingung zweier unabhängiger Informationsketten. Wenn am Ende beide Ketten in die gleiche Richtung zeigen, ist die Glaubwürdigkeit real.

Warum pro Runde nur den besten kaufen und nicht diversifizieren? Diversifikation hat in der traditionellen Finanzwelt eine solide theoretische Basis, aber auf Vorhersagemärkte trifft sie nicht vollständig zu. Die Ergebnisse von Vorhersagemarkt-Objekten sind binär, und das Risiko eines Totalverlusts ist real. Wenn man drei Objekte mit mittlerer Konfidenz gleichzeitig hält und zwei davon auf Null fallen, während eines steigt, kann das Gesamtergebnis dennoch unter dem Einstiegspreis liegen. Die aktuelle Strategie setzt daher lieber auf konzentrierte Genauigkeit als auf Quantität, um Signale unterschiedlicher Qualität zu verdünnen. Dieser Kompromiss ist nicht unbedingt optimal, aber logisch konsistent.

Warum die Gewichtungsregel für das Verfallsdatum als harte Einschränkung umsetzen? Kurz vor Verfall spiegelt der Marktpreis die Echtzeiterwartungen der Teilnehmer wider, von denen ein großer Anteil aktuellere Informationen als die Trainingsdaten der KI besitzt. Wenn die KI zu diesem Zeitpunkt immer noch „Preis stark unterbewertet, sollte kaufen" ausgibt, sind ihre Informationen wahrscheinlich bereits veraltet. Diese Regel als Einschränkung und nicht als Empfehlung umzusetzen, liegt daran, dass es unrealistisch ist, von der KI zu erwarten, dass sie selbst erkennt, dass ihre Informationen nicht mehr aktuell sind – ein externer Eingriff ist erforderlich.


Live-Beobachtung

Aus den tatsächlichen Betriebsaufzeichnungen geht hervor, dass der Trichter der Strategie recht steil ist. Bei einem Durchlauf von 141 ursprünglich gefilterten Zielen blieben nach der K-Linien-Anomalieerkennung nur 3 übrig, und letztendlich löste nur eines einen Trade aus, bei dem gleichzeitig die Bedingungen für Kapitalsignal, Nachrichtenunterstützung und Preisbewertung erfüllt waren. Die anderen beiden wurden übersprungen, weil die Preisbewertung als „angemessen“ eingestuft wurde bzw. die Gesamtbewertung unzureichend war. Dies zeigt, dass die Strategie insgesamt eher konservativ ist und lieber keine Position eingeht, als die Standards zu senken. In einem Zeitfenster mit stabilen Märkten und ohne offensichtliche Nachrichtenereignisse kann das System den ganzen Tag über kein einziges Kaufsignal generieren. Das ist eine bewusste Designentscheidung, kein Bug. Es gab auch Fälle, in denen eine K-Linien-Anomalie später als Fehlausbruch entpuppt wurde: Kapital floss kurzzeitig ein und zog sich wieder zurück, und ein Trailing-Stop griff zum Ausstieg ein. Auch die Nachrichtenanalyse enthält Rauschen; die Berichterstattung über relevante Ereignisse kann selbst verzögert oder verzerrt sein, und allein mit KI kann dies nicht vollständig erkannt werden.

Das Dashboard zeigt in Echtzeit das Kontokapital, den Positionsstatus (aktueller Bid/Ask, Höchstkurs, Abstand des Drawdowns zur Stop-Loss-Linie, Stop-Loss-Modus) und die KI-Entscheidungsdetails an, um eine manuelle Überprüfung zu ermöglichen.

img


Fazit

Ehrlich gesagt, ist dieses System eher ein lauffähiges Ideengerüst als eine einsatzbereite Gelddruckmaschine. Die Kernlogik – Kapitalverhaltensrückverfolgung, duale Nachrichtenvalidierung, mehrrollenbasierte KI-Entscheidungen – ist konzeptionell einigermaßen fundiert, aber in echten Märkten ist die Signalqualität uneinheitlich, KI-Urteile können falsch sein, und das Risiko der Preiskonvergenz nahe dem Verfall besteht immer.

Es gibt viele Verbesserungsmöglichkeiten: Die Handelsziele können weiter auf vertraute Bereiche fokussiert werden, die KI-Prompts können dem eigenen Handelsstil angepasst werden, die Gewichtungen und Schwellenwerte für die fünf K-Linien-Anomalien sind optimierbar, und der Stop-Loss-Koeffizient sollte basierend auf der tatsächlichen Positionsperformance iteriert werden. Der gesamte Code ist Open Source, Sie können ihn gerne übernehmen und anpassen.

Risikohinweis

Prognose-Marktziele haben binäre Ergebnisse; Positionen bergen das Risiko eines Totalverlusts. K-Linien-Anomaliesignale und KI-Analyseergebnisse stellen keine Anlageberatung dar; die historische Signalleistung ist kein Indikator für zukünftige Renditen. Die Strategie wurde nicht über einen langen Zeitraum im Live-Handel getestet, und die Parametereinstellungen haben einen erheblichen Einfluss auf die Ergebnisse. Bevor Sie diese Strategie im Live-Handel einsetzen, stellen Sie bitte sicher, dass Sie die Regeln der Polymarket-Plattform, die Verfallsmechanismen der Kontrakte und die Liquiditätsrisiken vollständig verstehen, und bewerten Sie selbst Ihre Fähigkeit, Kapitalverluste zu verkraften.

Strategie-Quellcode: Polymarket Multi-Rollen Intelligente Analyse-Trading-Strategie

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