Un bot teneur de marché Kalshi doit comprendre l’état du compte qu’il crée à chaque exécution. Afficher un prix acheteur et un prix vendeur n’est que la partie visible du processus. Derrière ces prix, le système doit distinguer les ressources disponibles, les positions dépendant d’événements, les ordres en carnet et les demandes dont l’issue n’est pas encore connue.
Ce guide se concentre sur le contrôle des positions et des cotations pour les contrats événementiels Kalshi. Il ne traite pas d’une stratégie sur contrats à terme perpétuels et ne suppose pas que tous les produits proposés par une plateforme partagent le même modèle de compte. Les règles actuelles des contrats, les autorisations du compte et les conventions de l’API doivent être vérifiées avant la mise en œuvre.
Les exemples utilisent des versements binaires hypothétiques d’un dollar et des prix fictifs pour rendre les calculs clairs. Il ne s’agit ni de prévisions ni de recommandations. La question centrale est pratique : après l’exécution d’un ordre ou une défaillance de connexion, le bot peut-il expliquer son exposition suffisamment bien pour décider des prochaines cotations qu’il peut proposer ?
Lire le contrat avant de valoriser les positions
Une position est un droit défini par un contrat particulier. Son intitulé aide à l’identifier, mais les conditions de règlement déterminent son versement. Consignez l’identifiant du marché, l’événement concerné, la source du résultat, le calendrier et tout traitement exceptionnel susceptible d’affecter le compte.
Un marché portant sur une première publication économique peut différer d’un marché utilisant une révision ultérieure. Un contrat sportif peut dépendre de règles précises concernant l’achèvement de l’épreuve ou la participation. Un teneur de marché qui regroupe ces positions selon un court libellé d’affichage risque de mal comprendre leur comportement dans un même scénario réel.
La présentation des fondements des contrats événementiels explique pourquoi cette distinction compte. Dans le grand livre du compte, conservez l’interprétation des règles utilisée lors de l’acquisition d’une position. Si les informations sources changent ou qu’une ambiguïté apparaît, rendez-la visible avant d’utiliser la position comme base d’une autre cotation.
Comptabiliser les positions d’un bot teneur de marché Kalshi
La comptabilisation des positions d’un bot teneur de marché Kalshi doit relier chaque variation d’exposition à un événement observé. Une exécution modifie la quantité et le coût. Une annulation modifie l’engagement restant d’un ordre lorsqu’elle est confirmée. Un règlement convertit l’issue finale du contrat en résultat correspondant pour le compte.
Prenons un achat hypothétique de 200 contrats YES à 0,42 $. Avant frais, l’acquisition coûte 84 $ et crée une position dont le versement binaire ordinaire est de 200 $ si l’issue retenue est YES, et de zéro dans le cas contraire. La différence de 116 $ entre le versement en cas d’issue favorable et le coût d’acquisition est un résultat possible, et non un bénéfice déjà acquis.
Conservez cette distinction dans l’interface et le journal. La valeur calculée au prix de valorisation, le résultat de trading réalisé et le règlement final sont des mesures distinctes. Une valorisation en cours de session peut aider à gérer le risque, mais elle ne doit pas être présentée comme si le compte avait déjà reçu le versement final ou vendu les positions à ce prix.
Interpréter correctement la convention de prix du carnet
La représentation du carnet d’ordres REST documentée par Kalshi expose les offres d’achat YES et NO. Sur un marché binaire, l’offre d’achat de l’issue opposée implique un prix vendeur par la relation de complémentarité des versements. La documentation actuelle distingue également le sens des ordres et des exécutions des conventions de prix de certains messages du carnet.
Dans un carnet hypothétique simple, une offre d’achat NO à 0,36 $ implique un prix vendeur YES de 0,64 $ avant prise en compte de la quantité et des coûts. Cette relation aide à reconstituer le carnet ; elle ne signifie pas que le compte peut négocier une quantité illimitée à l’un ou l’autre de ces prix. Chaque niveau dispose d’une quantité disponible.
Vérifiez la convention de chaque message précis au lieu d’inverser les prix partout. La documentation officielle du carnet d’ordres et la référence sur le sens des ordres expliquent la distinction. Une double conversion peut faire paraître un prix valide totalement erroné et amener la logique de cotation à autoriser une opération involontaire.
Distinguer quantité, montant notionnel et risque
La quantité de contrats n’est pas la même chose que les liquidités engagées ou la perte maximale. Deux positions contenant le même nombre de contrats peuvent avoir des coûts d’acquisition différents. De même, le montant notionnel affiché d’un ordre peut ne pas décrire les effets sur le compte d’une réduction de position existante selon les règles comptables réelles de la plateforme de négociation.
Dans une comparaison hypothétique, 100 contrats acquis à 0,20 $ coûtent 20 $ avant frais, tandis que 100 contrats acquis à 0,80 $ coûtent 80 $. Leur versement ordinaire en cas d’issue favorable peut être identique, mais la perte possible depuis l’acquisition et le gain potentiel diffèrent. Un contrôle du risque fondé uniquement sur la quantité ne tient pas compte de cette différence.
Utilisez des champs nommés pour la quantité, le prix, le coût, le versement possible et la mesure d’exposition pertinente. Préservez la précision décimale conformément aux métadonnées actuelles du marché. Convertir trop tôt des quantités exactes en chaînes d’affichage arrondies peut transformer un petit reliquat en position cachée qui empêchera ensuite le rapprochement.
Réserver des ressources pour les ordres encore exécutables
Les positions actuelles ne constituent qu’une partie de l’état suivant possible du compte. Les ordres en carnet peuvent accroître l’exposition, et les ordres en attente d’annulation peuvent encore être exécutés. Une nouvelle cotation doit être évaluée au regard du scénario combiné permis par ces engagements existants.
Supposons qu’une stratégie hypothétique détienne 300 contrats YES et ait une offre d’achat active pour 250 contrats supplémentaires. Si elle soumet une deuxième offre d’achat de 250 avant de retirer la première, la position possible atteint 800. Une limite de 600 doit tenir compte de cette possibilité, même si seuls 300 contrats ont été exécutés jusqu’ici.
Le guide de l’automatisation des comptes examine ce problème de coordination entre stratégies. Un teneur de marché doit utiliser la même vue des réservations pour fixer les prix et autoriser les opérations. Sinon, un composant peut décider qu’un achat est acceptable alors qu’un autre a déjà engagé ailleurs le capital ou la capacité d’exposition.
Ajuster les cotations d’un bot teneur de marché Kalshi selon les positions
L’ajustement des cotations d’un bot teneur de marché Kalshi modifie les prix ou les quantités en fonction des positions détenues. Un teneur de marché déjà fortement exposé à YES peut réduire sa disposition à en acquérir davantage et accroître sa disposition à réduire sa position, sous réserve de sa valorisation et de ses contraintes de prix.
Un exemple de recherche peut partir d’une valeur estimée de 0,55 $ et d’une fourchette de cotation neutre autour de cette valeur. À mesure que la position approche d’une limite déclarée, la stratégie pourrait abaisser son prix acheteur ou réduire la quantité proposée à l’achat. Ce changement doit suivre une règle consignée, et non une conviction improvisée selon laquelle un nouvel achat corrigera le prix d’entrée moyen.
Distinguez cet ajustement des cotations d’une révision des prévisions. Les positions détenues peuvent justifier un prix de négociation différent même si l’estimation de la probabilité de l’événement n’a pas changé. Enregistrer séparément ces deux paramètres permet d’évaluer si un résultat particulier provient du processus de prévision ou de la politique de gestion des positions.
Tester l’ajustement avec des scénarios de compte concrets
Un test utile maintient les informations de marché constantes tout en faisant varier l’état du compte. Comparez les cotations proposées pour un compte sans position, une position acheteuse modérée et une position proche de son plafond. Le résultat doit évoluer selon la politique documentée de gestion des positions, chaque changement devant pouvoir être expliqué.
Faites ensuite varier les prévisions en maintenant les positions constantes. Cela isole la réponse du système aux nouvelles informations. Si une même modification des données d’entrée produit des comportements différents et inexpliqués selon l’ordre d’arrivée des mises à jour, le processus de cotation peut reposer sur un état obsolète ou incohérent.
Utilisez aussi des scénarios extrêmes mais valides : aucun capital libre, une annulation non confirmée et une position à l’approche de l’heure de clôture du marché. Le résultat souhaité peut être une cotation d’un seul côté ou l’absence de nouvelle cotation. Un bot qui produit toujours deux prix peut sembler actif tout en ignorant les conditions dans lesquelles il devrait refuser une exposition supplémentaire.
Prévoir un traitement comptable propre aux exécutions partielles
Une exécution partielle crée une position et laisse une décision distincte à prendre concernant la quantité non exécutée. N’attendez pas qu’un ordre soit entièrement exécuté pour comptabiliser l’exposition acquise. Son risque existe dès que l’exécution correspondante est établie.
Imaginez un ordre de 500 contrats dont 120 sont exécutés. Le compte doit représenter ces 120 contrats, les 380 restants encore actifs et les coûts déjà engagés. Si la stratégie choisit ensuite une nouvelle cible de 300 contrats au total, elle doit évaluer cette cible en tenant compte des 120 existants et du reliquat encore exécutable, au lieu de simplement soumettre un autre ordre de 300.
Les identifiants des événements empêchent les doubles comptabilisations lorsqu’une même exécution apparaît par plusieurs voies d’observation. Une reconnexion ou une actualisation par interrogation périodique peut légitimement répéter des informations. Le grand livre doit les reconnaître comme des éléments concernant un événement existant plutôt que comme une nouvelle acquisition de la même quantité.
Gérer les annulations d’un bot teneur de marché Kalshi
La gestion des annulations d’un bot teneur de marché Kalshi doit distinguer la décision d’annuler de la confirmation qu’un ordre n’est plus exécutable. La période entre ces événements peut comprendre des exécutions supplémentaires. Ces exécutions doivent figurer dans les enregistrements du compte, même si l’utilisateur pensait que l’ordre était déjà en cours de retrait.
Un ordre hypothétique dont il reste 80 contrats pourrait en voir 25 exécutés pendant l’acheminement de l’annulation. Le compte final comprend alors ces 25 contrats supplémentaires, tandis que seuls les 55 restants ont été annulés. Déclarer que la totalité des 80 contrats restants a été annulée sous-estimerait la position et surestimerait la capacité disponible.
Définissez à quel moment les cotations de remplacement sont autorisées. Si le remplacement peut chevaucher l’ancien ordre, l’autorisation doit tenir compte des deux. S’il doit attendre, mesurez la période sans cotation qui en résulte. Chaque politique a des coûts ; l’exigence essentielle est que le modèle d’exposition du logiciel corresponde à la politique qu’il applique réellement.
Conserver une signification unique pour chaque état local
Les états des ordres doivent avoir des définitions précises. « Soumis » peut signifier que la demande locale a été envoyée. « Accusé de réception reçu » peut signifier qu’un système externe a reconnu l’ordre. « Exécuté » doit refléter la quantité exécutée observée. « Inconnu » doit rester disponible lorsque les éléments recueillis ne permettent pas d’établir une issue plus certaine.
Évitez d’utiliser un seul indicateur générique de réussite pour toutes ces transitions. Un ordre dont la réception est confirmée peut n’avoir aucune exécution, tandis qu’une demande ayant dépassé son délai localement peut avoir été exécutée à distance. Le compte ne peut pas déduire son exposition du fait que la dernière opération réseau a renvoyé une réponse commode ou non.
Le guide d’architecture des bots explique pourquoi un état persistant compte. Pour la tenue de marché, reliez chaque état local à une règle concernant les réservations et les nouvelles cotations. Les libellés deviennent ainsi des contraintes opérationnelles plutôt que des statuts décoratifs que chaque composant interprète différemment.
Valoriser les positions selon une méthode déclarée
Une valorisation au prix médian est facile à afficher, mais elle peut ne pas être réalisable pour la totalité de la position. Dans un carnet peu profond, une position importante peut valoir moins lors d’une liquidation immédiate que sa quantité multipliée par le prix médian. Une méthode de valorisation doit préciser ce qu’elle est censée représenter.
Utilisez plusieurs vues lorsqu’elles répondent à des questions différentes : coût de revient, valeur fondée sur les prévisions et estimation de liquidation réalisable pour la quantité concernée. Ne les fusionnez pas en un chiffre de bénéfice inexpliqué. Une valeur prévisionnelle peut orienter la recherche, tandis qu’une estimation exécutable peut révéler le coût d’une réduction immédiate de l’exposition.
Pour une position hypothétique de 1 000 contrats, la meilleure offre d’achat peut ne couvrir que 100 contrats. Valoriser les 1 000 à ce prix ignore les niveaux inférieurs nécessaires à une vente immédiate. Cette différence fait partie du risque de liquidité et doit influer à la fois sur les limites de position et sur les affirmations relatives aux résultats.
Mesurer l’ancienneté des positions
L’ancienneté peut révéler une stratégie qui acquiert régulièrement des contrats mais peine à réduire ses positions. Suivez la durée pendant laquelle les positions restent ouvertes et l’écart entre cette durée et l’horizon de cotation prévu. Une série de petits gains réalisés peut coexister avec une position résiduelle qui vieillit.
Distinguez le vieillissement dû à une politique délibérée de conservation jusqu’à la résolution de celui dû à des sorties infructueuses. Le compte peut avoir consciemment accepté une exposition au règlement, ou le bot peut reporter une perte en maintenant une offre de vente irréaliste. Ces situations appellent des interprétations différentes.
Définissez des conditions de réexamen liées à l’ancienneté et à la concentration. Une position détenue depuis longtemps à l’approche d’une publication d’information programmée peut mériter une attention particulière, même si son dernier prix a à peine changé. Un affichage calme ne signifie pas que la distribution des probabilités ou la possibilité de sortir reste stable.
Regrouper les contrats liés par scénario
Les marchés liés doivent être examinés selon des issues communes. Des contrats rattachés à une même annonce économique peuvent tous évoluer simultanément au détriment du compte. Les compter comme des instruments distincts ne rend pas leurs expositions indépendantes.
Construisez une fiche simple de scénarios hypothétiques : un résultat supérieur aux attentes, proche des attentes ou inférieur aux attentes. Estimez le sens d’évolution du versement de chaque position dans ces cas, en utilisant ses règles réelles. L’exercice n’exige pas un modèle de corrélation parfait pour révéler des concentrations évidentes.
Méfiez-vous des couvertures supposées. Des intitulés de contrats similaires, des sources de référence différentes et des échéances différentes peuvent créer un risque résiduel qu’un graphique de prix ne révèle pas. Avant de permettre à une position d’en compenser une autre dans un calcul de limite, documentez pourquoi leurs versements se comportent comme prévu dans les scénarios pertinents.
Appliquer les frais aux opérations réellement exécutées
Utilisez les conditions tarifaires actuelles du marché et du compte pour estimer les coûts. Une exécution passive ne prouve pas que toute opération de tenue de marché est gratuite. Les arrondis, les règles propres au marché et les détails d’exécution peuvent faire différer les frais effectifs d’un simple pourcentage estimé à partir d’un autre exemple.
Pour une session illustrative, supposons que les écarts de prix sur les opérations achevées totalisent 18 $, que les frais directs totalisent 5 $ et que les positions restantes perdent 9 $ selon le prix de valorisation déclaré. Avant les autres dépenses opérationnelles, le résultat combiné est de 4 $. Afficher uniquement la composante de 18 $ exagérerait l’amélioration économique du compte.
Rapprochez les frais des exécutions réelles et conservez les écarts inexpliqués pour les examiner. Ne modifiez pas silencieusement une hypothèse de frais jusqu’à ce que le compte finisse par correspondre. Un écart peut révéler une erreur de précision, une exécution manquante ou une interprétation incorrecte d’une réponse du compte.
Rétablir l’état avant de recoter après une déconnexion
Lorsque la connexion revient, reconstituez d’abord l’état nécessaire pour fixer les prix de manière responsable. Actualisez les ordres actifs, les exécutions récentes, les positions et les ressources disponibles. Comparez-les au journal local et conservez toute incertitude qui ne peut pas encore être levée.
Évitez de supposer que toutes les cotations ont disparu pendant la panne. Un ordre externe peut continuer d’exister alors que l’application qui l’a émis est hors ligne. Afficher un ensemble de cotations de remplacement avant de vérifier ce fait peut créer des engagements en double ou contredire une intervention de l’utilisateur via une autre interface.
Un exercice de reprise doit inclure une exécution survenant pendant la déconnexion et une annulation dont la réponse est perdue. Le résultat attendu ne se limite pas à une connexion réseau rétablie. Il s’agit d’un état cohérent du compte dans lequel chaque quantité connue et chaque ordre restant ont une explication et peuvent être utilisés de façon cohérente lors de la prochaine décision de cotation.
Évaluer séparément la politique de gestion des positions
Pour comprendre l’ajustement des cotations, comparez-le à une référence plus simple avec les mêmes observations et hypothèses d’exécution. Mesurez les résultats réalisés, la répartition des positions, le temps passé près des limites et les réductions coûteuses. L’amélioration d’une mesure peut se faire au détriment d’une autre.
Ne choisissez pas la politique uniquement à partir de l’intervalle historique le plus favorable. Un paramétrage qui bénéficie d’une tendance de marché prolongée peut se comporter différemment lorsque le flux d’ordres s’inverse. Réservez des observations ultérieures à l’évaluation et conservez les périodes infructueuses dans les enregistrements.
Examinez les transitions individuelles autant que les agrégats. Une exécution qui a rapproché le compte de son plafond doit produire la restriction ou l’ajustement attendu. Dans le cas contraire, une session rentable n’excuse pas la défaillance du contrôle. L’objectif est une politique dont le comportement réel peut être expliqué avant de juger si ses caractéristiques économiques sont intéressantes.
Distinguer une mise à jour de prix d’une nouvelle décision de risque
Une petite variation des prix de marché affichés ne justifie pas nécessairement de remplacer chaque ordre. Des annulations et remplacements répétés peuvent accroître le trafic de messages, modifier la position dans la file d’attente et multiplier les intervalles pendant lesquels le compte doit résoudre des demandes qui se chevauchent. Étudiez le motif minimal justifiant une révision de prix plutôt que de supposer que davantage de mises à jour améliorent toujours le résultat.
Ce motif peut dépendre de plusieurs paramètres. Une modification significative des prévisions, un ordre nouvellement exécuté ou l’approche d’un plafond de position peuvent mériter une réponse même si le prix médian reste inchangé. À l’inverse, une infime fluctuation du prix médian peut être sans importance si la cotation existante reste dans les limites de valeur et de risque déclarées de la stratégie.
Consignez le déclencheur de chaque remplacement. L’examen de session dispose ainsi d’un moyen de distinguer l’adaptation nécessaire de l’agitation inutile. L’objectif du bot est de maintenir des engagements appropriés, et non de maximiser le nombre de messages qui donnent à l’interface une apparence d’activité.
Terminer la session avec un grand livre explicable
En fin de session, rapprochez les positions initiales, les exécutions, les reliquats annulés, le règlement et les ressources finales. Identifiez les positions délibérément reportées et celles qui subsistent parce qu’une action souhaitée n’a pas pu aboutir. Cette distinction aide à commencer la session suivante avec un plan opérationnel précis.
Consignez les versions des contrats et de la configuration pertinentes pour ces positions. Une modification ultérieure d’un paramètre de stratégie ne doit pas réécrire la raison pour laquelle une position antérieure a été acquise. De même, une nouvelle prévision ne doit pas remplacer celle qui a éclairé une ancienne cotation lors de l’examen des performances.
Un bot teneur de marché Kalshi est le plus compréhensible lorsque ses prix, ses positions et les éléments observés du compte restent reliés. Chaque cotation est une modification potentielle d’un portefeuille, chaque exécution modifie la décision suivante et chaque demande non résolue reste une obligation d’enquête. Cette discipline rend les résultats favorables comme défavorables plus utiles à la personne qui évalue la stratégie.
Guides connexes et exemples détaillés
- Bot de tenue de marché sur les marchés de prédiction : principes économiques fondamentaux — Étudiez les aspects économiques de la cotation à l’achat et à la vente tout en gérant les positions et l’incertitude des prévisions.
- Bot teneur de marché Polymarket : positions par issue — Reliez les positions par issue et les garanties à l’exécution asynchrone sur Polymarket.