Admission et amp; Classification du lieu
Canaux principaux en temps réel
ConsoliderWebSocket trade & meilleure offre/demandeflux à partir des meilleurs CEX liquides (Binance, OKX, Coinbase, Kraken) plusoracle DEXousous-graphe AMMréférences pour la validation croisée synthétique.
Secondaire et amp; Sources de récupération
Points intermédiaires REST de secours, fournisseurs consolidés (Kaiko, CryptoCompare) et instantanés Oracle en chaîne (Chainlink, Pyth) activés en cas de violation du SLA de fraîcheur principal.
Enrichissement des métadonnées
Joindre le lieulatence_ms,fiabilité_score,liquidité_tieretrégime_tag(normal / stressé) pour une pondération adaptative en aval.
Normalisation et amp; Modèle de tique canonique
Schéma canonique
Unifiez-vous en{ts, symbole, lieu, offre, demande, milieu, dernier, volume_1s, latence_ms}. Pré-calculer mid = (bid+ask)/2 ; assurer la cartographie et l'amp; décimales de base/devis normalisées.
Harmonisation de l'horodatage
Convertir en UTC monotone en microseconde ; rejeter les ticks où |client_ts - server_ts| > 250 ms sauf en régime stressé ; biais d’enregistrement pour les tableaux de bord de latence.
Unité et amp; Contrôle de précision
Normaliser pour coter la devise (par exemple USDT) et la représentation interne float64 ; préserver la précision originale pour l’audit. Appliquez l’arrondi de la taille des graduations uniquement pour l’affichage, et non pour les calculs internes.
Agrégation pondérée et amp; Statistiques robustes
Médiane + MAD Core
Calculerprix moyen médian ; signaler les valeurs aberrantes où
|milieu - médiane| / MAD> 6. Robuste à la manipulation sur un seul site et aux mèches de livres fines.Pondérations de liquidité/fiabilité
Après avoir éliminé les valeurs aberrantes, calculez le milieu pondéré :
Σ(mid_i * w_i) / Σ w_iavecw_i = log(liquidity_third_usd+1)*reliability_score/(1+latency_ms).Références dérivées (TWAP/VWAP)
Maintenir les fenêtresTWAPetVWAP(1 s, 5 s, 60 s). Utilisez 5s TWAP comme seuil de validation arbitraire : ignorez les spreads instantanés < Multiplicateur de divergence TWAP 1,2x pour réduire la poursuite du bruit.
TTL adaptatif, détection d'obsolescence et amp; Disjoncteurs
- Politique TTL de base :par symbole 1000 ms régime normal ; rétrécir à 500 ms en cas de forte volatilité (abs(returns_1s) > seuil).
- Expiration du lieu :Supprimer un lieu de la pondération si l'âge du dernier tick est > ; 2 * TTL ; état de la marque = STALE.
- Dégradation de l'agrégation :Si les lieux actifs < 3, dégrader la confiance ; si < 2 déclenchements du disjoncteur et gel du prix de référence (repli TWAP).
- Dérive de l'horloge :Rejeter les ticks avec un delta monotone négatif ou une dérive > ; 300 ms par rapport à la ligne de base de synchronisation NTP.
- Score de confiance :Publier avec le prix : composite de la taille de l'échantillon, de la variance et du facteur d'obsolescence.
Rejet et amp; Flux de travail de rapprochement
Filtres à plusieurs étages
Étape 1 : bon sens (offre ≤ demande, spreads positifs). Étape 2 : statistique (MAD / z-score). Étape 3 : contrôle de la volatilité (rejeter les pics > 5 * σ roulant sauf corroboration par ≥ 50 % des sites).
Logique de rapprochement
Si lieu exclu > X minutes, sonde de santé d'apparition : instantané de profondeur REST + petit ordre de test notionnel (bac à sable) pour confirmer la connectivité avant la réinclusion.
Audit et amp; Rejouer
Conserver les flux de ticks bruts + filtrés (parquet / en colonnes) avec des codes de motif d'exclusion permettant des backtests et des tests déterministes. criminalistique des incidents.
Redondance, basculement et amp; Topologie de déploiement
Exécutez des clusters à double ingestion (Région A/Région B) avecactifs-actifsSujets Kafka. Appliquez la clé de partition déterministesymbole. Arbitrage du consommateur Heartbeat : si l'écart entre la région A > 3s, la région B élève la priorité. Maintenir un agrégateur de fournisseurs de secours à froid pour les pannes d'échange du cygne noir. Introduisez des exercices de chaosmensuels (panne synthétique du site + injection de latence) pour valider l'exactitude du basculement et les ajustements du score de confiance.
KPI et amp; Mesures de qualité des données
Latence et amp; Fraîcheur
Suivrelatence d'ingestion P50/P95,répartition par âge des coches,taux d'obsolescence. Alerte si P95 > 2 * rapport de référence ou d'obsolescence> 5 % pour les sites de niveau 1.
Intégrité des données
Surveiller le nombre de spreads non valides, le taux de rejet des valeurs aberrantes, le taux de réussite de la rentrée de réconciliation et l'écart entre la médiane et l'écart entre les valeurs médianes et les écarts entre les valeurs médianes et les écarts entre les valeurs médianes et les écarts. pondéré moyen (devrait rester < 4 points de base dans les régimes normaux).
Impact du risque
Corréler les écarts de flux de prix avec les faux positifs déclencheurs d'arbitrage en aval ; maintenir les mesures de précision de roulement/rappel sur la relecture historique pour valider les ajustements.
Liste de contrôle de déploiement du flux de prix
- 1. Schéma :Structure de tick canonique validée et validée. contrat testé.
- 2. Valeurs aberrantes :Seuils MAD calibrés sur des régimes de volatilité faible/élevée.
- 3. TTL :Politiques d'obsolescence adaptatives simulées avec une relecture historique de 24 h.
- 4. Basculement :Exercice de chaos régional exécuté ; delta de latence au sein du SLA.
- 5. Métriques :Tableaux de bord Prometheus + itinéraires d'alerte examinés.
- 6. Stockage :Archivage du parquet + reproductibilité des codes motif vérifiée.
- 7. Confiance :Les consommateurs en aval lisent le trust_score et le score de confiance. actions de déclenchement.
Outils et amp; API
- Kafka / NATS(cocher la colonne vertébrale du flux)
- Redis(cache à faible latence + application TTL)
- Prometheus + Grafana(latence, obsolescence, métriques de rejet)
- Faust / asyncio(Traitement du flux Python)
- Chainlink / Pyth(vérifications croisées Oracle)
- Kaiko / CryptoCompare(repli du fournisseur)
- S3 + Parquet(archives de ticks immuables)
- De grandes attentes(suite de validation de la qualité des données)
Améliorez votre pile d'arbitrage
Intégrez ce modèle d'agrégation à notre module d'arbitrage perpétuel, comparez les erreurs de tarification sur plusieurs sites viaAperçu du marchéet convertissez instantanément les spreads avec leConvertisseur BTC/USDT.
Conclusion
Un flux de prix crypto résilient n'est pas un simple appel d'API : il s'agit d'un système adaptatif multicouche équilibrant la latence, l'intégrité et la robustesse. En combinant des statistiques robustes (médiane/MAD), un TTL adaptatif, un filtrage par étapes, une redondance, un score de confiance et une surveillance transparente, vous réduisez considérablement les faux déclencheurs d'arbitrage et le risque de liquidation. Traitez chaque décision de conception comme un compromis dans le triangleLatence vs Robustesse, rejouez en permanence les fenêtres de contraintes historiques et itérez la pondération et l'analyse des contraintes. logique de rejet avec des mesures de précision quantitative/de rappel. Cela transforme le bruit brut des échanges en prix de référence de qualité institutionnelle.