Polymarket PnL genauen Berechnungen: Warum könnten Ihre Gewinn- und Verlustrechnungen falsch sein?

BlockBeatNews
USDC-0,01%

Originaltitel: „Polymarket PnL präzise berechnen: Warum deine Gewinn- und Verlustrechnung möglicherweise komplett falsch ist“
Originalautor: Leo, Krypto-Analyst

Ich habe ein halbes Jahr lang automatisierten Eigenentwicklungs-Handel bei Polymarket betrieben, der größte Fehler war nicht eine Strategie, die versagt hat, sondern dass ich nicht einmal richtig berechnen konnte, wie viel ich tatsächlich verdient habe.

Es liegt nicht an meiner Unfähigkeit. Es ist, weil die PnL-Berechnung von PM selbst eine Fallgrube ist. Die offiziellen API-Zahlen, die dir angezeigt werden, sind falsch, die Rankings auf Drittanbieter-Websites ebenfalls. Du schreibst dein eigenes Skript? Wahrscheinlich auch falsch.

Wie groß ist die Abweichung? Der Drittplatzierte im Ranking, kch123, hat mit falscher Methode einen Verlust von 3,5 Mio. USD berechnet, tatsächlicher Gewinn sind 11,4 Mio. USD. Es sind keine ein paar Prozentpunkte – die Gewinn- und Verlustsymbole sind sogar umgekehrt.

In diesem Beitrag werde ich jeden Fehler, den ich gemacht habe, aufschlüsseln. Für Trader, Tool-Entwickler und Ranking-Analysten – früher oder später wird man darauf stoßen.

Fehler 1: cashPnl schließt nicht den bereits abgerechneten Gewinn/Verlust ein

Der naheliegende Ansatz: Die /positions-API aufrufen, alle cashPnl (Bargeld-Gewinn/-Verlust) Felder summieren.

Praktische Tests mit den Top 15 Adressen im Ranking:

swisstony: cashPnl Summe +35.000 USD, tatsächliches Ranking +5,6 Mio. USD, Differenz um den Faktor 158

kch123: cashPnl Summe -3,52 Mio. USD, tatsächliches Ranking +11,4 Mio. USD, Vorzeichen umgekehrt

gmanas: cashPnl Summe -2,64 Mio. USD, tatsächliches Ranking +5,02 Mio. USD, Vorzeichen umgekehrt

Bei diesen drei Adressen sind zwei Gewinn- und Verlustsymbole direkt vertauscht.

Ursache: Die /positions-API gibt das cashPnl nicht für bereits geschlossene/ eingelöste Positionen zurück. Wenn eine Gewinnposition automatisch in USDC eingelöst wird, verschwindet diese Position aus der API-Antwort. Es verbleiben nur noch offene Positionen – meist mit unrealisiertem Verlust.

Du denkst, du berechnest den gesamten Gewinn/Verlust, aber in Wirklichkeit hast du nur den noch offenen Teil erfasst.

Fehler 2: Das Feld makerPnl stimmt nicht mit den on-chain Cashflows überein

In den JSONL-Handelsdaten gibt es ein Feld makerPnl (Market Maker Gewinn/Verlust), der Name deutet an, dass es für die PnL-Berechnung gedacht ist. Aber glaub nicht daran.

Ich habe beobachtet, dass die Summe von makerPnl in den Marktdaten um eine Größenordnung von den tatsächlichen on-chain Cashflows abweicht. Die genaue Differenz hängt vom Szenario ab, aber die Richtung ist immer gleich: Die interne Logik von makerPnl stimmt nicht mit den tatsächlichen USDC-Flows überein.

Egal wie groß die Abweichung ist – das Fazit bleibt: Dieses Feld nicht für die PnL-Berechnung verwenden.

Fehler 3: Nicht nur nach txHash deduplizieren

Das ist das Gegenteil der Intuition.

Wenn eine txHash (Transaktions-Hash) mehrere Einträge hat, denkt man: Das sind doppelte Daten, man sollte sie entfernen.

Aber so funktioniert es nicht. Das CLOB (On-Chain-Limit-Orderbuch) bei PM kann in einer Transaktion mehrere Maker-Orders ausführen. Mehrere Einträge mit demselben txHash sind echte, unabhängige Fills.

Ich habe früher nach txHash + Asset dedupliziert, dabei wurden auf der Polygon-Chain 133 USD an Trades nicht mitgezählt. Bei der Überprüfung auf Polygon gibt es tatsächlich mehrere unabhängige USDC-Transfer-Events pro txHash, jeder entspricht einem echten Trade.

Fazit: Nicht nur nach txHash deduplizieren. Für die PnL-Berechnung direkt die Rohdaten von /activity summieren.

Fehler 4: Offset-Seitenbegrenzung bei Paginierung

Bei der Paginierung der /activity-API mit offset (Versatz)? Überschreitet man 3000 Einträge, gibt es direkt einen 400-Fehler. Das steht nicht in der Dokumentation.

Alle drei Adressen wurden überprüft: GET /activity?offset=3100 liefert HTTP 400, die Fehlermeldung lautet „max historical activity offset of 3000 exceeded“. Top-User haben oft Zehntausende Transaktionen, 3000 sind viel zu wenig.

Mit dem end-Parameter (letzte Zeile minus 1) als Cursor gibt es keine Begrenzung.

Fehler 5: Unterschiede im PnL-Ranking-Standard

Wenn du das PnL einer Adresse berechnest und es mit dem Ranking vergleichst, gibt es manchmal Abweichungen.

In den meisten Fällen sind es weniger als 10 USD (durch Schwankungen im Marktwert der Positionen). Aber wenn die Differenz deutlich größer ist, könnten Gründe sein: Das Ranking nutzt unterschiedliche Zeitfenster, Cache-Refresh-Verzögerungen oder der Nutzer hat mehrere Proxy-Wallets verbunden.

In meinen Tests stimmt die PnL, die ich mit der Bargeldfluss-Methode berechnet habe, sehr genau mit den lb-api-Antworten überein. Wenn die Abweichung groß ist, prüfe zuerst, ob das Paginieren vollständig ist (Fehler 4) und ob du die richtigen Felder benutzt hast (Fehler 1-2).

Korrekte Vorgehensweise

Nach verschiedenen Ansätzen habe ich die zuverlässigste Methode verifiziert: die Bargeldfluss-Zusammenfassung via Data API. Ohne Vorberechnungen, direkt aus den Rohdaten der Transaktionen den Geldfluss ermitteln.

Formel:

PnL = SUM(Trades mit side=SELL) + SUM(Redeem) + SUM(Merge) + SUM(Maker_Rebate) + SUM(Reward) - SUM(Trades mit side=BUY) - SUM(Split) + Positionswert

· Trades BUY: USDC ausgeben, um Token zu kaufen (Ausgabe)

· Trades SELL: Token verkaufen, USDC zurückerhalten (Einnahme)

· Redeem: Gewinn-Position in USDC einlösen (Einnahme)

· Split: USDC in Token umwandeln (Ausgabe)

· Merge: Token in USDC umwandeln (Einnahme)

· Maker_Rebate: Maker-Rückvergütung (Einnahme)

· Reward: Belohnungen / Airdrops (Einnahme)

· Datenquelle:

GET /activity?user=

&limit=500, mit end paginieren, alles abrufen und nach Typ summieren.

· Positionswert:

GET /positions?user=

, Größe × aktueller Preis.

· Quervergleich:

Vergleiche die berechneten Ergebnisse mit der Polymarket-Ranking-API (lb-api.polymarket.com/profit?window=all&address=X). Differenz < $10 gilt als akzeptabel. Abweichungen kommen durch Schwankungen im Positionswert.

Validierung: Top 15 im Ranking

Nach der Berechnung mit der Bargeldfluss-Methode, Cross-Check mit der Ranking-API:

swisstony: Bargeldfluss +5,6 Mio. USD, Ranking +5,6 Mio. USD, Differenz < $10

kch123: Bargeldfluss +11,4 Mio. USD, Ranking +11,4 Mio. USD, Differenz < $10

gmanas: Bargeldfluss +5,02 Mio. USD, Ranking +5,02 Mio. USD, Differenz < $10

Alle drei Adressen weichen weniger als 10 USD voneinander ab, die Differenz ist auf Schwankungen im Positionswert zurückzuführen.

Nachdem die Methode funktioniert, habe ich sie auf Hunderte von Top-Adressen angewandt, um deren echte Gewinne und Verluste zu analysieren. Das ist eine andere Geschichte.

Fazit

SUM(cashPnl) aus /positions → Funktioniert nicht, da es geschlossene Gewinne nicht einschließt, Vorzeichen können sich umkehren.

Summe des makerPnl-Feldes → Funktioniert nicht, stimmt nicht mit den on-chain Cashflows überein.

Nach Deduplication nach txHash → Funktioniert nicht, bei Beträgen über 100 USD werden echte Fills gelöscht.

Offset-Paginierung + Summierung → Funktioniert nicht, Daten werden abgeschnitten, bei mehr als 3000 Einträgen Fehler.

Data API Bargeldfluss-Methode → Derzeit die zuverlässigste, < $10 Abweichung.

Der erste Schritt beim Quant-Trading ist nicht, Alpha zu finden. Sondern sicherzustellen, dass die eigene Berechnung korrekt ist.

Alle oben genannten Fehler basieren auf realen Erfahrungen, nicht auf theoretischer Überlegung. Da die PM-API jederzeit Änderungen vornehmen kann, empfiehlt es sich, regelmäßig mit der Ranking-API zu cross-checken.

Original-Link

Klick hier, um mehr über die Jobangebote bei律动BlockBeats zu erfahren

Willkommen im offiziellen Telegram-Community von律动BlockBeats:

Telegram Abonnement-Gruppe: https://t.me/theblockbeats

Telegram Diskussionsgruppe: https://t.me/BlockBeats_App

Twitter Offiziell: https://twitter.com/BlockBeatsAsia

Disclaimer: The information on this page may come from third parties and does not represent the views or opinions of Gate. The content displayed on this page is for reference only and does not constitute any financial, investment, or legal advice. Gate does not guarantee the accuracy or completeness of the information and shall not be liable for any losses arising from the use of this information. Virtual asset investments carry high risks and are subject to significant price volatility. You may lose all of your invested principal. Please fully understand the relevant risks and make prudent decisions based on your own financial situation and risk tolerance. For details, please refer to Disclaimer.

Verwandte Artikel

Vitalik sagt voraus, dass sich Prognosemärkte auf dezentrale Oracles verlagern, und fordert als Nächstes eine private Stimmabgabe

Laut ChainCatcher erklärte Vitalik Buterin auf X, dass die Qualität von Prognosemärkten im Kern von ihren Oracles abhängt. Er zeigte sich zuversichtlich, dass Prognosemärkte zunehmend dezentrale und nicht-finanzialisierte Oracle-Lösungen übernehmen werden. Buterin fügte hinzu, dass die nächste Entwicklungsphase

GateNews34M her

US-Medienrecherche: Polymarket hat seinen Hauptsitz in Panama bei einer Anwaltskanzlei und hatte zuvor FTX-Dienstleistungen angeboten

Laut einer Untersuchung, die am 5. Mai von National Public Radio (NPR) in den USA veröffentlicht wurde, begaben sich Reporter zur Panama-Hauptadresse, die von Polymarket offiziell registriert ist – Büro 2101 im Torre Oceania Business Plaza in Panama City – und fanden vor Ort keinerlei Spuren von Polymarket oder seiner panamaischen Rechtseinheit. Das Büro der Kanzlei García de Paredes Law Firm, das sich an dieser Adresse befindet, hatte zuvor FTX rechtlich vertreten.

MarketWhisper3Std her

MicroStrategy plant, Bitcoin zu verkaufen, um STRC-Dividenden zu finanzieren, und weicht von der „Never Sell“-Politik ab

Laut dem Bericht von The Block über den Earnings-Call von MicroStrategy für das 1. Quartal 2026 plant das Unternehmen, Bitcoin zu verkaufen, um Dividenden für seine rentenstarke, ewige Vorzugsaktie STRC zu finanzieren, was einen deutlichen Bruch mit seiner lang gehegten „Nie verkaufen“-Überzeugung darstellt. Vorsitzender Michael Saylor sagte, dass das Unternehmen

GateNews3Std her

Polymarket: Wal kauft 133.000 US-Dollar Thunder-Spread-Wette im NBA-Western-Semifinale Spiel 1 zu 50¢

Laut Odaily Seer hat ein Konto, das auf Polymarket mehr als 12 Millionen US-Dollar verdient hat, Positionen im Wert von 133.000 US-Dollar gekauft, um darauf zu setzen, dass der Thunder die Lakers in Spiel 1 der NBA-West-Konferenz-Viertelfinals am 6. Mai um 15,5 Punkte schlagen wird, zu einem durchschnittlichen Einstiegspreis von 50 Cent. Das Spiel begann…

GateNews4Std her

Polymarket-Teammitglied lässt Hinweise fallen: Start des POLY-Tokens steht kurz bevor

Laut ChainCatcher deutete Mustafa, ein Teammitglied von Polymarket, in einer Community-Diskussion an, dass die Einführung des POLY-Tokens möglicherweise bald bevorsteht. Auf die Frage, ob man POLY staken kann, um die Handelsgebühren zu senken, antwortete Mustafa mit „soon“ („bald“), was auf einen unmittelbar bevorstehenden Fortschritt beim Token hindeutet

GateNews5Std her
Kommentieren
0/400
Keine Kommentare