Sunday 12 February 2017

Architecte Système Trading

Il n'y a en fait que 3 blocs majeurs dans un Algo Trading System. 3. Le routeur de commande (par exemple le routeur FIX), vous pouvez ajouter des contrôles de risque au module de stratégie ou au module de routeur de commande ou aux deux. Tant que votre flux de données est correct, vous devriez être bon d'aller. Rappelez-vous que vous concevez un ATS pour la latence minimum, et l'ajout de couches ou la complexité viendra au coût de la latence. Une architecture ATS minimale Et si vous ajoutez les cloches et les sifflets, cela ressemblerait à ce qui suit: Si vous êtes également intéressé par la mise en œuvre de l'architecture ci-dessus, vous devriez garder les choses suivantes à l'esprit. Évitez les serrures. Dans le cas où vous devez l'utiliser, essayez de les remplacer par des structures sans serrures en utilisant atomics. Il existe quelques bibliothèques disponibles pour les structures de données sans verrouillage (par exemple libcds, kit de concurrence, etc.). C-11 prend en charge std :: atomic. Et vous devriez vous efforcer de les utiliser aussi. Évitez ce qui est fait dans QuickFIX. Son écrit pour securityflexibilityreusability comme la création et la destruction d'objet (lock) est fait pour chaque invocation de n'importe quel message au routeur. Sûrement pas moyen d'écrire un code de latence sensible. Pas d'allocation de mémoire d'exécution. Runtime doit utiliser la gestion de mémoire personnalisée et sans verrouillage avec pool de mémoire pré-alloué. Toute l'initialisation peut être faite dans les constructeurs. Couplage serré. Le modèle Threading, le modèle IO et la gestion de la mémoire doivent être conçus pour collaborer entre eux pour obtenir les meilleures performances globales. Cela va à l'encontre du concept OOP de couplage lâche, mais son nécessaire pour éviter le coût d'exécution du polymorphisme dynamique. Utilisez des modèles. Dans la même veine, je vous suggère également de regarder C templatization pour atteindre la flexibilité du code. OSHardware optimisation: Enfin, vous devriez chercher à travailler avec Linux RT Kernel et carte de réseau Solarflare avec pilote OpenOnLoad pour atteindre une latence minimale. Vous pouvez en outre chercher à isoler le processeur et exécuter votre programme sur ce noyau particulier. Et enfin, l'API publique que vous devriez exposer aux développeurs de stratégie. Je voudrais que ce soit l'ensemble minimal qui encapsulerait toute la complexité de cette relation d'échange particulière. Classe OrderRouter public: bool virtuel sendNewOrd (OrderInfo) 0 virtuel bool sendRplOrd (OrderInfo) 0 virtuel bool sendCxlOrd (OrderInfo) 0 virtualBut cela signifie que la classe OrderInfo doit avoir TOUS les détails requis par le destinationexchange. En général, les échanges nécessitent le même type d'information, mais comme vous allez le long et le soutien de plus d'échangesdestinations vous vous trouverez vous-même ajouter plus de variables dans cette classe. Voici les questions importantes que vous devriez vous poser: 1. Architecture multi-processus ou architecture multi-thread. Qu'il s'agisse de construire un processus monolithique avec plusieurs threads ou d'écrire plusieurs processus. Le coût du processus multiple est la latence du message passant, tandis que le coût pour le processus unique à plusieurs threads est que toute défaillance peut faire tomber le système entier. 2. Passage de message: alors que vous pouvez choisir parmi une pléthore d'options, vous êtes limité par la considération de latence. Le plus rapide IPC serait la mémoire partagée, mais alors comment feriez-vous la synchronisation passer un certain temps avec ces deux questions, car ils seraient le bloc de construction sur lequel votre architecture se tient. Edit: FIX et FAST Concernant le protocole standard, FIX est pour l'envoi d'ordres et FAST est pour les données du marché. Cela dit, la plupart des échanges ont leur propre protocole natif qui est plus rapide que FIX, car FIX est généralement mis en œuvre sur le dessus de leur protocole natif. Mais ils prennent encore en charge FIX ajoute à la vitesse de déploiement. D'autre part, alors que FIX est adopté par la plupart des échanges, FAST ne jouit pas d'une large acceptation. En tout cas, il n'y aurait qu'une poignée d'échanges qui l'adoptent. La plupart d'entre eux envoient plus de FIX lui-même (faible latence), ou utilisent leur propre protocole binaire natif. par exemple. En Inde, NSE, BSE et MCXMCXSX, tous les trois échanges vous donne FIX protocole en plus de protocole natif, mais seulement l'ESB vous donne FAST pour les données du marché. Et c'est aussi passer de FAST à natif avec l'introduction de l'EOBI. Vous pouvez extrapoler la même chose à d'autres échanges. 3.7k Vues middot Voir Upvotes middot Pas pour la reproduction Comme John a mentionné, OMS est le nœud de toute plateforme de négociation et vous devriez commencer à partir de la recherche à ce sujet. Vous devrez passer du temps à déterminer votre cycle de vie commercial, les événements et les fonctionnalités que vous souhaitez intégrer au SGD et ceux que vous souhaitez que votre moteur Algo gère. Metcetera offre un open source OMS, je ne l'ai pas utilisé personnellement mais il est l'un des rares sur le marché. La prochaine chose que vous devriez regarder est de fournir une interface pour les données de source dans et le pousser vers le bas. Ceci est pour un système d'entrée de commande de client pour jeter dans les détails d'ordre et le moteur d'Algo pour le source lui. Beaucoup de Sell Side OMS039s utilisent une combinaison de programmes propriétaires écrits en JavaC en utilisant FIX. Le protocole FIX vous permet de communiquer en temps réel entre les systèmes dans un format de message prédéfini d'amplificateur simplifié établi par la communauté de protocole FIX. Allez à la page d'accueil de l'organisation du protocole FIX gt pour en savoir plus. Examine également le moteur Open Source FIX. Une implémentation open source du moteur FIX. Ensuite vient une interface de données de marché pour la source en temps réel des informations sur le marché de la sécurité, des données allant de HighLowOpenClose à Best BidBest Ask, le volume total négocié, dernier prix, dernier volume, devis d'offre, demandez des citations etc Les informations que vous recherchez dépend vraiment du type de Stratégie que vous souhaitez mettre en œuvre. Je pense que Interactive Broker fournit un flux de données en temps réel via FIX. La connectivité Exchange est la suivante où votre Algo interprète les signaux, crée un ordre et achemine vers un Exchange ou ECN. Développer en interne pourrait être difficile car vous auriez besoin de travailler sur l'adhésion à l'échange, certifier votre plate-forme et payer une cotisation régulière. Un moyen moins coûteux est d'utiliser une API courtier (comme IB) et de passer l'ordre à travers eux. Les données historiques sont également essentielles, car vous pourriez vouloir comparer le comportement actuel du marché avec ses valeurs historiques. Des paramètres comme l'écart moyen, les profils VWAP, le volume quotidien moyen etc. peuvent être nécessaires pour influencer la prise de décision. Vous pouvez l'avoir sur la base de données (préféré), mais si la vitesse de l'essence, puis le télécharger sur le cache du serveur lorsque vous commencez votre programme. Une fois que vos systèmes périphériques sont configurés, vous pouvez commencer à développer votre programme algo comme vous le souhaitez. Cette infrastructure de base vous permettra de saisir un ordre de produit parent, de lire les données du marché, de réagir aux signaux, mais de générer des ordres enfants et de les placer sur le carnet d'ordres et les données historiques pour influencer la prise de décision. L'OMS tient le lien entre l'ordre d'enfant parent, ses statuts en temps réel et les mises à jour par l'algo ou la plate-forme de connectivité d'échange. Ce que vous voulez implémenter à l'intérieur de l'Algo est entièrement à vous. 2.1k Vues middot Voir Upvotes middot Pas pour la reproductionTrading étage Architecture Trading Floor Architecture Vue d'ensemble de l'exécutif Une concurrence accrue, un volume de données de marché plus élevé et de nouvelles exigences réglementaires sont quelques-unes des forces motrices derrière les changements de l'industrie. Les entreprises essaient de maintenir leur avantage concurrentiel en changeant constamment leurs stratégies commerciales et en augmentant la vitesse de négociation. Une architecture viable doit inclure les dernières technologies à la fois du réseau et des domaines d'application. Il doit être modulaire pour fournir un chemin gérable pour évoluer chaque composant avec une interruption minimale au système global. Par conséquent, l'architecture proposée dans ce document repose sur un cadre de services. Nous examinons les services tels que la messagerie à ultra-faible latence, la surveillance de latence, la multidiffusion, l'informatique, le stockage, la virtualisation des données et des applications, la résilience commerciale, la mobilité commerciale et le client léger. La solution aux exigences complexes de la plate-forme de négociation de prochaine génération doit être construite avec une mentalité holistique, en franchissant les frontières des silos traditionnels comme les affaires et la technologie ou les applications et le réseautage. Ce document a pour objectif principal de fournir des lignes directrices pour la construction d'une plateforme de négociation à ultra-faible latence tout en optimisant le débit brut et le taux de messages pour les données de marché et les ordres de négociation FIX. Pour ce faire, nous proposons les technologies de réduction de latence suivantes: Interconnexion haute vitesseInfiniBand ou connectivité 10 Gbps pour le cluster de négociation Bus de messagerie haute vitesse Accélération de l'application via RDMA sans re-code d'application Surveillance de latence en temps réel et re-direction de Négocier le trafic sur le chemin avec une latence minimale Tendances et défis de l'industrie Les architectures commerciales de la prochaine génération doivent répondre à une demande accrue de vitesse, de volume et d'efficacité. Par exemple, le volume des données du marché des options devrait doubler après l'introduction de la négociation des penny options en 2007. Il existe également des exigences réglementaires pour la meilleure exécution, qui exigent des mises à jour des prix de traitement à des taux qui s'approchent de 1 ms msec. Pour les échanges. Ils exigent également la visibilité de la fraîcheur des données et la preuve que le client a obtenu la meilleure exécution possible. À court terme, la rapidité des échanges et de l'innovation sont des facteurs de différenciation essentiels. Un nombre croissant de métiers sont traités par des applications de négociation algorithmique placées aussi près que possible du lieu d'exécution du commerce. Un défi avec ces moteurs de trading quotblack-boxquot est qu'ils composent l'augmentation de volume en émettant des ordres seulement pour les annuler et les soumettre à nouveau. La cause de ce comportement est le manque de visibilité sur le lieu qui offre la meilleure exécution. Le commerçant humain est maintenant un ingénieur quotfinancial, quotquantquot (analyste quantitatif) avec des compétences en programmation, qui peut ajuster les modèles de négociation à la volée. Les entreprises développent de nouveaux instruments financiers comme les dérivés météorologiques ou les métiers de classes d'actifs croisés et ils doivent déployer les nouvelles applications rapidement et de manière évolutive. À long terme, la différenciation concurrentielle devrait provenir de l'analyse, et pas seulement du savoir. Les star traders de demain assument des risques, atteignent la perspicacité du client et battent constamment le marché (source IBM: www-935.ibmservicesusimcpdfge510-6270-trader. pdf). La résilience des entreprises est l'une des principales préoccupations des entreprises commerciales depuis le 11 septembre 2001. Les solutions dans ce domaine vont de centres de données redondants situés dans des géographies différentes et connectés à de multiples sites de négociation à des solutions de commerçants virtuels offrant aux opérateurs la plupart des fonctionnalités d'un plancher commercial Dans un endroit éloigné. Le secteur des services financiers est l'un des plus exigeants en termes de besoins informatiques. L'industrie connaît une transformation architecturale vers l'architecture orientée services (SOA), les services Web et la virtualisation des ressources informatiques. SOA profite de l'augmentation de la vitesse du réseau pour permettre la liaison dynamique et la virtualisation des composants logiciels. Cela permet de créer de nouvelles applications sans perdre l'investissement dans les systèmes et infrastructures existants. Le concept a le potentiel de révolutionner la manière dont l'intégration est faite, permettant des réductions significatives de la complexité et du coût d'une telle intégration (gigaspacesdownloadMerrilLynchGigaSpacesWP. pdf). Une autre tendance est la consolidation des serveurs dans les batteries de serveurs de datacenter, tandis que les pupitres de négoce n'ont que des extensions KVM et des clients ultra-légers (par exemple, les solutions SunRay et HP). Les réseaux métropolitains à grande vitesse permettent aux données de marché d'être multidiffusées entre différents emplacements, ce qui permet la virtualisation du marché. Architecture de haut niveau La figure 1 illustre l'architecture de haut niveau d'un environnement commercial. Le ticker et les moteurs de trading algorithmique sont situés dans le cluster de trading haute performance du data center de l'entreprise ou à l'échange. Les commerçants humains sont situés dans la zone des applications utilisateur final. Fonctionnellement, il existe deux composants d'application dans l'environnement commercial d'entreprise, les éditeurs et les abonnés. Le bus de messagerie fournit le chemin de communication entre les éditeurs et les abonnés. Il existe deux types de trafic spécifiques à un environnement commercial: Market DataCarries informations sur les prix des instruments financiers, des nouvelles et d'autres informations à valeur ajoutée telles que l'analyse. Il est unidirectionnel et très sensible à la latence, généralement livré sur UDP multicast. Il est mesuré en updatessec. Et en Mbps. Les données de marché proviennent d'un ou de plusieurs flux externes, provenant de fournisseurs de données de marché comme les bourses, les agrégateurs de données et les ECN. Chaque fournisseur a son propre format de données de marché. Les données sont reçues par des gestionnaires d'alimentation, des applications spécialisées qui normalisent et nettoient les données puis les envoient aux consommateurs de données, tels que les moteurs de prix, les applications de négociation algorithmique ou les commerçants humains. Les firmes de vente envoient également les données du marché à leurs clients, aux sociétés d'achat comme les fonds communs de placement, les hedge funds et les autres gestionnaires d'actifs. Certaines entreprises buy-side peuvent opter pour recevoir des flux directs des échanges, ce qui réduit la latence. Figure 1 Architecture de négociation pour une société SideSell côté Buy Il n'existe aucune norme de l'industrie pour les formats de données de marché. Chaque échange a son format propriétaire. Les fournisseurs de contenu financier tels que Reuters et Bloomberg regroupent différentes sources de données de marché, la normalisent et ajoutent des nouvelles ou des analyses. Des exemples d'alimentations consolidées sont RDF (Reuters Data Feed), RWF (Reuters Wire Format) et Bloomberg Professional Services Data. Les deux vendeurs ont publié des données de marché en temps réel qui sont moins traitées et moins analysées: Bloomberg B-Pipe Avec B-Pipe, Bloomberg désaccouple leur flux de données de marché de leur plate-forme de distribution parce qu'un terminal Bloomberg N'est pas nécessaire pour obtenir B-Pipe. Wombat et Reuters Feed Handlers ont annoncé leur soutien à B-Pipe. Une entreprise peut décider de recevoir des aliments directement à partir d'un échange pour réduire la latence. Les gains de vitesse de transmission peuvent être compris entre 150 millisecondes et 500 millisecondes. Ces aliments sont plus complexes et plus coûteux et l'entreprise doit construire et entretenir sa propre usine de ticker (financetechfeaturedshowArticle. jhtmlarticleID60404306). Commandes de transaction Ce type de trafic porte les métiers réels. Il est bidirectionnel et très sensible à la latence. Il est mesuré en messagessec. Et Mbps. Les ordres proviennent d'un côté d'achat ou d'une firme de côté de vente et sont envoyés à des lieux de négociation comme un échange ou ECN pour l'exécution. Le format le plus courant pour le transport d'ordres est FIX (Financial Information eXchangefixprotocol. org). Les applications qui gèrent les messages FIX sont appelées moteurs FIX et elles interfèrent avec les systèmes de gestion des commandes (OMS). Une optimisation de FIX est appelée FAST (Fix Adapted for Streaming), qui utilise un schéma de compression pour réduire la longueur du message et, en effet, réduire la latence. FAST s'adresse davantage à la fourniture de données de marché et a le potentiel de devenir une norme. FAST peut également être utilisé comme un schéma de compression pour les formats de données de marché propriétaires. Pour réduire la latence, les entreprises peuvent choisir d'établir un accès direct au marché (DMA). DMA est le processus automatisé de routage d'une commande de titres directement à un lieu d'exécution, évitant ainsi l'intervention d'un tiers (towergroupresearchcontentglossary. jsppage1ampglossaryId383). DMA nécessite une connexion directe au lieu d'exécution. Le bus de messagerie est un logiciel middleware de fournisseurs tels que Tibco, 29West, Reuters RMDS ou une plateforme open source telle que AMQP. Le bus de messagerie utilise un mécanisme fiable pour fournir des messages. Le transport peut se faire sur TCPIP (TibcoEMS, 29West, RMDS et AMQP) ou UDPmulticast (TibcoRV, 29West et RMDS). Un concept important dans la distribution des messages est le flux quottopique, qui est un sous-ensemble de données de marché définies par des critères tels que le symbole boursier, l'industrie ou un certain panier d'instruments financiers. Les abonnés rejoignent des groupes de sujets mappés sur un ou plusieurs sous-thèmes afin de ne recevoir que les informations pertinentes. Dans le passé, tous les commerçants ont reçu toutes les données du marché. Aux volumes actuels de trafic, ceci serait sous-optimal. Le réseau joue un rôle essentiel dans l'environnement commercial. Les données de marché sont acheminées vers le marché où les commerçants humains sont situés via un réseau à grande vitesse du campus ou de la région métropolitaine. La haute disponibilité et la faible latence, ainsi que le haut débit, sont les métriques les plus importantes. L'environnement commercial hautement performant possède la plupart de ses composants dans la batterie de serveurs du centre de données. Pour minimiser la latence, les moteurs de négoce algorithmique doivent être situés à proximité des gestionnaires de flux, des moteurs FIX et des systèmes de gestion des commandes. Un modèle de déploiement alternatif a les systèmes de négociation algorithmique situés à un échange ou un fournisseur de services avec une connectivité rapide à des échanges multiples. Modèles de déploiement Il existe deux modèles de déploiement pour une plate-forme de négociation haute performance. Les entreprises peuvent choisir d'avoir un mélange des deux: Data Center de l'entreprise de négoce (Figure 2) C'est le modèle traditionnel, où une plate-forme de négociation à part entière est développé et maintenu par l'entreprise avec des liens de communication à tous les sites de négociation. La latence varie en fonction de la vitesse des liens et du nombre de bonds entre l'entreprise et les sites. Figure 2 Modèle de déploiement traditionnel Co-implantation sur le lieu de négociation (échanges, fournisseurs de services financiers (FSP)) (Figure 3) La société de négoce déploie sa plate-forme de négociation automatisée le plus près possible des sites d'exécution pour minimiser la latence. Figure 3 Modèle de déploiement hébergé Architecture commerciale orientée services Nous proposons un cadre orienté services pour la construction de l'architecture commerciale de la prochaine génération. Cette approche fournit un cadre conceptuel et un chemin d'implémentation basé sur la modularisation et la minimisation des inter-dépendances. Ce cadre fournit aux entreprises une méthodologie pour: Évaluer leur état actuel en termes de services Donner la priorité aux services en fonction de leur valeur pour l'entreprise Développer la plate-forme de négociation à l'état souhaité en utilisant une approche modulaire L'architecture de négociation haute performance repose sur les services suivants, Définie par le cadre d'architecture des services représenté à la figure 4. Figure 4 Architecture de service Architecture pour le service de messagerie haute latence ultra-faible Service Ce service est fourni par le bus de messagerie, qui est un système logiciel qui résout le problème de connexion many - Nombreuses applications. Le système se compose de: Un ensemble de schémas de messages prédéfinis Un ensemble de messages de commande communs Une infrastructure d'application partagée pour envoyer les messages aux destinataires. L'infrastructure partagée peut être basée sur un courtier de messages ou sur un modèle publishsubscribe. Les principales exigences pour le bus de messagerie de la prochaine génération sont (source 29West): La plus faible latence possible (par exemple moins de 100 microsecondes) Stabilité sous charge lourde (par exemple plus de 1,4 million de msgs) Contrôle et flexibilité (contrôle de débit et transports configurables) Sont des efforts dans l'industrie pour normaliser le bus de messagerie. Advanced Message Queuing Protocol (AMQP) est un exemple d'un standard ouvert défendu par J. P. Morgan Chase et soutenu par un groupe de fournisseurs tels que Cisco, Envoy Technologies, Red Hat, TWIST Process Innovations, Iona, 29West et iMatix. Deux des principaux objectifs sont de fournir un chemin plus simple à l'interopérabilité pour les applications écrites sur différentes plates-formes et la modularité de sorte que le middleware peut être facilement évolué. En termes très généraux, un serveur AMQP est analogue à un serveur de courrier électronique, chaque échange agissant comme un agent de transfert de messages et chaque file d'attente de messages comme une boîte aux lettres. Les liaisons définissent les tables de routage dans chaque agent de transfert. Les éditeurs envoient des messages à des agents de transfert individuels, qui acheminent ensuite les messages dans des boîtes aux lettres. Les consommateurs prennent les messages des boîtes aux lettres, ce qui crée un modèle puissant et flexible qui est simple (source: amqp. orgtikiwikitiki-index. phppageOpenApproachWhyAMQP). Latence Monitoring Service Les principales exigences de ce service sont: Granularité sous-milliseconde des mesures Visibilité quasi-temps réel sans ajout de latence au trafic commercial Capacité de différencier la latence du traitement des applications de la latence du réseau Capacité de gérer les taux de messages élevés Fournir une interface programmatique pour Les applications de négociation pour recevoir des données de latence, ce qui permet aux moteurs de négociation algorithmique de s'adapter aux conditions changeantes Corréler les événements de réseau avec les événements d'application à des fins de dépannage La latence peut être définie comme l'intervalle de temps entre un ordre commercial est envoyé et quand le même ordre est reconnu et agi Par la partie destinataire. Aborder la question de la latence est un problème complexe, exigeant une approche holistique qui identifie toutes les sources de latence et applique différentes technologies à différentes couches du système. La figure 5 représente la variété de composants qui peuvent introduire une latence à chaque couche de la pile OSI. Il mappe également chaque source de latence avec une solution possible et une solution de surveillance. Cette approche stratifiée peut donner aux entreprises un moyen plus structuré d'attaquer le problème de latence, chaque composant pouvant être considéré comme un service et traité de façon cohérente à travers l'entreprise. Le maintien d'une mesure précise de l'état dynamique de cet intervalle de temps sur des itinéraires et destinations alternatifs peut être d'une grande aide dans les décisions commerciales tactiques. La capacité d'identifier l'emplacement exact des retards, que ce soit dans le réseau périphérique des clients, le concentrateur de traitement central ou le niveau d'application de transaction, détermine de façon significative la capacité des fournisseurs de services à respecter leurs ententes de niveau de service de négociation (SLA). Pour les formulaires d'achat et de vente, ainsi que pour les syndicateurs de données de marché, l'identification rapide et l'élimination des goulets d'étranglement se traduisent directement par des opportunités commerciales accrues et des revenus. Figure 5 Architecture de gestion de latence Outils de surveillance de faible latence de Cisco Les outils de surveillance de réseau traditionnels fonctionnent avec des minutes ou des secondes de granularité. Les plates-formes de négociation de la prochaine génération, en particulier celles qui supportent le trading algorithmique, nécessitent des latences inférieures à 5 ms et des niveaux extrêmement faibles de perte de paquets. Sur un réseau local Gigabit, une microburst de 100 ms peut entraîner la perte ou le retard excessif de 10 000 transactions. Cisco offre à ses clients un choix d'outils pour mesurer la latence dans un environnement commercial: Gestionnaire de la qualité de bande passante (BQM) (OEM de Corvil) Un produit de gestion de la performance des applications réseau de nouvelle génération qui permet aux clients de surveiller et de fournir à leur réseau des niveaux contrôlés de latence et de performances de perte. Bien que BQM ne soit pas exclusivement ciblé sur les réseaux commerciaux, sa visibilité en microseconde combinée à des fonctions intelligentes de provisionnement de bande passante en font un outil idéal pour ces environnements exigeants. Cisco BQM 4.0 met en œuvre un large ensemble de technologies de mesure du trafic et d'analyse de réseau brevetées et en instance de brevet qui donnent à l'utilisateur une visibilité et une compréhension sans précédent de la façon d'optimiser le réseau pour une performance maximale des applications. Cisco BQM est désormais pris en charge par la famille de produits Cisco Application Deployment Engine (ADE). La gamme de produits Cisco ADE est la plate-forme de choix pour les applications de gestion de réseau Cisco. BQM Avantages La micro-visibilité Cisco BQM est la capacité de détecter, mesurer et analyser la latence, la gigue et la perte induisant des événements de trafic jusqu'à des niveaux de microseconde de granularité avec une résolution par paquet. Cela permet à Cisco BQM de détecter et de déterminer l'impact des événements de trafic sur la latence du réseau, la gigue et la perte. Le plus important pour les environnements de négociation est que BQM peut prendre en charge les mesures de latence, de perte et de gigue unidirectionnelles pour le trafic TCP et UDP (multicast). Cela signifie qu'il rend compte de manière transparente pour le trafic commercial et les flux de données du marché. BQM permet à l'utilisateur de spécifier un ensemble complet de seuils (contre l'activité microburst, latence, perte, gigue, utilisation, etc.) sur toutes les interfaces. BQM exploite alors une capture de paquets de roulage de fond. Chaque fois qu'une violation de seuil ou un autre événement de dégradation de performance potentiel se produit, il déclenche Cisco BQM pour stocker la capture de paquets sur le disque pour une analyse ultérieure. Cela permet à l'utilisateur d'examiner en détail le trafic d'application qui a été affecté par la dégradation des performances (quotthe victimes) et le trafic qui a causé la dégradation des performances (quotthe culpritsquot). Cela peut considérablement réduire le temps passé à diagnostiquer et à résoudre les problèmes de performances réseau. BQM est également en mesure de fournir des recommandations détaillées sur la fourniture de la bande passante et de la qualité de service (QoS), que l'utilisateur peut appliquer directement pour obtenir les performances réseau souhaitées. Mesures BQM illustrées Pour comprendre la différence entre certaines des techniques de mesure les plus conventionnelles et la visibilité fournie par BQM, nous pouvons examiner certains graphiques de comparaison. Dans le premier ensemble de graphiques (Figure 6 et Figure 7), nous voyons la différence entre la latence mesurée par le BQMs Passive Network Quality Monitor (PNQM) et la latence mesurée en injectant des paquets ping toutes les 1 seconde dans le flux de trafic. Dans la figure 6, nous voyons la latence signalée par des paquets de ping ICMP d'une seconde pour le trafic réseau réel (elle est divisée par 2 pour donner une estimation du délai unidirectionnel). Il montre le retard confortablement au-dessous d'environ 5 ms pour presque tout le temps. Figure 6 Latence signalée par des paquets de ping ICMP de 1 seconde pour le trafic réseau réel La figure 7 montre la latence signalée par PNQM pour le même trafic en même temps. Ici, nous voyons que, en mesurant la latence unidirectionnelle des paquets d'application réelle, nous obtenons une image radicalement différente. Ici, la latence est observée autour de 20 ms, avec des éclats occasionnels bien plus élevés. L'explication est que parce que ping est envoyer des paquets seulement chaque seconde, il est complètement absent la plupart de la latence du trafic d'application. En fait, les résultats de ping indiquent généralement un délai de propagation aller-retour plutôt qu'une latence d'application réaliste sur le réseau. Figure 7 Latence signalée par PNQM pour le trafic réseau réel Dans le deuxième exemple (Figure 8), nous voyons la différence entre les niveaux de charge ou de saturation des liens signalés entre une vue moyenne de 5 minutes et une vue de microburst de 5 ms (BQM peut signaler des microbursts vers le bas À environ 10 à 100 nanosecondes de précision). La ligne verte indique que l'utilisation moyenne à des moyennes de 5 minutes est faible, peut-être jusqu'à 5 Mbits. Le tracé bleu foncé montre l'activité microburst de 5 ms atteignant entre 75 Mbits et 100 Mbits, la vitesse du LAN efficacement. BQM montre ce niveau de granularité pour toutes les applications et il fournit également des règles de provisionnement claires pour permettre à l'utilisateur de contrôler ou de neutraliser ces micro-rafales. Figure 8 Différence de la charge de lien rapportée entre une vue moyenne de 5 minutes et une vue de microburst de 5 ms Déploiement de BQM dans le réseau de négociation La figure 9 montre un déploiement de BQM typique dans un réseau de négociation. Figure 9 Déploiement typique de BQM dans un réseau commercial BQM peut alors être utilisé pour répondre à ces types de questions: Est-ce que l'un de mes liens de réseau local Gigabit saturé pendant plus de X millisecondes est-ce causant la perte Quels liaisons bénéficieront le plus d'une mise à niveau vers Etherchannel ou 10 Gigabit Vitesses Quelle application du trafic provoque la saturation de mon 1 Gigabit liens Est-ce que l'une des données du marché subissant une perte de bout en bout Quelle latence supplémentaire fait l'expérience du centre de données de basculement Ce lien est-il correctement dimensionné pour faire face aux micro - Obtenir des mises à jour de faible latence de la couche de distribution de données du marché Sont-ils voir des retards de plus de X millisecondes Être capable de répondre à ces questions simplement et efficacement économise du temps et de l'argent dans le fonctionnement du réseau commercial. BQM est un outil essentiel pour gagner en visibilité sur les données de marché et les environnements commerciaux. Il fournit des mesures granulaires de latence de bout en bout dans des infrastructures complexes qui subissent des mouvements de données à fort volume. La détection efficace des micro-rafales dans les niveaux inférieurs à la milliseconde et la réception d'analyses d'experts sur un événement particulier sont d'une valeur inestimable pour les architectes. Les recommandations relatives à la répartition intelligente de la bande passante, telles que le dimensionnement et l'analyse de simulation, fournissent une plus grande agilité pour répondre aux conditions de marché volatiles. Au fur et à mesure que l'explosion du trading algorithmique et l'augmentation des taux de messages se poursuivent, BQM, combiné à son outil QoS, offre la possibilité de mettre en œuvre des politiques QoS qui peuvent protéger les applications commerciales critiques. Solution de surveillance de la latence des services financiers de Cisco Cisco et Trading Metrics ont collaboré à des solutions de surveillance de la latence pour le flux d'ordres FIX et la surveillance des données du marché. La technologie Cisco AON est le fondement d'une nouvelle classe de produits et de solutions intégrés au réseau qui permettent de fusionner des réseaux intelligents avec une infrastructure d'applications basée sur des architectures orientées services ou traditionnelles. Trading Metrics est l'un des principaux fournisseurs de logiciels d'analyse pour l'infrastructure réseau et le suivi de la latence des applications (tradingmetrics). La solution de surveillance de la latence des services financiers Cisco AON (FSMS) a corrélé deux types d'événements au point d'observation: Événements de réseau corrélés directement à la gestion des messages d'application coïncidents Réseau, l'analyse en temps réel de ces flux de données corrélés permet une identification précise des goulets d'étranglement à travers l'infrastructure tandis qu'un commerce est en cours d'exécution ou des données du marché est distribué. En surveillant et en mesurant les temps de latence au début du cycle, les sociétés financières peuvent prendre de meilleures décisions quant à quel service de réseau et quel intermédiaire, marché ou contrepartie choisir pour acheminer les ordres de négociation. De même, ces connaissances permettent un accès simplifié aux données de marché mises à jour (cotations boursières, nouvelles économiques, etc.), qui constitue une base importante pour lancer, se retirer ou poursuivre des débouchés commerciaux. Les composants de la solution sont: le matériel AON sous trois formes: module AON Network pour les routeurs Cisco 2600280037003800 AON Blade pour le Cisco Catalyst 6500 série AON 8340 Appliance Trading Metrics Le logiciel MampA 2.0, qui fournit l'application de surveillance et d'alerte, affiche des graphiques de latence sur Un tableau de bord et émet des alertes lorsque des ralentissements se produisent (tradingmetricsTMbrochure. pdf). Cisco IP SLA est un outil intégré de gestion de réseau dans Cisco IOS qui permet aux routeurs et aux commutateurs de générer des flux de trafic synthétiques qui peuvent être mesurés pour la latence, la gigue, la perte de paquets et d'autres critères (ciscogoipsla ). Deux concepts clés sont la source du trafic généré et la cible. Both of these run an IP SLA quotresponder, quot which has the responsibility to timestamp the control traffic before it is sourced and returned by the target (for a round trip measurement). Various traffic types can be sourced within IP SLA and they are aimed at different metrics and target different services and applications. The UDP jitter operation is used to measure one-way and round-trip delay and report variations. As the traffic is time stamped on both sending and target devices using the responder capability, the round trip delay is characterized as the delta between the two timestamps. A new feature was introduced in IOS 12.3(14)T, IP SLA Sub Millisecond Reporting, which allows for timestamps to be displayed with a resolution in microseconds, thus providing a level of granularity not previously available. This new feature has now made IP SLA relevant to campus networks where network latency is typically in the range of 300-800 microseconds and the ability to detect trends and spikes (brief trends) based on microsecond granularity counters is a requirement for customers engaged in time-sensitive electronic trading environments. As a result, IP SLA is now being considered by significant numbers of financial organizations as they are all faced with requirements to: Report baseline latency to their users Trend baseline latency over time Respond quickly to traffic bursts that cause changes in the reported latency Sub-millisecond reporting is necessary for these customers, since many campus and backbones are currently delivering under a second of latency across several switch hops. Electronic trading environments have generally worked to eliminate or minimize all areas of device and network latency to deliver rapid order fulfillment to the business. Reporting that network response times are quotjust under one millisecondquot is no longer sufficient the granularity of latency measurements reported across a network segment or backbone need to be closer to 300-800 micro-seconds with a degree of resolution of 100 igrave seconds. IP SLA recently added support for IP multicast test streams, which can measure market data latency. A typical network topology is shown in Figure 11 with the IP SLA shadow routers, sources, and responders. Figure 11 IP SLA Deployment Computing Services Computing services cover a wide range of technologies with the goal of eliminating memory and CPU bottlenecks created by the processing of network packets. Trading applications consume high volumes of market data and the servers have to dedicate resources to processing network traffic instead of application processing. Transport processingAt high speeds, network packet processing can consume a significant amount of server CPU cycles and memory. An established rule of thumb states that 1Gbps of network bandwidth requires 1 GHz of processor capacity (source Intel white paper on IO acceleration inteltechnologyioacceleration306517.pdf ). Intermediate buffer copyingIn a conventional network stack implementation, data needs to be copied by the CPU between network buffers and application buffers. This overhead is worsened by the fact that memory speeds have not kept up with increases in CPU speeds. For example, processors like the Intel Xeon are approaching 4 GHz, while RAM chips hover around 400MHz (for DDR 3200 memory) (source Intel inteltechnologyioacceleration306517.pdf ). Context switchingEvery time an individual packet needs to be processed, the CPU performs a context switch from application context to network traffic context. This overhead could be reduced if the switch would occur only when the whole application buffer is complete. Figure 12 Sources of Overhead in Data Center Servers TCP Offload Engine (TOE)Offloads transport processor cycles to the NIC. Moves TCPIP protocol stack buffer copies from system memory to NIC memory. Remote Direct Memory Access (RDMA)Enables a network adapter to transfer data directly from application to application without involving the operating system. Eliminates intermediate and application buffer copies (memory bandwidth consumption). Kernel bypass Direct user-level access to hardware. Dramatically reduces application context switches. Figure 13 RDMA and Kernel Bypass InfiniBand is a point-to-point (switched fabric) bidirectional serial communication link which implements RDMA, among other features. Cisco offers an InfiniBand switch, the Server Fabric Switch (SFS): ciscoapplicationpdfenusguestnetsolns500c643cdccont0900aecd804c35cb. pdf. Figure 14 Typical SFS Deployment Trading applications benefit from the reduction in latency and latency variability, as proved by a test performed with the Cisco SFS and Wombat Feed Handlers by Stac Research: Application Virtualization Service De-coupling the application from the underlying OS and server hardware enables them to run as network services. One application can be run in parallel on multiple servers, or multiple applications can be run on the same server, as the best resource allocation dictates. This decoupling enables better load balancing and disaster recovery for business continuance strategies. The process of re-allocating computing resources to an application is dynamic. Using an application virtualization system like Data Synapses GridServer, applications can migrate, using pre-configured policies, to under-utilized servers in a supply-matches-demand process (networkworldsupp2005ndc1022105virtual. htmlpage2 ). There are many business advantages for financial firms who adopt application virtualization: Faster time to market for new products and services Faster integration of firms following merger and acquisition activity Increased application availability Better workload distribution, which creates more quothead roomquot for processing spikes in trading volume Operational efficiency and control Reduction in IT complexity Currently, application virtualization is not used in the trading front-office. One use-case is risk modeling, like Monte Carlo simulations. As the technology evolves, it is conceivable that some the trading platforms will adopt it. Data Virtualization Service To effectively share resources across distributed enterprise applications, firms must be able to leverage data across multiple sources in real-time while ensuring data integrity. With solutions from data virtualization software vendors such as Gemstone or Tangosol (now Oracle), financial firms can access heterogeneous sources of data as a single system image that enables connectivity between business processes and unrestrained application access to distributed caching. The net result is that all users have instant access to these data resources across a distributed network (gridtoday030210101061.html ). This is called a data grid and is the first step in the process of creating what Gartner calls Extreme Transaction Processing (XTP) (gartnerDisplayDocumentrefgsearchampid500947 ). Technologies such as data and applications virtualization enable financial firms to perform real-time complex analytics, event-driven applications, and dynamic resource allocation. One example of data virtualization in action is a global order book application. An order book is the repository of active orders that is published by the exchange or other market makers. A global order book aggregates orders from around the world from markets that operate independently. The biggest challenge for the application is scalability over WAN connectivity because it has to maintain state. Todays data grids are localized in data centers connected by Metro Area Networks (MAN). This is mainly because the applications themselves have limitsthey have been developed without the WAN in mind. Figure 15 GemStone GemFire Distributed Caching Before data virtualization, applications used database clustering for failover and scalability. This solution is limited by the performance of the underlying database. Failover is slower because the data is committed to disc. With data grids, the data which is part of the active state is cached in memory, which reduces drastically the failover time. Scaling the data grid means just adding more distributed resources, providing a more deterministic performance compared to a database cluster. Multicast Service Market data delivery is a perfect example of an application that needs to deliver the same data stream to hundreds and potentially thousands of end users. Market data services have been implemented with TCP or UDP broadcast as the network layer, but those implementations have limited scalability. Using TCP requires a separate socket and sliding window on the server for each recipient. UDP broadcast requires a separate copy of the stream for each destination subnet. Both of these methods exhaust the resources of the servers and the network. The server side must transmit and service each of the streams individually, which requires larger and larger server farms. On the network side, the required bandwidth for the application increases in a linear fashion. For example, to send a 1 Mbps stream to 1000recipients using TCP requires 1 Gbps of bandwidth. IP multicast is the only way to scale market data delivery. To deliver a 1 Mbps stream to 1000 recipients, IP multicast would require 1 Mbps. The stream can be delivered by as few as two serversone primary and one backup for redundancy. There are two main phases of market data delivery to the end user. In the first phase, the data stream must be brought from the exchange into the brokerages network. Typically the feeds are terminated in a data center on the customer premise. The feeds are then processed by a feed handler, which may normalize the data stream into a common format and then republish into the application messaging servers in the data center. The second phase involves injecting the data stream into the application messaging bus which feeds the core infrastructure of the trading applications. The large brokerage houses have thousands of applications that use the market data streams for various purposes, such as live trades, long term trending, arbitrage, etc. Many of these applications listen to the feeds and then republish their own analytical and derivative information. For example, a brokerage may compare the prices of CSCO to the option prices of CSCO on another exchange and then publish ratings which a different application may monitor to determine how much they are out of synchronization. Figure 16 Market Data Distribution Players The delivery of these data streams is typically over a reliable multicast transport protocol, traditionally Tibco Rendezvous. Tibco RV operates in a publish and subscribe environment. Each financial instrument is given a subject name, such as CSCO. last. Each application server can request the individual instruments of interest by their subject name and receive just a that subset of the information. This is called subject-based forwarding or filtering. Subject-based filtering is patented by Tibco. A distinction should be made between the first and second phases of market data delivery. The delivery of market data from the exchange to the brokerage is mostly a one-to-many application. The only exception to the unidirectional nature of market data may be retransmission requests, which are usually sent using unicast. The trading applications, however, are definitely many-to-many applications and may interact with the exchanges to place orders. Figure 17 Market Data Architecture Design Issues Number of GroupsChannels to Use Many application developers consider using thousand of multicast groups to give them the ability to divide up products or instruments into small buckets. Normally these applications send many small messages as part of their information bus. Usually several messages are sent in each packet that are received by many users. Sending fewer messages in each packet increases the overhead necessary for each message. In the extreme case, sending only one message in each packet quickly reaches the point of diminishing returnsthere is more overhead sent than actual data. Application developers must find a reasonable compromise between the number of groups and breaking up their products into logical buckets. Consider, for example, the Nasdaq Quotation Dissemination Service (NQDS). The instruments are broken up alphabetically: This approach allows for straight forward networkapplication management, but does not necessarily allow for optimized bandwidth utilization for most users. A user of NQDS that is interested in technology stocks, and would like to subscribe to just CSCO and INTL, would have to pull down all the data for the first two groups of NQDS. Understanding the way users pull down the data and then organize it into appropriate logical groups optimizes the bandwidth for each user. In many market data applications, optimizing the data organization would be of limited value. Typically customers bring in all data into a few machines and filter the instruments. Using more groups is just more overhead for the stack and does not help the customers conserve bandwidth. Another approach might be to keep the groups down to a minimum level and use UDP port numbers to further differentiate if necessary. The other extreme would be to use just one multicast group for the entire application and then have the end user filter the data. In some situations this may be sufficient. Intermittent Sources A common issue with market data applications are servers that send data to a multicast group and then go silent for more than 3.5 minutes. These intermittent sources may cause trashing of state on the network and can introduce packet loss during the window of time when soft state and then hardware shorts are being created. PIM-Bidir or PIM-SSM The first and best solution for intermittent sources is to use PIM-Bidir for many-to-many applications and PIM-SSM for one-to-many applications. Both of these optimizations of the PIM protocol do not have any data-driven events in creating forwarding state. That means that as long as the receivers are subscribed to the streams, the network has the forwarding state created in the hardware switching path. Intermittent sources are not an issue with PIM-Bidir and PIM-SSM. Null Packets In PIM-SM environments a common method to make sure forwarding state is created is to send a burst of null packets to the multicast group before the actual data stream. The application must efficiently ignore these null data packets to ensure it does not affect performance. The sources must only send the burst of packets if they have been silent for more than 3 minutes. A good practice is to send the burst if the source is silent for more than a minute. Many financials send out an initial burst of traffic in the morning and then all well-behaved sources do not have problems. Periodic Keepalives or Heartbeats An alternative approach for PIM-SM environments is for sources to send periodic heartbeat messages to the multicast groups. This is a similar approach to the null packets, but the packets can be sent on a regular timer so that the forwarding state never expires. S, G Expiry Timer Finally, Cisco has made a modification to the operation of the S, G expiry timer in IOS. There is now a CLI knob to allow the state for a S, G to stay alive for hours without any traffic being sent. The (S, G) expiry timer is configurable. This approach should be considered a workaround until PIM-Bidir or PIM-SSM is deployed or the application is fixed. RTCP Feedback A common issue with real time voice and video applications that use RTP is the use of RTCP feedback traffic. Unnecessary use of the feedback option can create excessive multicast state in the network. If the RTCP traffic is not required by the application it should be avoided. Fast Producers and Slow Consumers Today many servers providing market data are attached at Gigabit speeds, while the receivers are attached at different speeds, usually 100Mbps. This creates the potential for receivers to drop packets and request re-transmissions, which creates more traffic that the slowest consumers cannot handle, continuing the vicious circle. The solution needs to be some type of access control in the application that limits the amount of data that one host can request. QoS and other network functions can mitigate the problem, but ultimately the subscriptions need to be managed in the application. Tibco Heartbeats TibcoRV has had the ability to use IP multicast for the heartbeat between the TICs for many years. However, there are some brokerage houses that are still using very old versions of TibcoRV that use UDP broadcast support for the resiliency. This limitation is often cited as a reason to maintain a Layer 2 infrastructure between TICs located in different data centers. These older versions of TibcoRV should be phased out in favor of the IP multicast supported versions. Multicast Forwarding Options PIM Sparse Mode The standard IP multicast forwarding protocol used today for market data delivery is PIM Sparse Mode. It is supported on all Cisco routers and switches and is well understood. PIM-SM can be used in all the network components from the exchange, FSP, and brokerage. There are, however, some long-standing issues and unnecessary complexity associated with a PIM-SM deployment that could be avoided by using PIM-Bidir and PIM-SSM. These are covered in the next sections. The main components of the PIM-SM implementation are: PIM Sparse Mode v2 Shared Tree (spt-threshold infinity) A design option in the brokerage or in the exchange. High frequency trading system design and process management High frequency trading system design and process management Advisor: Roy E. Welsch. Département: Conception et gestion du système. Éditeur: Massachusetts Institute of Technology Date d'émission: 2009 Les entreprises de négoce de nos jours sont fortement tributaires de l'exploration de données, la modélisation informatique et le développement de logiciels. Les analystes financiers exécutent de nombreuses tâches similaires à celles des logiciels et des industries manufacturières. Cependant, l'industrie des finances n'a pas encore adopté pleinement les cadres de conception et les approches de gestion des procédés qui ont été couronnés de succès dans les industries des logiciels et de la fabrication. De nombreuses méthodologies traditionnelles pour la conception de produits, le contrôle de la qualité, l'innovation systématique et l'amélioration continue dans les disciplines d'ingénierie peuvent être appliquées dans le domaine des finances. Cette thèse montre comment les connaissances acquises dans les disciplines d'ingénierie peuvent améliorer la conception et la gestion des processus des systèmes de négociation haute fréquence. Les systèmes de négociation à haute fréquence sont basés sur le calcul. Ces systèmes sont des systèmes logiciels automatiques ou semi-automatiques qui sont intrinsèquement complexes et nécessitent un degré élevé de précision de conception. La conception d'un système de négociation à haute fréquence relie plusieurs domaines, y compris la finance quantitative, la conception de systèmes et l'ingénierie logicielle. Dans le secteur de la finance, où les théories mathématiques et les modèles commerciaux sont relativement bien étudiés, la capacité de mettre en œuvre ces modèles dans les pratiques commerciales réelles est l'un des éléments clés de la compétitivité des entreprises d'investissement. (Suite) Cette thèse fournit une étude détaillée composée de haute fréquence de conception de systèmes de négociation, la modélisation du système et les principes, et la gestion des processus Pour le développement de systèmes. Un accent particulier est mis sur le backtesting et l'optimisation, qui sont considérés comme les éléments les plus importants dans la construction d'un système commercial. Cette recherche construit des modèles d'ingénierie système qui guident le processus de développement. Elle utilise également des systèmes de négociation expérimentale pour vérifier et valider les principes traités dans cette thèse. Enfin, cette thèse conclut que les principes et les cadres d'ingénierie des systèmes peuvent être la clé du succès de la mise en œuvre de systèmes de négociation à haute fréquence ou d'investissements quantitatifs. Thèse (S. M.) - Institut de technologie du Massachusetts, programme de conception et de gestion des systèmes, 2009. Catalogué à partir de la version PDF de la thèse. Comprend des références bibliographiques (p 78-79). Mots-clés: Programme de conception et de gestion des systèmes. Mon compte


No comments:

Post a Comment