Cálculo preciso do PnL na Polymarket: por que o seu lucro e prejuízo podem estar incorretos?

BlockBeatNews
USDC0,01%

Título original: 《Cálculo preciso de PnL na Polymarket: por que seus lucros e perdas podem estar totalmente errados》
Autor original: Leo, analista de criptomoedas

Tenho trabalhado com automação de negociações na Polymarket há seis meses, e o maior erro que cometi não foi uma estratégia falha, mas sim não conseguir calcular corretamente quanto ganhei ou perdi.

Não sou incompetente. O problema é que o cálculo de PnL do PM é uma verdadeira zona de perigo. Os números fornecidos pela API oficial estão incorretos, e o ranking exibido por sites de análise de terceiros também está errado. Você escreve seu próprio script para calcular? Provavelmente também está errado.

Quão grande é a discrepância? O terceiro colocado no ranking, kch123, calculou uma perda de 3,5 milhões de dólares usando um método errado, enquanto o lucro real foi de 11,4 milhões de dólares. Não é uma diferença de alguns pontos percentuais — é que o símbolo de lucro e perda está invertido.

Este artigo descompõe cada erro que cometi. Se você negocia, desenvolve ferramentas ou acompanha rankings, cedo ou tarde vai se deparar com isso.

Erro 1: cashPnl não inclui lucros realizados já liquidados

A abordagem mais intuitiva: usar a interface /positions, somar o campo cashPnl (lucro/prejuízo em dinheiro).

Testando com os três endereços do top 15 do ranking:

swisstony: soma de cashPnl +$35 mil, ranking real +$5,6 milhões, diferença de 158 vezes

kch123: soma de cashPnl -$3,52 milhões, ranking real +$11,4 milhões, símbolo invertido

gmanas: soma de cashPnl -$2,64 milhões, ranking real +$5,02 milhões, símbolo invertido

Para esses três endereços, dois tiveram os sinais de lucro e prejuízo invertidos.

Razão: a API /positions retorna cashPnl sem incluir os lucros realizados que já foram liquidados. Quando uma posição vencedora é automaticamente resgatada em USDC, essa posição desaparece da resposta da API. O que fica são posições não liquidadas — geralmente com prejuízo flutuante.

Você acha que está calculando todo o lucro e prejuízo, mas na verdade só está considerando a parte não liquidada.

Erro 2: o campo makerPnl não condiz com o fluxo de caixa na cadeia

Nos dados JSONL de negociações há um campo makerPnl (lucro/prejuízo do maker), que parece ser para calcular PnL. Mas não confie nele.

Percebi que, ao somar o makerPnl nos dados de market making, o resultado difere de uma magnitude do fluxo de caixa na cadeia. A multiplicidade exata pode variar dependendo do cenário, mas a direção é sempre a mesma: a lógica interna do makerPnl não bate com o fluxo real de USDC.

Por maior que seja a discrepância, a conclusão é a mesma: não use esse campo para calcular PnL.

Erro 3: não deduzir por txHash individualmente

Isso é contra a intuição.

Se um txHash (hash da transação) aparece várias vezes, a reação natural é: dados duplicados, remover.

Mas não faça isso. O CLOB ( livro de ordens on-chain) da PM pode combinar várias ordens maker em uma única transação na cadeia, e múltiplas entradas com o mesmo txHash representam execuções reais distintas.

Antes, eu deduzia por txHash + ativo, e isso fez eu subestimar $133 na parte de compra. Verificando na Polygon, uma única transação realmente gera múltiplos eventos de transferência de USDC, cada um correspondendo a uma negociação real.

Conclusão: não deduza apenas por txHash. Para calcular PnL, some diretamente os dados brutos de /activity.

Erro 4: o limite de paginação com offset

Na API /activity, usar offset para paginação? Se passar de 3000, dá erro 400. O documento não informa isso.

Todos os três endereços testados confirmaram: GET /activity?offset=3100 retorna HTTP 400, com a mensagem de erro “max historical activity offset of 3000 exceeded”. Jogadores com milhares de transações não conseguem passar de 3000.

Usar o parâmetro end (passando o timestamp da última transação da página anterior - 1) para paginação por cursor não tem limite.

Erro 5: diferenças na metodologia de PnL do ranking

Depois de calcular o PnL de um endereço, ao comparar com o ranking, há uma pequena diferença.

Na maioria das vezes, a discrepância é menor que $10 (devido à volatilidade do valor de mercado das posições). Mas se a diferença for maior, as razões podem incluir: janela de agregação do ranking, atraso na atualização do cache ou múltiplas wallets proxy vinculadas ao usuário.

Na prática, usando o método de fluxo de caixa, o PnL de um endereço corresponde quase exatamente ao valor retornado pela API lb-api. Se a sua diferença for grande, verifique se a paginação está completa (erro 4) e se está usando os campos corretos (erros 1-2).

Método correto

Depois de testar várias abordagens, a mais confiável que validei é a soma direta dos dados brutos de /activity, sem usar campos pré-calculados, apenas somando as entradas de transações originais.

Fórmula:

PnL = SOMA (negociações com side=SELL) + SOMA (REDEEM) + SOMA (MERGE) + SOMA (MAKER_REBATE) + SOMA (REWARD) - SOMA (negociações com side=BUY) - SOMA (SPLIT) + valor de mercado das posições

· TRADE BUY: gastar USDC para comprar tokens (saída)

· TRADE SELL: vender tokens para recuperar USDC (entrada)

· REDEEM: resgatar USDC de posições vencedoras (entrada)

· SPLIT: cunhar tokens a partir de USDC (saída)

· MERGE: consolidar tokens de volta em USDC (entrada)

· MAKER_REBATE: reembolso do maker (entrada)

· REWARD: recompensas ou airdrops (entrada)

· Fonte de dados:

GET /activity?user=<endereço>&limit=500, paginar com end, somar por tipo após obter todos os dados.

· Valor de mercado das posições:

GET /positions?user=<endereço>, tamanho × preço atual.

· Validação cruzada:

Comparar o resultado com a API de ranking do Polymarket (lb-api.polymarket.com/profit?window=all&address=X); diferença menor que $10 é aceitável. Discrepâncias vêm da volatilidade do valor de mercado.

Validação: top 15 do ranking, teste real

Após calcular pelo método de fluxo de caixa, validar com a API do ranking:

swisstony: fluxo de caixa +$5,601,000, ranking +$5,601,000, diferença < $10

kch123: fluxo de caixa +$11,396,000, ranking +$11,396,000, diferença < $10

gmanas: fluxo de caixa +$5,024,000, ranking +$5,024,000, diferença < $10

As diferenças entre os três endereços estão dentro de $10, sendo causadas pela volatilidade do valor de mercado.

Depois de validar o método, apliquei-o para analisar centenas de endereços de destaque, e os resultados foram outros.

Resumo

SOMA(cashPnl) de /positions → não funciona, não inclui lucros realizados, pode inverter sinais

Soma do campo makerPnl → não funciona, não condiz com o fluxo de caixa na cadeia

Deduzir por txHash → não funciona, acima de $100, perde execuções reais

Paginação com offset + soma → não funciona, dados truncados, erro acima de 3000

Método de fluxo de caixa na API → atualmente o mais confiável, com diferença menor que $10

Para quem faz quant trading, o primeiro passo não é encontrar alpha. É garantir que seus cálculos estejam corretos.

Tudo acima vem de experiências reais, não de teoria. A API do PM pode mudar a qualquer momento, então recomenda-se validar periodicamente seus resultados com a API de ranking.

Link original

Clique para conhecer as vagas abertas na律动BlockBeats

Participe do grupo oficial do律动 BlockBeats no Telegram:

Telegram assinatura: https://t.me/theblockbeats

Telegram grupo de discussão: https://t.me/BlockBeats_App

Conta oficial no Twitter: https://twitter.com/BlockBeatsAsia

Isenção de responsabilidade: As informações contidas nesta página podem ser provenientes de terceiros e não representam os pontos de vista ou opiniões da Gate. O conteúdo apresentado nesta página é apenas para referência e não constitui qualquer aconselhamento financeiro, de investimento ou jurídico. A Gate não garante a exatidão ou o carácter exaustivo das informações e não poderá ser responsabilizada por quaisquer perdas resultantes da utilização destas informações. Os investimentos em ativos virtuais implicam riscos elevados e estão sujeitos a uma volatilidade de preços significativa. Pode perder todo o seu capital investido. Compreenda plenamente os riscos relevantes e tome decisões prudentes com base na sua própria situação financeira e tolerância ao risco. Para mais informações, consulte a Isenção de responsabilidade.

Related Articles

A Rendibilidade do mercado dos EUA da Polymarket fica aquém, e o CEO Justin Hertzberg é visto como tendo um papel meramente nominal

De acordo com a The Information, a expansão do negócio dos EUA da Polymarket ficou aquém das expectativas desde o seu regresso, através da aquisição de uma bolsa de derivados regulada, com a quota de mercado a ficar atrás da concorrente Kalshi. As responsabilidades do CEO Justin Hertzberg estão, sobretudo, limitadas à assinatura de documentação regulatória, wi

GateNews59m atrás

Blockchain.com Lança SnapMarkets no Meio de um Aumento da Procura por Mercados de Previsão

A Blockchain.com lançou a SnapMarkets, uma plataforma para negociação em mercados de previsão. O lançamento acontece à medida que os mercados de previsão disparam, de acordo com o material de origem. Ambiente Regulatório A expansão dos mercados de previsão está a ocorrer num contexto de tensões regulatórias. Os mercados de previsão enfrentam

CryptoFrontier1h atrás

O Prophet lança um mercado de previsões com IA, com uma tranche de negociação em direto de $10.000 hoje

De acordo com a MetaversePost, a Prophet lançou hoje (6 de maio) um mercado de previsão baseado em IA, com 10 000 dólares em USDC alocados para negociação em direto. Os utilizadores podem negociar diretamente contra uma contraparte de IA que gera preços baseados em probabilidades para cada mercado, com alguns contratos a liquidar dentro de 24

GateNews4h atrás

Bitcoin atinge 82.000 dólares com uma sequência negativa de funding de 67 dias a atingir o nível mais longo desta década

De acordo com a K33, o Bitcoin (BTC) foi negociado acima de 82.000 dólares na quarta-feira, atingindo o seu nível mais alto em mais de três meses, enquanto registava uma taxa de financiamento negativa consecutiva durante 67 dias — a sequência mais longa desta década, ultrapassando o período de 15 de março a 16 de maio de 2020. Os dados históricos da K33 mostram que a compra de BTC

GateNews4h atrás

MegaETH: o FDV (valor totalmente diluído) esperado no primeiro dia está entre 1,5 mil milhões e 2 mil milhões de dólares, mostra o mercado de previsão da Gate

De acordo com os dados de mercado preditivo da Gate, a valorização totalmente diluída (FDV) do primeiro dia da MegaETH é esperada cair entre 1,5 mil milhões e 2 mil milhões de dólares. A opção “>$1,5B” gerou aproximadamente 2,18 milhões de dólares em volume de negociação com um resultado “yes”, enquanto a opção “>$2B” mostra 9,057 milhões de dólares em

GateNews4h atrás

O porta-voz do Parlamento do Irão avisa que está pronto para abrir fogo se os EUA recusarem as concessões necessárias

De acordo com o porta-voz do parlamento iraniano Ibrahim Raisi, falando recentemente nas redes sociais, as declarações dos EUA publicadas na Axios representam uma “lista de desejos da América, não a realidade” e “o que os americanos não conseguem obter em negociações presenciais, não podem alcançar numa guerra falhada”. Raesi ainda alertou

GateNews5h atrás
Comentar
0/400
Nenhum comentário