Polymarket PnL genauen Berechnungen: Warum könnten Ihre Gewinn- und Verlustberechnungen 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. Das Problem ist, dass 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. Wenn du dein eigenes Skript schreibst? 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 ist nicht nur ein paar Prozentpunkte Unterschied — die Gewinn- und Verlustsymbole sind komplett vertauscht.

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

Fehler 1: cashPnl schließt bereits realisierte Gewinne/Verluste nicht ein

Der naheliegendste Ansatz: Die /positions-API aufrufen, alle cashPnl-Felder summieren.

Mit den Top 15 Adressen im Ranking getestet:

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

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

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

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

Ursache: Die /positions-API gibt das cashPnl-Feld für bereits geschlossene oder eingelöste Positionen nicht aus. Gewinne aus gewinnbringenden Positionen werden automatisch in USDC eingelöst, dann verschwindet diese Position aus der API-Antwort. Es verbleiben nur noch offene Positionen — meist mit unrealisierten Verlusten.

Du denkst, du berechnest alle Gewinne und Verluste, aber in Wirklichkeit hast du nur den offenen Teil erfasst.

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

In den JSONL-Daten der Trades 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 in den Market-Maker-Daten beobachtet, dass die Summe von makerPnl 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: Verwende dieses Feld nicht zur PnL-Berechnung.

Fehler 3: Nicht nur nach txHash deduplizieren

Das ist das unlogischste.

Wenn ein txHash (Transaktions-Hash) mehrfach vorkommt, denkt man: Das sind doppelte Daten, entfernen.

Das darf man nicht so machen. Das CLOB (On-Chain-Limit-Orderbook) bei Polymarket kann in einer einzigen 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 habe ich auf der Polygon-Chain 133 USD zu wenig berechnet. Bei der Überprüfung auf Polygon gibt es tatsächlich mehrere unabhängige USDC-Transfer-Events pro txHash, jedes entspricht einem echten Trade.

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

Fehler 4: Offset-Seitenbegrenzung bei Paginierung

Bei der /activity-API mit offset (Versatz) zu paginieren? Bei mehr als 3000 Einträgen gibt es sofort einen 400-Fehler. Das steht nicht in der Dokumentation.

Alle drei Adressen wurden getestet: 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-Definitionen

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

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 folgende Gründe vorliegen: Das Ranking nutzt unterschiedliche Aggregationsfenster, es gibt Cache-Verzögerungen oder der Nutzer hat mehrere Proxy-Wallets verbunden.

In meinen Tests stimmt die PnL, die ich mit der Cashflow-Methode berechnet habe, fast exakt mit den lb-api-Daten überein. Wenn deine Ergebnisse stark abweichen, überprüfe zuerst, ob das Paging vollständig ist (Fehler 4) und ob du die richtigen Felder benutzt hast (Fehler 1-2).

Richtige Vorgehensweise

Nach verschiedenen Versuchen habe ich die zuverlässigste Methode bestätigt: die Cashflow-Zusammenfassung via Data API. Ohne Vorberechnungen, direkt aus den Rohdaten der Trades die Ein- und Auszahlungen berechnen.

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: Gewinnbringende Position in USDC umwandeln (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.

· Cross-Check:

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

Validierung: Top 15 im Ranking in der Praxis

Nach der Berechnung mit der Cashflow-Methode, Vergleich mit Ranking-API:

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

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

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

Alle drei Adressen weichen weniger als 10 USD voneinander ab, Unterschiede kommen durch Schwankungen im Positionswert.

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

Fazit

Sum(cashPnl) aus /positions: Funktioniert nicht, schließt realisierte Gewinne aus, Vorzeichen können vertauscht sein.

Summe makerPnl: Funktioniert nicht, stimmt nicht mit on-chain Cashflows überein.

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

Offset-Paginierung + Summierung: Funktioniert nicht, Daten werden abgeschnitten, bei >3000 Einträgen Fehler.

Cashflow-Methode via Data API: Derzeit die zuverlässigste Methode, <$10 Differenz.

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

Alle oben genannten Fehler basieren auf realen Erfahrungen, nicht auf theoretischer Überlegung. Die PM-API kann jederzeit geändert werden, daher empfiehlt es sich, regelmäßig mit dem Ranking-API die Ergebnisse zu validieren.

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

GateNews39M 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