Um bot de negociação pela API Kalshi liga uma política de negociação a uma conta autenticada de contratos de eventos. A parte difícil não é enviar um pedido bem-sucedido. É conservar o significado desse pedido quando unidades diferem, uma resposta se perde, uma ordem é parcialmente executada ou a API altera a sua representação.

Um cliente fiável trata cada ação da conta como uma intenção económica com identidade duradoura. Tentativas de rede, assinaturas e respostas pertencem a essa intenção. Não devem tornar-se negociações independentes apenas porque uma ligação foi lenta ou um processo reiniciou.

Este artigo concentra-se no limite de pedidos. Utiliza convenções atuais da Predictions API quando é necessário um pormenor específico, enquanto os exemplos são exercícios ilustrativos de engenharia. Acesso de produção, permissões da conta e configuração exata do mercado têm de ser verificados para a conta envolvida.

Definir a intenção económica antes do pedido

A estratégia deve expressar o que quer em termos que permanecem significativos fora de um conteúdo HTTP. Uma intenção identifica o contrato, a alteração direcional desejada, uma quantidade máxima, um preço aceitável e um prazo. Também regista a aprovação que permitiu a ação e a afetação da conta que pode consumir.

Esse registo é diferente de uma tentativa de pedido. Uma tentativa tem uma marca temporal, um destino, uma assinatura e uma resposta ou erro. Podem existir várias tentativas associadas a uma intenção, mas o cliente não deve confundir o número de tentativas com o número de posições autorizadas.

Persista a intenção antes de efetuar a ação. Se o cliente envia primeiro e guarda depois, uma falha entre esses passos deixa um efeito na conta sem a sua explicação local. Escrever primeiro permite a um processo reiniciado descobrir uma intenção por resolver e investigar em vez de presumir que nenhuma negociação ocorreu.

O registo não precisa de ser grande. Deve conter informação suficiente para reproduzir a ação económica proposta e distingui-la de outra proposta. Um código de motivo como entrada por previsão é útil apenas quando aponta à previsão e versão da política específicas que autorizaram a ordem.

O guia de conceção de API de bots de mercados de previsão discute a separação entre política e acesso à conta. Neste limite, o princípio central é que pormenores de transporte devem implementar uma intenção aprovada, não criar uma política nova de negociação através de valores predefinidos acidentais.

Autenticação de um bot de negociação pela API Kalshi

A autenticação de um bot de negociação pela API Kalshi deve seguir exatamente o esquema oficial atual. O guia de pedidos autenticados especifica um identificador de chave API, uma marca temporal em milissegundos e uma assinatura RSA-PSS em base64 usando SHA256. A mensagem assinada junta marca temporal, método HTTP e caminho completo do pedido sem parâmetros de consulta.

A maioria dos erros de implementação aqui são erros de representação. Uma marca temporal em segundos não é uma marca temporal em milissegundos. Um caminho repetido porque dois auxiliares acrescentam cada um um prefixo não é o caminho pretendido. Assinar um método diferente do enviado produz um pedido cujas provas de autorização não descrevem a ação na rede.

Construa o destino e o caminho de assinatura a partir da mesma definição validada de pedido. Isto reduz a possibilidade de um auxiliar assinar um caminho enquanto outro envia para um local diferente. Os testes devem cobrir um caminho com parâmetros de consulta bem como um caminho sem eles.

Mantenha assinatura separada de saída normal de diagnóstico. Registos podem manter método, descrição segura do caminho, identificador da intenção e classificação da resposta sem registar uma chave privada. Uma exportação de suporte não deve expor o material que autoriza ações futuras da conta.

Trate uma falha de autenticação como motivo para inspecionar credenciais, tratamento do relógio e construção do pedido. Repetir o mesmo pedido inválido a alta velocidade não o repara. A estratégia deve permanecer incapaz de criar exposição nova até o cliente conseguir estabelecer que a sua visão autenticada da conta é válida.

Utilizar o vocabulário atual de ordens de eventos

A referência atual V2 de criação de ordens utiliza o caminho de ordens de eventos, um lado do livro de compra ou venda, contagem de contratos em cadeia de caracteres e um preço em dólares de ponto fixo. O seu preço é expresso na escala SIM: o lado de compra compra SIM, enquanto o de venda vende SIM. Um conteúdo antigo não deve ser copiado para um cliente novo sem rever o contrato atual.

Traduza linguagem da estratégia para esta representação num único local. Uma estratégia pode falar em termos de obter exposição NÃO, enquanto o pedido utiliza um preço na escala SIM. Essa tradução deve ser explícita e testada para uma alteração posterior de apresentação não inverter silenciosamente uma ordem.

Utilize um exemplo hipotético para verificar a conversão. Se o limite económico pretendido é pagar no máximo 32 cêntimos por NÃO num contrato binário simples, o preço complementar na escala SIM é 68 cêntimos. O adaptador tem de conservar em conjunto direção e limite pretendidos. Mudar apenas o lado enquanto se mantém uma convenção de preço sem relação pode produzir uma negociação diferente.

Mantenha modelos de pedidos e respostas separados. Uma resposta compacta de criação pode reconhecer uma ordem sem fornecer todos os campos usados numa visão completa de ordens da conta. O cliente não deve preencher campos ausentes com pressupostos otimistas como totalmente executada ou sem exposição restante.

Uma incompatibilidade de esquema deve parar visivelmente esse percurso de ação. Se falta um campo exigido ou tem significado desconhecido, aceitá-lo silenciosamente pode corromper contabilidade posterior. Falha restrita é preferível a um pedido amplamente bem-sucedido cuja interpretação económica é desconhecida.

Tratar preços de ponto fixo num bot de negociação pela API Kalshi

Os preços de ponto fixo num bot de negociação pela API Kalshi devem permanecer exatos ao longo de validação, aritmética e serialização. O guia oficial de representação de ponto fixo descreve cadeias de caracteres de dólares, contagens fracionárias de contratos e intervalos de preço específicos do mercado. Um pressuposto universal de que todo o preço válido corresponde a um número inteiro de cêntimos já não basta.

Utilize aritmética decimal ou uma representação cuidadosamente definida de inteiros escalados. A propriedade importante é que uma entrada válida como 0,1250 conserve o seu valor pretendido. Arredondamento de ponto flutuante binário não deve decidir se um preço proposto cai na grelha aceite do mercado.

Num cálculo ilustrativo, 12,50 contratos a 0,2400 dólares têm um montante de compra de exatamente 3 dólares antes de comissões. Um analisador que descarta a metade fracionária de contrato regista antes 2,88 dólares, deixando uma diferença de 12 cêntimos. Um analisador que confunde dólares com cêntimos cria um erro muito maior.

Valide preços face à grelha atual do mercado antes do envio. Se um modelo teórico sugere 0,237 dólares mas o intervalo relevante permite um incremento diferente, o cliente precisa de uma política declarada de arredondamento. Arredondar em direção a um preço mais agressivo pode violar o custo máximo da estratégia, pelo que a política tem de respeitar o limite económico.

Mantenha a entrada original e o valor normalizado nas provas de diagnóstico. Isto permite a um revisor distinguir um erro da fonte de um erro de conversão. Também torna mais fácil testar alterações posteriores de representação porque os mesmos casos registados podem ser passados tanto por adaptadores antigos como novos.

Separar contagem de contratos, preço e dinheiro

Três quantidades aparecem frequentemente próximas num ecrã de ordem: contratos, dólares por contrato e dinheiro total. Não são intercambiáveis. Um campo chamado montante é demasiado vago para um modelo interno a menos que a sua unidade seja fixa e claramente documentada.

Utilize nomes e tipos que transportam significado. Quantidade de contratos pode ser fracionária. Preço limite descreve um montante por contrato. Débito estimado inclui quantidade vezes preço e uma margem para custos aplicáveis. Movimento efetivo de dinheiro vem do resultado registado da conta, que pode diferir da estimativa.

Uma intenção hipotética de comprar 25 contratos a 44 cêntimos tem um montante de compra de 11 dólares. Não é uma instrução para gastar 25 dólares, e não é uma ordem de 44 dólares. Estas podem parecer distinções óbvias, mas tornam-se fáceis de perder quando vários pontos de acesso utilizam nomes de campos ou unidades diferentes.

Integre verificações dimensionais no limite de pedidos. Um preço fora do intervalo permitido do contrato, uma quantidade negativa de compra ou uma estimativa de dinheiro que não pode ser reconciliada com quantidade e preço devem ser rejeitados antes de assinar. Tais verificações são mais úteis do que descobrir o erro após a plataforma rejeitar o pedido.

A visão geral de API de negociação em mercados de previsão coloca estas representações num contexto mais amplo de integração. Um cliente sólido mantém unidades explícitas ao longo de todo o percurso da observação da fonte ao relatório da conta, em vez de depender de uma interface de utilizador para as inferir no fim.

Conservar um identificador ao longo de tentativas incertas

Crie um identificador local da intenção e um identificador apropriado de ordem do cliente antes do envio. Armazene a relação com o identificador de ordem do servidor quando se torna conhecido. Estas identidades permitem ligar um registo posterior da conta à ação que o produziu.

O início rápido oficial descreve deteção de duplicados através do identificador de ordem do cliente. Essa funcionalidade é útil, mas o cliente ainda deve manter o seu próprio diário de intenções e inspecionar provas atuais da conta. Não transforme uma verificação documentada de duplicados numa afirmação sem suporte de que qualquer pedido pode ser repetido para sempre em todas as condições.

Se uma ordem atinge tempo limite após transmissão, o resultado é desconhecido. O cliente deve manter a intenção económica original e a sua capacidade reservada. Pode depois inspecionar ordens e execuções ou efetuar uma repetição documentada que conserva a identidade adequada. Criar um identificador novo como resposta predefinida à incerteza arrisca um segundo compromisso independente.

Uma resposta de duplicado pode, por si só, ser prova útil. Pode indicar que a ação original chegou à plataforma, mas não prova, por si só, quanto foi executado. Siga a identidade até ao registo da conta e resolva a exposição restante.

Mantenha o diário entre reinícios. Um identificador armazenado apenas na memória do processo desaparece precisamente quando a recuperação mais pode precisar dele. Durabilidade não é aqui uma preferência abstrata de base de dados; conserva a ligação entre uma decisão aprovada e os efeitos na conta que podem já existir.

Classificar uma política de repetição de um bot de negociação pela API Kalshi

Uma política de repetição de um bot de negociação pela API Kalshi deve distinguir entrada inválida, permissão rejeitada, pressão de limites, falha de transporte e resultado económico incerto. Estas categorias não são resolvidas pela mesma resposta. Um ciclo genérico único de repetição pode transformar um pequeno problema de ligação num problema maior da conta.

Uma grelha inválida de preço ou quantidade mal formada exige correção. Uma negação de acesso exige compreender a permissão ou estado da conta. Pressão de limites exige regulação de ritmo e priorização. Uma resposta perdida após uma escrita exige reconciliação. Uma falha temporária de leitura pode permitir outra tentativa de observação sem autorizar qualquer posição nova.

Cada repetição ainda deve respeitar o prazo da intenção. Uma entrada baseada em preço que era sensata antes de uma divulgação pode já não se aplicar após vários segundos de atraso. Entregar com sucesso uma negociação expirada não é execução bem-sucedida da política original.

Utilize espera progressiva delimitada para trabalho repetível de comunicação, com um limite tanto de tentativas como de tempo decorrido. Os limites devem ser escolhidos para o valor e urgência da tarefa. Esgotar a política de repetição deve produzir um estado claro por resolver, não um ciclo invisível que continua indefinidamente.

Registe o motivo de cada tentativa. Um revisor posterior deve conseguir ver se o cliente estava a obter provas recentes, repetir uma ação documentada segura contra duplicados ou investigar incerteza. Essa distinção ajuda a identificar se o problema efetivo reside na resposta da plataforma, construção local do pedido ou pressupostos de tempo da estratégia.

Manter capacidade de leitura disponível para recuperação

Um cliente pode perder controlo útil se consultas rotineiras consomem a capacidade necessária para inspecionar uma ordem incerta. O orçamento de limites deve, por isso, reservar espaço para recuperação da conta e redução de risco em vez de tratar cada pedido como igualmente valioso.

Os limites atuais da Kalshi utilizam custos em tokens e orçamentos específicos da conta. A documentação de limites de utilização distingue recursos de leitura e escrita e descreve pormenores atuais de encaminhamento. Um cliente deve obter a configuração aplicável em vez de presumir um número fixo único de pedidos por segundo para todas as contas e pontos de acesso.

Considere um agendador hipotético com uma autorização limitada de leitura. Uma análise completa de centenas de mercados sem relação pode ser de prioridade menor do que verificar se uma ordem recente foi executada. Se a análise bloqueia essa verificação, a estratégia pode permanecer incerta por mais tempo e perder ações legítimas ou tomar ações inseguras.

Lotes e fluxos contínuos podem reduzir algum trabalho, mas não eliminam a necessidade de compreender a semântica dos pontos de acesso. Um lote pode conter resultados mistos. Um fluxo pode desligar-se. O agendador deve priorizar a informação necessária para estabelecer as obrigações atuais da conta.

Meça custo dos pedidos por propósito. Separe descoberta, observação normal, acompanhamento de ordens e recuperação. Isto permite reduzir trabalho em segundo plano quando a pressão sobe sem desativar acidentalmente as verificações que protegem a conta.

Reconstruir execuções parciais sem contagem dupla

Uma execução parcial altera tanto inventário como exposição restante da ordem. O cliente precisa de conservar esses dois factos. Uma quantidade pedida de 30 com 12 executadas e 18 ainda ativas é diferente de uma ordem encerrada que executou apenas 12.

Saiba se cada campo é cumulativo ou incremental. Se uma resposta mostra quantidade total executada de 12 e uma resposta posterior mostra 20, a execução adicional é oito. Somar ambos os totais cria uma posição falsa de 32. Eventos incrementais de execução exigem tratamento diferente, incluindo deteção de duplicados.

Um cancelamento pode entrar em corrida com uma execução. O registo final tem de permitir que alguma quantidade tenha sido executada antes de a ordem restante ser removida. O facto de um cancelamento ter tido sucesso não desfaz execuções anteriores nem prova que o pedido original não teve efeito.

Utilize posições da conta como verificação cruzada, reconhecendo que imagens de estado podem representar momentos diferentes de observação. O objetivo é uma reconciliação explicada, não forçar que cada resposta dos pontos de acesso seja idêntica a cada instante. Conserve marcas temporais e a sequência de provas usada para resolver uma diferença.

O guia de sincronização de contas de mercados de previsão desenvolve este raciocínio ao nível do sistema. No limite da API, a tarefa essencial é conservar pormenor suficiente de identidade e quantidade para uma reconciliação posterior poder ser feita com precisão.

Reconstruir execuções parciais sem contagem duplaUncertain RequestKeep IdentifierCheck OrdersCheck FillsResolve ExposureTRADING FIELD NOTESEDUCATIONAL RESOURCE
Um tempo limite conserva a ação pretendida e a sua reserva de capacidade até provas da conta resolverem o resultado.

Testar o limite com falhas deliberadas

Testes úteis do cliente concentram-se em erros que podem alterar significado económico. Teste uma quantidade fracionária, um preço no limite de um intervalo, uma intenção expirada e um campo desconhecido de resposta. Cada caso deve ter uma decisão esperada que pode ser revista sem negociação real.

Depois teste incerteza de comunicação. Simule uma resposta a desaparecer após um pedido aceite. Reinicie o cliente enquanto essa intenção permanece por resolver. O comportamento esperado é recuperar a intenção existente e inspecionar o seu resultado na conta, não iniciar uma decisão nova de estratégia a partir de um estado vazio.

Teste também dados de fonte mal formados. Um preço em falta não deve tornar-se zero. Uma cadeia de caracteres que não pode ser analisada não deve tornar-se uma quantidade predefinida. Rejeitar dados inutilizáveis com uma explicação é um resultado bem-sucedido de teste.

Mantenha credenciais e ações efetivas da conta fora de execuções normais automatizadas de testes. Um conjunto controlado de dados de teste pode estabelecer comportamento de conversão e classificação. Um exercício separado autorizado de demonstração pode depois testar conectividade sem tratar liquidez fictícia como prova de qualidade de execução em produção.

Por fim, mantenha os casos de falha à medida que a API evolui. O valor de um conjunto de regressão é conservar expectativas económicas enquanto a forma do pedido muda. Uma atualização é aceitável quando ainda produz o comportamento delimitado pretendido, não apenas quando compila ou devolve um estado HTTP bem-sucedido.

Fazer de alterações da API uma tarefa revista de tradução

Uma alteração na API deve acionar revisão dos pressupostos do adaptador. Nomes novos de campos podem ser diretos, mas uma convenção alterada de preço, significado de quantidade ou completude de resposta podem alterar comportamento da conta mesmo quando o código ainda corre.

Mantenha um pequeno registo de compatibilidade que lista documentação revista, formas de pedidos suportadas e casos de teste que estabelecem o seu significado. Evite descrever um cliente como permanentemente compatível. Compatibilidade é prova ligada a uma versão e um conjunto testado de operações.

Ao migrar, compare resultados normalizados de exemplos armazenados. A mesma intenção económica deve produzir limites e direção equivalentes na representação nova. O mesmo histórico de execuções deve produzir a mesma posição e explicação de dinheiro. Diferenças devem ser compreendidas antes de ações novas serem ativadas.

Um adaptador restrito torna este trabalho gerível. Investigação de estratégias pode continuar a falar em contratos explícitos, probabilidades e limites económicos, enquanto um limite revisto trata as convenções atuais da plataforma. Essa separação transforma manutenção da API num problema concreto de tradução e dá ao proprietário uma base mais clara para decidir quando o cliente está pronto para agir outra vez.

Guias relacionados e exemplos desenvolvidos

Continue a aprender

Explorar todos os recursos