Saturday, 30 September 2017

High Frequency Trading Systems Architecture


Hochfrequenz-Trading-System-Design und Prozess-Management Hochfrequenz-Trading-System-Design und Prozess-Management Berater: Roy E. Welsch. Abteilung: Systemdesign und Managementprogramm. Herausgeber: Massachusetts Institute of Technology Datum der Herausgabe: 2009 Handelsunternehmen sind heutzutage sehr stark auf Data Mining, Computermodellierung und Softwareentwicklung angewiesen. Financial Analysts erfüllen viele ähnliche Aufgaben wie die in der Software-und Fertigungsindustrie. Allerdings hat die Finanzbranche noch nicht in vollem Umfang verabschiedet High-Standard-Systeme Engineering-Frameworks und Prozess-Management-Ansätze, die erfolgreich in der Software-und Fertigungsindustrie waren. Viele der traditionellen Methoden des Produktdesigns, der Qualitätskontrolle, der systematischen Innovation und der kontinuierlichen Verbesserung, die in Ingenieurdisziplinen gefunden werden, können auf den Finanzbereich angewendet werden. Diese Arbeit zeigt, wie das Wissen, das aus Ingenieurdisziplinen erworben wurde, das Design - und Prozessmanagement von Hochfrequenz-Handelssystemen verbessern kann. Hochfrequenz-Handelssysteme sind rechnerisch. Diese Systeme sind automatische oder halbautomatische Softwaresysteme, die von Natur aus komplex sind und ein hohes Maß an Konstruktionsgenauigkeit erfordern. Der Entwurf eines Hochfrequenz-Handelssystems verbindet mehrere Felder, darunter quantitative Finanzen, Systemdesign und Software-Engineering. In der Finanzbranche, wo mathematische Theorien und Handelsmodelle relativ gut recherchiert sind, ist die Fähigkeit, diese Entwürfe in echten Handelspraktiken umzusetzen, eines der Schlüsselelemente der Wettbewerbsfähigkeit einer Wertpapierfirma. Die Fähigkeit, Investmentideen effizient und effizient in leistungsfähige Handelssysteme zu verwandeln, kann einer Investmentfirma einen enormen Wettbewerbsvorteil verschaffen. (Fortsetzung) Diese Diplomarbeit enthält eine detaillierte Studie, die sich aus Hochfrequenzsystemen, Systemmodellen und - grundsätzen sowie Prozessmanagement zusammensetzt Für die Systementwicklung. Besonderes Augenmerk wird auf Backtesting und Optimierung gelegt, die als die wichtigsten Bestandteile beim Aufbau eines Handelssystems gelten. Diese Forschung baut System-Engineering-Modelle, die den Entwicklungsprozess zu führen. Es verwendet auch experimentelle Handelssysteme zur Überprüfung und Validierung von Grundsätzen, die in dieser Arbeit behandelt werden. Schließlich kommt diese These zu dem Schluss, dass systemtechnische Grundlagen und Rahmenbedingungen der Schlüssel zum Erfolg für die Implementierung hochfrequenter Handelssysteme oder quantitativer Investitionssysteme sein können. Thesis (S. M.) - Massachusetts Institut für Technologie, System Design und Management-Programm, 2009. Cataloged aus PDF-Version der Arbeit. Enthält bibliographische Hinweise (S. 78-79). Schlüsselwörter: System Design and Management Program. Mein AccountHow macht eine algorithmische Trading-System-Architektur aussehen Es gibt tatsächlich nur 3 große Blöcke in einem Algo-Trading-System. 1. Market Data Handler (z. B. FAST-Handler) 2. Strategie-Modul (z. B. crossOver-Strategie) 3. Order Router (z. B. FIX Router) können Sie Risikotests entweder am Strategy Module oder dem Order Router Module oder beides hinzufügen. So lange Ihr Datenfluss ist richtig, sollten Sie gut zu gehen. Denken Sie daran, dass Sie ein ATS für minimale Latenz entwerfen, und das Hinzufügen von mehr Ebenen oder Komplexität wird auf Kosten der Latenz kommen. Minimal ATS-Architektur Und wenn Sie die Glocken und Pfeifen hinzufügen, würde es wie die folgenden aussehen: Wenn Sie auch an der Nitty-Gritty der Umsetzung der oben genannten Architektur interessiert sind, sollten Sie die folgenden Dinge im Auge behalten. Vermeiden Sie Schlösser / Mutexes. Wenn Sie es verwenden müssen, versuchen Sie es durch lockless Strukturen mit Atomkernen ersetzen. Es gibt mehrere Bibliotheken für locklose Datenstrukturen (z. B. libcds, Concurrency-Kit usw.). C-11 unterstützt std :: atomar. Und Sie sollten danach streben, sie zu benutzen. Vermeiden Sie, was in QuickFIX getan wird. Seine geschrieben für Sicherheit / Flexibilität / Wiederverwendbarkeit als Objekt (Sperren) Erstellung und Vernichtung wird für jeden Aufruf einer Nachricht an den Router durchgeführt. Sicherlich keine Möglichkeit, eine Latenz sensible Code schreiben. Keine Laufzeitspeicherbelegung. Laufzeitpfad sollte maßgeschneiderte und sperrenfreie Speicherverwaltung mit vorab zugewiesenem Speicherpool verwenden. Die gesamte Initialisierung kann in Konstruktoren durchgeführt werden. Feste Verbindung. Threading-Modell, I / O-Modell und Speicher-Management sollte so konzipiert, zusammen zu arbeiten, um eine optimale Gesamtleistung zu erzielen. Dies geht gegen das OOP-Konzept der losen Kopplung, aber es ist notwendig, um Laufzeitkosten des dynamischen Polymorphismus zu vermeiden. Verwenden Sie Vorlagen. In der gleichen Vene, würde ich auch vorschlagen, dass Sie auf C-Templatierung, um Flexibilität des Codes zu erreichen. OS / Hardware-Optimierung: Schließlich sollten Sie mit Linux RT Kernel und Solarflare Netzwerkkarte mit OpenOnLoad Treiber für minimale Latenz arbeiten zu arbeiten. Können Sie weiter schauen, um die CPU zu isolieren und führen Sie Ihr Programm auf, dass bestimmte Kern. Und schließlich die öffentliche API, die Sie benötigen, um strategischen Entwicklern auszusetzen. Ich möchte, dass dies die minimale Menge, die die gesamte Komplexität dieser bestimmten Austausch / Ziel wäre. (OrderInfo) 0 virtual bool sendRplOrd (OrderInfo) 0 virtualBut bedeutet, dass die OrderInfo-Klasse ALLE Angaben benötigen, die von der Destination / Exchange benötigt werden. In der Regel erfordert der Austausch die gleiche Art von Informationen, aber wie Sie entlang gehen und unterstützen mehr Börsen / Destinationen würden Sie sich fügen Sie mehr Variablen in dieser Klasse. Im Folgenden sind die wichtigsten Fragen / Herausforderungen, die Sie sich stellen müssen: 1. Multi-Prozess-Architektur oder Multi-Thread-Architektur. Ob ein monolithischer Prozess mit mehreren Threads zu bauen, oder schreiben Sie mehrere Prozesse. Die Kosten für mehrere Prozesse ist die Nachricht übergeben Latenz, während die Kosten für mehrere threaded einzigen Prozess ist, dass jeder Fehler kann das gesamte System zu senken. 2. Nachrichtenübergabe: Während Sie aus einer Vielzahl von Optionen wählen können, sind Sie durch Latenzbetrachtung eingeschränkt. Am schnellsten IPC wäre Shared Memory, aber dann, wie würden Sie tun, die Synchronisation verbringen einige Zeit mit diesen beiden Fragen, weil sie den Baustein, auf dem Ihre Architektur steht. Bearbeiten: FIX und FAST Bezüglich populäres / Standardprotokoll ist FIX zum Senden von Aufträgen und FAST für Marktdaten. Having said, dass die meisten Börsen haben ihre eigene native Protokoll, das schneller als FIX ist, weil FIX ist in der Regel auf der Oberseite ihres nativen Protokolls implementiert. Aber sie unterstützen immer noch FIX erhöht die Geschwindigkeit der Bereitstellung. Auf der anderen Seite, während FIX von den meisten Börsen übernommen wird, genießt FAST nicht so viel Akzeptanz. Wenn überhaupt, würde es nur eine Handvoll Austausch geben. Die meisten von ihnen senden entweder über FIX selbst (niedrige Latenzzeit) oder verwenden Sie ihre eigenen nativen binären Protokoll. z. B. In Indien, NSE, BSE und MCX / MCXSX, alle drei Börsen gibt Ihnen FIX-Protokoll zusätzlich zu nativen Protokoll, aber nur BSE gibt Ihnen FAST für Marktdaten. Und das ist auch von FAST auf native mit Einführung von EOBI. Können Sie die gleiche Sache an andere Börsen extrapolieren. Wie John erwähnt, ist OMS der Crux von jeder Handelsplattform und Sie sollten von der Erforschung darüber zu starten. Sie müssen Zeit verbringen, um Ihre Handelslebenszyklus, Ereignisse und Eigenschaften zu bestimmen, die Sie auf dem OMS einbetten möchten und die, die Sie Ihre Algo-Maschine behandeln möchten. Metcetera bietet eine Open-Source-OMS, ich haven039t verwendet es persönlich aber it039s einer der wenigen auf dem Markt. Die nächste Sache, die Sie betrachten sollte, ist die Bereitstellung einer Schnittstelle zu Quelldaten in und schieben Sie es aus. Dies ist für ein Kundenauftragseingabesystem, zum der Auftragsdetails zu werfen und Algo-Maschine, um sie zu versorgen. Eine Menge von Sell Side OMS039s verwenden eine Kombination von proprietären Programmen in Java / C mit FIX geschrieben. FIX-Protokoll ermöglicht es Ihnen, Echtzeit über Systeme in einem vereinfachten amp-vordefinierten Nachrichtenformat zu kommunizieren, das von der FIX-Protokollgemeinschaft festgelegt wird. Gehen Sie zu der FIX-Protokoll-Organisation gt Homepage, um mehr darüber zu lesen. Betrachtet auch Open Source FIX Engine. Eine Open-Source-Implementierung der FIX-Engine. Als nächstes kommt eine Marktdaten-Schnittstelle, um Echtzeit-Zeitsicherheits-Marktinformationen zu liefern, Daten, die von Hoch / Niedrig / Offen / Schließen bis Best Bid / Best Ask, Total gehandeltes Volumen, Letzter Preis, Letztes Volumen, Bid-Anführungszeichen, Sie suchen wirklich hängt von der Art der Strategie, die Sie implementieren möchten. Ich glaube, Interactive Broker bietet einen Echtzeit-Daten-Feed über FIX. Exchange-Konnektivität ist die nächste, wo Ihr Algo interpretiert die Signale, erstellen Sie eine Bestellung und Routen zu einem Exchange oder ECN. Entwickeln sie im eigenen Haus könnte hart sein, wie Sie benötigen, um auszutauschen Exchange-Mitgliedschaft, zertifizieren Sie Ihre Plattform und zahlen einen regulären Mitgliedsbeitrag. Ein billiger Weg ist, eine Broker-API (wie IB) zu verwenden und Route der Reihenfolge durch sie. Historische Daten sind ebenso von wesentlicher Bedeutung, wie man das aktuelle Marktverhalten mit seinen historischen Werten vergleichen möchte. Parameter wie durchschnittlicher Spread, VWAP-Profile, durchschnittliches Tagesvolumen usw. können erforderlich sein, um die Entscheidungsfindung zu beeinflussen. Sie können es auf Datenbank (bevorzugt), aber wenn Geschwindigkeit der Essenz dann laden Sie es auf dem Server-Cache, wenn Sie Ihr Programm beginnen. Sobald Ihre Peripherie-Systeme eingerichtet sind, können Sie die Entwicklung Ihrer Algo-Programm, wie Sie es funktionieren wollen. Diese grundlegende Infrastruktur ermöglicht es Ihnen, einen übergeordneten Algo-Auftrag einzugeben, Marktdaten zu lesen, auf die Signale zu reagieren, aber untergeordnete Aufträge zu generieren und sie auf das Austauschauftragsbuch und die historischen Daten zu setzen, um die Entscheidungsfindung zu beeinflussen. Das OMS hält die Verknüpfung zwischen der übergeordneten Amp-Kinderreihenfolge, deren Echtzeitstatus und Aktualisierungen durch die Algo - oder Exchange-Konnektivitätsplattform. HiFREQ ist eine leistungsstarke algorithmische Engine, die Händlern die Möglichkeit gibt, HFT-Strategien für Aktien, Futures, Optionen und Devisenhandel zu implementieren Ohne Zeit und Ressourcen in den Aufbau und die Pflege der eigenen Technologieinfrastruktur investieren zu müssen. Es bietet alle wesentlichen Komponenten, um den Durchsatz von Zehntausenden von Aufträgen pro Sekunde bei Sub-Millisekunden-Latenz zu erleichtern. HiFREQ kann unabhängig als eigenständige Black-Box-Trading-Lösung oder als Teil der InfoReach TMS-Handelsplattform für ein komplettes End-to-End-Handelssystem genutzt werden. Die offene, brokerneutrale Architektur ermöglicht es Benutzern, proprietäre, komplexe Handelsstrategien sowie Zugriffsalgorithmen von Brokern und anderen Drittanbietern zu erstellen und zu implementieren. Aufträge können zu jedem globalen Marktziel über InfoReachs interne Low-Latency FIX Engine geleitet werden. Multi-Asset Global Equities, Futures, Optionen und FX Risikocontrol HiFREQ bietet eine Risikobewertung jeder Auftragsanforderung und stellt die Einhaltung vorkonfigurierter firmenspezifischer Handelsbedingungen sicher. Broker neutral HiFREQ verbindet Sie mit den mehreren Brokern, Börsen und ECNs. Zentrale Überwachung und Steuerung Während Komponenten von HiFREQ auf verschiedene geografische Standorte verteilt werden können, können alle Performance - und Kontrollfunktionen der Strategie von einem zentralen, entfernten Standort aus durchgeführt werden. HiFREQ kann 20.000 Aufträge pro Sekunde pro FIX-Verbindung ausführen. Mit zwei oder mehr FIX-Verbindungen kann der Durchsatz erheblich gesteigert werden. Low Latency Die von dem Punkt HiFREQ gemessene Roundtrip-Latenz im Submillisekundenbereich erhält einen FIX-Ausführungsbericht an den Punkt, an dem HiFREQ das Senden einer FIX-Auftragsnachricht abschließt. Verteilt und skalierbar Um die Effizienz und Performance der Handelsstrategien zu erhöhen, können ihre Komponenten so konzipiert werden, dass sie gleichzeitig laufen. Strategiekomponenten können auch auf mehreren Servern bereitgestellt werden, die mit verschiedenen Ausführungsorten zusammengeführt werden können. Sie können nie stillstehen, denn egal, wie viele Tausende oder Millionen von Dollar Sie verbringen die Schaffung der Infrastruktur. InfoReach präsentiert High-Frequency Trading-Modul auf der FIA Expo Neueste InfoReach TMS Trading-Plattform können Unternehmen beschäftigen hochfrequenzalgorithmische Trading-Strategien Traders Magazine. InfoReach holt Händler, die schnell gehen Schnell InfoReach will kleineren Geschäften die Werkzeuge geben, um Hochfrequenzhändler zu sein. VERDRAHTET. Investigation: Das Geschäft des Hochfrequenzhandels InfoReach, ein auf Handelstechnologie spezialisiertes Unternehmen, verfügt über Plattformen, die mehr als 10.000 Bestellungen pro Sekunde ISS-MAG abwickeln können. Fünfzehn Jahre Wachstum für InfoReach InfoReach berichtet, dass der Unternehmensgewinn für das Jahr 2009 um 22 im Umsatz wuchs und verdoppelte seine Netto-Rentabilität

No comments:

Post a Comment