API WebSocket de marché de prédiction : Reconstruire les carnets d'ordres en direct en toute sécurité
Une connexion socket est facile. Maintenir un carnet d'ordres correct grâce aux amorçages, aux deltas, aux reconnexions et à la cadence spécifique à chaque lieu est le véritable travail d'ingénierie.
Un client WebSocket de marché de prédiction a besoin d'un carnet d'ordres initial complet, d'un ordre de mise à jour déterministe, d'horodatages source et de réception, d'une gestion des signaux de présence et d'un chemin de récupération après toute lacune. Les données Polymarket peuvent être capturées à partir des mises à jour CLOB pilotées par les événements ; les données Kalshi peuvent arriver via un mécanisme de lieu différent. Un cadre descendant normalisé n'est utile que s'il préserve ces différences de source au lieu de prétendre que chaque lieu a le même transport.
L'état minimal correct de la machine
- Résolvez les identifiants de marché et de résultat stables avant de vous abonner.
- Chargez ou recevez un carnet d'ordres complet avant d'appliquer les modifications incrémentales.
- Appliquez les mises à jour dans l'ordre source documenté et rejetez l'état obsolète.
- Suivez le signal de présence ou l'heure du dernier message indépendamment pour chaque connexion.
- En cas de lacune de séquence ou de reconnexion incertaine, supprimez le carnet d'ordres local et réamorcez.
- Publiez l'heure source, l'heure de réception et un indicateur clair d'instantané par rapport à delta en aval.
L'instantané et le delta ne sont pas interchangeables
Un instantané remplace l'état ; un delta le modifie. Les traiter comme l'un ou l'autre produit un carnet d'ordres qui peut sembler plausible tout en conservant des niveaux supprimés ou en supprimant la taille inchangée. Écrivez des tests explicites pour l'insertion de niveaux, le remplacement de la taille, la suppression et le rejet de carnet croisé.
Les consommateurs en aval n'ont pas besoin de deviner s'ils ont reçu un ladder complet. Incluez un type de message ou servez des cadres de carnet d'ordres complets normalisés lorsque la simplicité vaut la bande passante supplémentaire.
Normalisation consciente du lieu
DepthFeed capture Polymarket à partir du flux CLOB et enregistre des observations normalisées. Les livres de sports et de crypto Kalshi suivent des chemins de collecte spécifiques au lieu documentés, y compris REST adaptatif public lorsque cela est applicable. Le schéma descendant peut rester cohérent tandis que les métadonnées identifient comment et quand chaque source a été observée.
Pour les plans payants, le WebSocket de DepthFeed sert des canaux de carnet d'ordres en direct normalisés avec des limites de connexion et d'abonnement spécifiques au plan. Les requêtes REST historiques utilisent la même forme prix-taille, ce qui permet de réutiliser la logique d'analyse et de remplissage entre la surveillance en direct et la relecture.
Tests de défaillance en production
| Défaillance | Comportement attendu | Comportement dangereux |
|---|---|---|
| Déconnexion de la connexion | Reconnexion, réamorçage, reprise à partir d'un état connu | Continuer à muter le carnet d'ordres local obsolète |
| Mise à jour en double | Gestion idempotente ou vérification de l'ordre source | Doubler la taille au repos |
| Mise à jour hors séquence | Rejeter ou reconstruire | Appliquer par ordre d'arrivée sans preuve |
| Consommateur lent | Politique de pression inverse, de coalescence ou de déconnexion | Croissance illimitée de la mémoire |
| Aucune mise à jour récente | Exposer la fraîcheur par marché | Signaler le dernier prix comme étant en direct |
Key takeaways
- 01Un amorçage complet doit exister avant que les deltas ne puissent former un carnet d'ordres fiable.
- 02L'incertitude de la reconnexion doit déclencher un réamorçage, et non une continuation optimiste.
- 03L'heure source et l'heure de réception répondent à des questions de latence différentes.
- 04La normalisation doit préserver les métadonnées de capture spécifiques au lieu.
- 05Les API en direct et historiques les plus sûres partagent une forme de ladder explicite unique.
Une connexion socket est facile. Maintenir un carnet d'ordres correct grâce aux amorçages, aux deltas, aux reconnexions et à la cadence spécifique à chaque lieu est le véritable travail d'ingénierie.
Commencer gratuitement