Hochfrequenz Trading System Architektur


Hochfrequenz-Trading-System-Design und Prozess-Management. Hochfrequenz Trading-System-Design und Prozess-Management. Tour Roy E Welsch. Department System Design und Management-Programm. Publisher Massachusetts Institute of Technology. Date Issue 2009.Trading Unternehmen heutzutage sind sehr abhängig von Data Mining, Computermodellierung und Softwareentwicklung Finanzanalysten führen viele ähnliche Aufgaben wie in der Software - und Fertigungsindustrie durch. Allerdings hat die Finanzbranche noch nicht vollständig standardisierte Systemtechnik-Frameworks und Prozessmanagementansätze verabschiedet, die in der Software - und Fertigungsindustrie erfolgreich waren Die traditionellen Methoden für Produktdesign, Qualitätskontrolle, systematische Innovation und kontinuierliche Verbesserung in Ingenieurdisziplinen können auf den Finanzbereich angewendet werden Diese Arbeit zeigt, wie das Wissen aus Ingenieurdisziplinen das Design und die Prozessmanagement von Hochfrequenz-Handelssystemen verbessern kann Frequenz-Handelssysteme sind berechnungsbasiert Diese Systeme sind automatische oder halbautomatische Softwaresysteme, die inhärent komplex sind und ein hohes Maß an Designgenauigkeit erfordern. Das Design eines Hochfrequenz-Handelssystems verbindet mehrere Felder, einschließlich quantitativer Finanzierung, Systemdesign und Software-Engineering In der Finanzbranche, in der mathematische Theorien und Handelsmodelle relativ gut recherchiert werden, ist die Fähigkeit, diese Entwürfe in realen Handelspraktiken umzusetzen, eines der Schlüsselelemente der Wettbewerbsfähigkeit der Wertpapierfirma. Die Fähigkeit, Investitionsideen effektiv in leistungsfähige Handelssysteme umzuwandeln Und effizient kann eine Investmentfirma einen enormen Wettbewerbsvorteil geben. Diese Arbeit bietet eine detaillierte Studie aus hochfrequentem Handelssystemdesign, Systemmodellierung und Prinzipien sowie Prozessmanagement für die Systementwicklung. Besonderes Augenmerk wird dabei auf Backtesting und Optimierung gelegt, Wichtigste Teile beim Aufbau eines Handelssystems Diese Forschung baut System-Engineering-Modelle, die den Entwicklungsprozess leiten. Es nutzt auch experimentelle Handelssysteme, um die in dieser Arbeit angesprochenen Prinzipien zu überprüfen und zu validieren. Schließlich kommt diese These zu dem Schluss, dass systemtechnische Prinzipien und Frameworks der Schlüssel zu sein können Erfolg für die Umsetzung von Hochfrequenzhandel oder quantitativen Anlage-Systemen. Thesis SM --Massachusetts Institut für Technologie, System Design und Management-Programm, 2009 katalogisiert aus PDF-Version der Arbeit Inklusive bibliographischen Referenzen p 78-79.Keywords System Design und Management-Programm. High - Frequency Trading - HFT. Was ist High-Frequency Trading - HFT. Hochfrequenz-Handel HFT ist eine Programm-Handelsplattform, die leistungsstarke Computer verwendet, um eine große Anzahl von Aufträgen mit sehr schnellen Geschwindigkeiten zu verarbeiten. Es nutzt komplexe Algorithmen, um mehrere Märkte zu analysieren und Aufträge auszuführen Basierend auf Marktbedingungen Typischerweise sind die Händler mit den schnellsten Ausführungsgeschwindigkeiten rentabler als Händler mit langsamen Ausführungsgeschwindigkeiten. BREAKING DOWN High-Frequency Trading - HFT. Hochfrequenz Handel wurde populär, als der Austausch begann, Anreize für Unternehmen zu bieten, um Liquidität hinzuzufügen Der Markt Zum Beispiel hat die New York Stock Exchange NYSE eine Gruppe von Liquiditätsanbietern namens Supplemental Liquidity Provider SLPs, die versucht, Wettbewerb und Liquidität für bestehende Anführungszeichen an der Börse hinzuzufügen Als Anreiz für Unternehmen zahlt die NYSE eine Gebühr oder Rabatt für die Bereitstellung Sagte Liquidität Im Juli 2016 betrug der durchschnittliche SLP-Rabatt 0 0019 für NYSE - und NYSE MKT-notierte Wertpapiere an NYSE Mit Millionen von Transaktionen pro Tag resultiert dies in einer großen Menge an Gewinnen Der SLP wurde nach dem Zusammenbruch von Lehman Brothers eingeführt 2008, als Liquidität war ein wichtiges Anliegen für Investoren. Benfits von HFT. Der große Vorteil von HFT ist es hat die Marktliquidität verbessert und entfernt Bid-Ask-Spreads, die zuvor zu klein gewesen wäre Dies wurde durch die Zugabe von Gebühren auf HFT getestet, und als Ein Ergebnis, Bid-Ask-Spreads erhöht Eine Studie beurteilt, wie kanadische Bid-Ask-Spreads geändert, wenn die Regierung eingeführt Gebühren auf HFT, und es wurde festgestellt, dass Bid-Ask-Spreads um 9 erhöht. Critiques von HFT. HFT ist umstritten und wurde erfüllt Mit einiger harter Kritik Es hat eine große Menge an Makler-Händlern ersetzt und verwendet mathematische Modelle und Algorithmen, um Entscheidungen zu treffen, die menschliche Entscheidung und Interaktion aus der Gleichung treffen Entscheidungen geschehen in Millisekunden, und dies könnte zu großen Marktbewegungen ohne Grund führen Beispiel, am 6. Mai 2010, der Dow Jones Industrial Average DJIA erlitt seinen größten Intraday-Point-Drop jemals, sank 1.000 Punkte und fiel 10 in nur 20 Minuten vor dem Aufstieg wieder Eine Regierungsuntersuchung beschuldigte eine massive Ordnung, die einen Sell-off für die auslöste Crash. Eine weitere Kritik an HFT ist es, dass große Unternehmen auf Kosten der kleinen Jungs oder der institutionellen und Privatanleger profitieren können. Eine weitere große Beschwerde über HFT ist die Liquidität von HFT ist die Liquidität der Ghost, dh es bietet Liquidität, die verfügbar ist Auf den Markt eine Sekunde und gegangen die nächste, Verhinderung der Händler aus tatsächlich in der Lage, diese Liquidität handeln. Es gibt eigentlich nur 3 große Blöcke in einem Algo Trading System 1 Market Data Handler zB FAST Handler 2 Strategie Modul zB crossOver Strategie 3 Order Router zB FIX Router. Sie können Risikokontrollen entweder auf dem Strategy Module oder dem Order Router Module oder beide So lange Ihr Datenfluss korrekt ist, sollten Sie gut zu gehen Denken Sie daran, Sie sind die Gestaltung eines ATS für minimale Latenz, und das Hinzufügen von mehr Schichten oder Komplexität Wird auf Kosten der Latenz kommen. Minimale ATS-Architektur. Und wenn Sie die Glocken und Pfeifen hinzufügen, würde es wie die folgenden aussehen. Wenn Sie sich auch für die nitty-gritty der Umsetzung der oben genannten Architektur interessiert sind, sollten Sie die folgenden halten Sachen im Verstand. Avoid schließt Mutexe Wenn Sie es verwenden müssen, versuchen Sie es mit lockless Strukturen mit Atomen zu ersetzen Es gibt mehrere Bibliotheken für lockless Datenstrukturen wie zB libcds, Concurrency Kit usw. C -11 unterstützt std atomic und Sie sollten danach streben Verwenden Sie sie auch Vermeiden Sie, was in QuickFIX getan ist Sein geschrieben für Sicherheit Flexibilität Wiederverwendbarkeit als Objekt Verschluss Schaffung und Zerstörung ist für jeden Anruf von jeder Nachricht an Router Sicherlich keine Möglichkeit, um eine Latenz sensible Code. No Laufzeit Speicher Zuweisung Laufzeitpfad sollte angepasst werden Und Lock-Free-Speicher-Management mit vorab zugewiesenen Speicher-Pool Alle Initialisierung kann in Konstruktoren durchgeführt werden. Tight-Kopplung Threading-Modell, IO-Modell und Speicher-Management sollte so konzipiert, um miteinander zusammenzuarbeiten, um beste Gesamtleistung zu erreichen Dies gilt gegen das OOP-Konzept Von lose Kopplung, aber es ist notwendig, um Laufzeit Kosten der dynamischen Polymorphismus zu vermeiden. Use Vorlagen In der gleichen Vene, würde ich auch vorschlagen, Sie schauen auf C templatization, um Flexibilität von Code. OS zu erreichen Hardware-Optimierung Schließlich sollten Sie schauen, um mit Linux RT arbeiten Kernel und Solarflare Netzwerkkarte mit OpenOnLoad Treiber für die Erreichung der minimalen Latenz können Sie weiter schauen, um die CPU zu isolieren und führen Sie Ihr Programm auf diesem bestimmten core. And schließlich die öffentliche API, die Sie brauchen, um Strategie-Entwickler zu entlarven Ich möchte, dass dies die Minimaler Satz, der die ganze Komplexität dieser bestimmten Austausch-Zielklasse einkapseln OrderRouter public virtual bool sendNewOrd OrderInfo 0 virtuelles bool sendRplOrd OrderInfo 0 virtuelles bool sendCxlOrd OrderInfo 0 virtual. But bedeutet dies, dass die OrderInfo-Klasse alle Details benötigt, die vom Ziel benötigt werden Austausch Im Allgemeinen verlangt der Austausch die gleiche Art von Informationen, aber wie Sie entlang gehen und mehr Austausch-Destinationen unterstützen Sie würden fügen Sie mehr Variablen in dieser Klasse. Das folgende sind die wichtigen Fragen Herausforderungen, die Sie benötigen, um sich zu fragen 1 Multi - Prozessarchitektur oder Multi-Threaded-Architektur, ob ein monolithischer Prozess mit mehreren Threads aufgebaut werden soll oder mehrere Prozesse schreiben Die Kosten für mehrere Prozesse sind die Latenzzeit der Nachrichtenübertragung, während die Kosten für mehrfache Threaded-Single-Prozess ist, dass ein Fehler das gesamte System herunterfallen kann 2 Message-Passing, während Sie aus der Fülle von Optionen wählen können, sind Sie durch Latenz-Betrachtung beschränkt Fastest IPC wäre Shared Memory, aber dann wie würden Sie die Synchronisation verbringen einige Zeit mit diesen beiden Fragen, weil sie der Baustein, auf dem Ihre Architektur wäre Stand. Edit FIX und FAST In Bezug auf populäres Standardprotokoll ist FIX für das Senden von Aufträgen und FAST ist für Marktdaten Having said that, haben die meisten Börsen ihre eigenen nativen Protokoll, das schneller als FIX ist, weil FIX ist in der Regel auf der Grundlage ihrer nativen Protokoll implementiert Aber sie unterstützen immer noch FIX fügt der Geschwindigkeit des Einsatzes hinzu. Auf der anderen Seite, während FIX von den meisten Austausch vergeben wird, genießt FAST nicht so breite Akzeptanz. Wenn überhaupt, würde es nur eine Handvoll Austausch geben, die es anwendet. Die meisten von ihnen senden entweder FIX selbst niedrige Latenz, oder verwenden Sie ihre eigenen nativen binären Protokoll zB 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 Umzug von FAST zu Eingeborenen mit Einführung von EOBI können Sie die gleiche Sache auf andere Börsen extrapolieren.4k Views View Upvotes Nicht für die Reproduktion. As John erwähnt, OMS ist die Crux jeder Handelsplattform und Sie sollten von der Erforschung über es Sie haben würde Um Zeit zu verbringen, um Ihren Lebenszyklus zu bestimmen, Ereignisse und Funktionen, die Sie auf dem OMS einbetten möchten, und die, die Sie wollen, dass Ihre Algo Engine mit Metcetera umgehen kann, bietet eine offene OMS, ich habe es persönlich benutzt, aber es ist einer der wenigen in Der 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 Kunden-Bestellung Eintrag System zu werfen in die Reihenfolge Details und Algo-Engine, um es zu verteilen Eine Menge von Sell Side OMS s verwenden Eine Kombination von proprietären Programmen, die in Java C mit dem FIX FIX-Protokoll geschrieben wurden, ermöglicht es Ihnen, Echtzeit über Systeme hinweg in einem vereinfachten, vordefinierten Nachrichtenformat zu vermitteln, das von der FIX-Protokoll-Community festgelegt wird. Gehen Sie zur Homepage der FIX-Protokoll-Organisation, um mehr darüber zu lesen Bei Open Source FIX Engine eine Open-Source-Implementierung der FIX-Engine. Next kommt eine Marktdaten-Schnittstelle zur Quelle Echtzeit-Zeit Sicherheit Marktinformationen, Daten von High Low Open Close to Best Bid Best Ask, Total Traded Volume, Letzter Preis, Last Volume , Bits Zitate, Fragen Zitate etc Die Informationen, die Sie suchen wirklich hängt von der Art der Strategie, die Sie implementieren möchten Ich glaube, Interactive Broker bietet eine Echtzeit-Daten-Feed über FIX. Exchange-Konnektivität ist als nächstes, wo Ihre Algo interpretiert die Signale, erstellen Sie einen Auftrag und Routen Zu einem Austausch oder ECN, das es im Haus entwickelt, könnte hart sein, wie Sie Notwendigkeit benötigen, um Austauschmitgliedschaft auszuarbeiten, Ihre Plattform zu bestätigen und einen regelmäßigen Mitgliedsbeitrag zu zahlen Ein preiswerterer Weg ist, eine Vermittler-API wie IB zu verwenden und den Auftrag durch sie zu führen. Historische Daten sind von wesentlicher Bedeutung, wie Sie vielleicht das aktuelle Marktverhalten mit seinen historischen Werten vergleichen möchten Parameter wie durchschnittliche Spreizung, VWAP-Profile, durchschnittliches Tagesvolumen usw. können erforderlich sein, um die Entscheidungsfindung zu beeinflussen. Sie können es auf Datenbank bevorzugt haben, aber wenn Geschwindigkeit von Die Essenz dann laden Sie es auf dem Server-Cache, wenn Sie Ihr Programm beginnen. Once Ihre Peripheriesysteme sind Setup, können Sie beginnen, Ihre Algo-Programm, wie Sie es wollen, um zu arbeiten Diese grundlegende Infrastruktur würde Ihnen erlauben, eine übergeordnete Algo-Reihenfolge eingeben, lesen Marktdaten, reagieren auf die Signale, erzeugen aber Kinderaufträge und stellen sie auf das Umtauschauftragsbuch und historische Daten zur Entscheidungsfindung ein. Das OMS hält die Verknüpfung zwischen der Eltern-Kind-Bestellung, ihren Echtzeit-Status und Updates durch die Algo - oder Exchange-Konnektivitätsplattform Sie wollen in der Algo implementieren ist völlig bis zu Ihnen.2 3k Ansichten View Upvotes Nicht für die Reproduktion.

Comments