Arbitrage sur les marchés de prédiction : Backtest Polymarket vs Kalshi
Une différence de prix n'est qu'un candidat à l'arbitrage. Elle devient une transaction testable une fois que les contrats, le moment de décision, la taille affichée, l'exécution à deux jambes, les frais et les chemins de règlement sont alignés.
L'arbitrage sur les marchés de prédiction vise un gain limité en combinant des positions dont le coût total exécutable est inférieur à leur valeur de règlement appariée. Entre Polymarket et Kalshi, la partie difficile n'est pas de soustraire deux prix : c'est de prouver que les contrats se résolvent de manière identique, de synchroniser les deux carnets d'ordres, de parcourir la profondeur disponible, de modéliser le risque de jambe et d'inclure tous les frais et contraintes de financement.
Spread apparent contre arbitrage exécutable
| Test | Ce qui doit être vrai | Pourquoi un écran peut être erroné |
|---|---|---|
| Équivalence des contrats | Le même événement, la même échéance, la même source et la même règle de résolution | Des titres similaires peuvent se régler différemment |
| Gain complémentaire | Les jambes choisies couvrent l'ensemble de résultats visé | Les étiquettes oui/non ne suffisent pas pour différents contrats |
| Même moment de décision | Les deux carnets étaient observables avant tout ordre simulé | Une cotation ultérieure crée un biais de prévision |
| Taille exécutable | La profondeur affichée soutient la mise sur les deux jambes | Les meilleurs prix peuvent ne contenir qu'une taille négligeable |
| Économie nette | Le gain combiné dépasse les exécutions, les frais et les coûts opérationnels | Les écarts de prix affichés ignorent les frictions |
| Chemin d'achèvement | Le modèle prend en compte les exécutions partielles et le délai de jambe | Une jambe exécutée peut laisser une exposition directionnelle |
Faites correspondre les règles de résolution avant de faire correspondre les prix
Créez un enregistrement de correspondance de contrats avant de calculer un spread. Conservez les identifiants d'événement, de marché et de résultat de chaque plateforme ; la formulation exacte du marché ; les heures de clôture et de détermination ; la source de résolution ; le traitement des annulations ; et l'unité de paiement. Un sujet partagé comme une élection, une décision de taux ou un seuil crypto ne rend pas à lui seul deux contrats interchangeables.
Classez chaque paire comme exacte, conditionnelle ou rejetée. Exacte signifie que les états de gain et le chemin de résolution sont démontrablement équivalents. Conditionnelle signifie qu'un cas limite documenté pourrait rompre l'équivalence et doit être modélisé. Les paires rejetées restent en dehors du backtest. L'examen humain de cette correspondance fait partie du processus de recherche, pas une étape de nettoyage facultative.
Normalisez les carnets sans effacer les preuves de la plateforme
Normalisez les deux plateformes en tableaux explicites de résultat, côté, prix et taille tout en conservant les identifiants natifs et les champs bruts. Convertissez les prix en une seule base de paiement seulement après avoir enregistré la représentation de la plateforme. Pour Kalshi, inspectez la réponse native du carnet d'ordres oui/non et sa relation réciproque ; pour Polymarket, mappez le jeton de résultat correct à son carnet CLOB.
Utilisez l'échelle des prix vendeurs pour un achat simulé et l'échelle des prix acheteurs pour une vente simulée. Ne traitez pas un point médian, une dernière transaction ou un prix d'affichage complémentaire comme une cotation exécutable. Une comparaison inter-plateformes doit rapporter l'horodatage exact du carnet observé et l'obsolescence pour chaque jambe.
Utilisez une horloge de décision unique
Choisissez un horodatage de décision, puis sélectionnez uniquement le dernier carnet éligible à ce moment ou avant pour chaque plateforme. Appliquez un seuil d'âge maximum séparément aux deux observations. Si l'un des carnets est manquant ou obsolète, l'opportunité est indisponible ; le remplissage prospectif à travers le trou fabriquerait des preuves.
La relecture conservatrice devrait geler les deux carnets d'entrée au moment de la décision, soumettre la première jambe simulée, appliquer une hypothèse explicite de latence ou de délai de jambe, puis réévaluer la deuxième jambe en utilisant l'observation suivante éligible. Un scénario de carnets simultanés peut être une borne supérieure utile, mais il ne devrait pas être étiqueté comme le seul résultat d'exécution.
Parcourez les deux échelles à la taille prévue
Pour chaque jambe, consommez les niveaux affichés jusqu'à ce que la taille cible soit remplie ou que la profondeur soit épuisée. Enregistrez le prix moyen pondéré par la profondeur, la quantité exécutable et le pire niveau consommé. La taille de transaction viable est plafonnée par la jambe la plus faible, pas par la plateforme affichant le plus grand écart affiché.
Exécutez plusieurs tailles de mise. Un avantage apparent peut survivre à dix contrats et disparaître à mille. Rapportez à la fois l'avantage brut par unité et l'avantage net total afin qu'une minuscule cotation en tête de carnet ne domine pas le classement des opportunités.
Modélisez les frais, le capital et le calendrier de règlement
Conservez les frais de plateforme, les coûts de dépôt ou de retrait, les coûts de réseau le cas échéant, la conversion de devises et le temps de financement comme entrées distinctes. Utilisez les barèmes officiels actuels de la plateforme pour une décision en temps réel ; une étude historique devrait utiliser le barème qui s'appliquait pendant sa fenêtre de test lorsque cet enregistrement est disponible.
Le capital peut rester bloqué jusqu'à ce que les deux marchés déterminent et règlent. Rapportez le rendement sur le capital engagé et la durée d'exposition, pas seulement le gain moins les prix d'achat. Un avantage nominal positif peut encore être peu attrayant après les frictions, le délai de règlement ou le coût de pré-positionnement des fonds sur les deux plateformes.
Traitez le risque de jambe comme un résultat de premier ordre
Les ordres inter-plateformes ne sont pas atomiques. La première jambe peut être exécutée pendant que la seconde bouge, rejette, s'exécute partiellement ou devient obsolète. Testez au moins un cas d'achèvement immédiat, un cas de deuxième jambe retardée et une règle d'abandon ou de couverture. Enregistrez l'exposition non couverte et le pire coût d'achèvement observé plutôt que de cacher les paires échouées.
Une implémentation réaliste définit également les vérifications de disponibilité des plateformes, l'âge maximum des cotations, l'avantage restant minimum, les limites de taille par marché et une condition d'arrêt. Ces contrôles doivent être fixés avant la période de validation pour que le backtest ne s'optimise pas autour des résultats connus.
Un protocole de backtest reproductible
- Créez et versionnez une table d'équivalence des contrats examinée manuellement.
- Définissez l'univers de marché éligible, la plage de dates et la cadence de décision avant d'inspecter les rendements.
- Utilisez uniquement les carnets d'ordres observés à ou avant chaque horodatage de décision.
- Rejetez les jambes obsolètes ou manquantes au lieu de les remplir prospectivement dans des transactions.
- Parcourez les deux échelles, plafonnez la taille par la jambe la plus faible et conservez les preuves d'exécution partielle.
- Appliquez les frais spécifiques à la plateforme, les contraintes de financement et la durée de règlement.
- Stressez la deuxième jambe avec des délais, des mouvements de prix, des rejets et des exécutions partielles.
- Séparez les périodes de développement et de validation, puis testez en avant les règles figées avec du capital virtuel.
- Publiez les registres d'opportunités, d'exclusions et d'exécutions simulées à côté des performances agrégées.
Calcul d'opportunité minimal
L'arithmétique ci-dessous n'est que l'étape finale après la correspondance des contrats et la sélection du carnet à la date de décision. Chaque coût doit être le coût exécutable pondéré par la profondeur pour la même quantité. Le tampon représente tous les frais explicites plus la marge requise par le chercheur pour le délai et l'incertitude du modèle.
Modes de défaillance qui invalident le résultat
| Mode de défaillance | Fausse conclusion | Contrôle requis |
|---|---|---|
| Correspondance basée uniquement sur le titre | Les contrats ont des gains identiques | Comparez les règles complètes et les sources de résolution |
| Horodatages mélangés | Les deux cotations étaient disponibles ensemble | Sélection stricte à la date de décision et limites de fraîcheur |
| Arithmétique du haut de carnet | La taille cible complète gagne l'avantage affiché | Parcourez la profondeur des deux jambes |
| Hypothèse d'exécution atomique | Les deux ordres se terminent en même temps | Scénarios de délai, de rejet et d'exécution partielle |
| Barème de frais actuel appliqué rétroactivement | Les rendements nets historiques sont exacts | Frais versionnés ou un proxy conservateur divulgué |
| Rapport uniquement sur les survivants | Chaque opportunité identifiée était négociable | Publiez les exclusions et les tentatives d'achèvement échouées |
Key takeaways
- 01Un écart de prix inter-plateformes est un candidat, pas une preuve d'arbitrage.
- 02L'équivalence des contrats et les règles de règlement doivent être examinées avant la comparaison des prix.
- 03Les deux jambes nécessitent des carnets stricts à la date de décision, des limites de fraîcheur et des exécutions tenant compte de la profondeur.
- 04Les frais, le temps de financement, les exécutions partielles et le délai de jambe appartiennent aux résultats nets.
- 05Les registres d'opportunités et d'exclusions sont aussi importants que les rendements agrégés.
Une différence de prix n'est qu'un candidat à l'arbitrage. Elle devient une transaction testable une fois que les contrats, le moment de décision, la taille affichée, l'exécution à deux jambes, les frais et les chemins de règlement sont alignés.
Commencer gratuitement