Architektur Of A Hochfrequenz Trading System
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 aus Ingenieurdisziplinen 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. Meine AccountAlgorithmic Trading Systemanforderungen Momentan nehme ich eine Klasse über Softwarearchitekturen. Für diese Klasse wählt jeder Schüler ein System, definiert seine architektonischen Anforderungen und entwirft eine Lösung, die in der Lage ist, diese Anforderungen zu erfüllen. Ich wählte ein algorithmisches Handelssystem wegen der technologischen Herausforderung und weil ich liebe Finanzmärkte. Algorithmische Handelssysteme (ATs) verwenden computergestützte Algorithmen, um Handelsentscheidungen zu treffen, Bestellungen zu übermitteln und Aufträge nach der Einreichung zu verwalten. In den letzten Jahren ATs haben an Popularität gewonnen und nun für die Mehrheit der Trades durch internationale Börsen gestellt. Es wird zwischen dem programmierten Handel und dem algorithmischen Handel unterschieden. Der programmierte Handel beinhaltet das Zerschlagen von Großaufträgen in Pakete kleinerer Aktien. In diesem Artikel wird der programmierte Handel als Sicherheitsanforderung eines ATs betrachtet. Algorithmische Trading Systems Einführung Im Allgemeinen gibt es fünf Arten von Marktteilnehmern: Einzelhandels-Investoren, proprietären Händlern, Market Maker, Buy-Side-Institutionen und Sell-Side-Institutionen. ATs werden am meisten von proprietären Buy-Side-Institutionen verwendet, aber diese Dynamik ändert sich. Der algorithmische Handel als Dienst (ATAAS) ermöglicht dem Privatanleger den algorithmischen Handel (siehe Anhang). Dieser Artikel beschreibt die architektonischen Anforderungen für eine ATs von einem proprietären Buy-Side-Institution verwendet. Auf der obersten Ebene hat ein ATs drei Funktionen: Entscheidungen zu treffen, Handelsaufträge zu erstellen und diese Aufträge nach der Einreichung zu verwalten. Darunter befinden sich eine Vielzahl detaillierter funktionaler Anforderungen, von denen einige durch die Architektur befriedigt werden können. Einführung in die Softwarearchitektur Eine Menge Debatte umgibt noch die Definition dessen, was eine Softwarearchitektur ist. Im Rahmen dieses Artikels wird Softwarearchitektur als die Infrastruktur definiert, in der Anwendungskomponenten, die Benutzerfunktionalität bereitstellen, spezifiziert, implementiert und ausgeführt werden können. Ein Softwaresystem sollte seine funktionalen und nicht-funktionalen Anforderungen erfüllen. Funktionsanforderungen legen die Funktionen der Systemkomponenten fest. Nicht funktionale Anforderungen erfordern Maßnahmen, durch die die Systemleistung gemessen wird. Ein Software-System, das seine funktionalen Anforderungen erfüllt, kann den Erwartungen der Anwender, z. B. Eine ATs, die Trades einreichen kann, aber nicht rechtzeitig, würde finanzielle Verluste verursachen. Die Softwarearchitektur stellt grundsätzlich eine Infrastruktur bereit, die die nicht funktionalen Anforderungen erfüllt und innerhalb der Komponenten, die funktionalen Anforderungen genügen, implementiert und ausgeführt werden können. Algorithmische Trading System Anforderungen können daher breit in funktionale und nicht-funktionale Anforderungen aufgeteilt werden. Funktionsanforderungen Unter den handlungsorientierten Entscheidungsgrundlagen gibt es drei Anforderungen: Holen Sie sich Marktdaten - laden, filtern und speichern Sie strukturierte und unstrukturierte Daten. Strukturierte Daten umfassen Echtzeit-Marktdaten von Reuters oder Bloomberg, die unter Verwendung eines Protokolls, z. B. FIX. Unstrukturierte Daten enthalten Nachrichten - und Social-Media-Daten. Handelsstrategie definieren - neue Handelsregeln und Strategien festlegen. Die Handelsregel besteht aus einem Indikator, einer Ungleichung und einem numerischen Wert, z. B. PE-Verhältnis lt 10. Die Handelsregeln sind in einen Entscheidungsbaum gegliedert, um eine Handelsstrategie zu definieren (siehe unten). Analysieren Sie Wertpapiere gegen Handelsstrategie - für jede Sicherheit, erhalten Sie Daten und filtern Sie es durch die Handelsstrategie zu bestimmen, welche Sicherheit zu kaufen. Zusätzlich: für jede offene Position bestimmen, welche Sicherheit zu verkaufen. Hinweis: Diese Anforderung kann variieren. Unterhalb der Create Trading Order Top Level Anforderung gibt es zwei High-Level-Anforderungen: Holen Sie sich Trade-Informationen - für jede Entscheidung, erhalten Sie das Sicherheitssymbol, Preis, Menge, etc. Erstellen Sie den Handel bestellen - für jede Entscheidung, geben Sie eine Order-Typ und fügen Sie Handelsinformationen . Es gibt sechs Ordertypen: Long, Short, Market, Limit, Stop und Conditional. Unter der obersten Anforderung des Managements befinden sich drei hohe Anforderungen: Verwalten von ausstehenden Aufträgen - für jede Bestellung bestätigen und bestätigen Sie, dass die Bestellung Route Bestellungen abgibt - jede Bestellung an eine Börse, einen dunklen Pool oder eine Brokerage weiterleiten Jeder übergebene Auftrag, wenn Auftrag zusammengebracht wird, dann verursachen eine geöffnete Position. Wenn Auftrag nicht zusammengebracht wird, stoppen Sie diesen Auftrag. Dieses Diagramm zeigt, wie eine Handelsstrategie als Entscheidungsbaum von Handelsregeln definiert werden könnte. Nicht-funktionale Anforderungen Es gibt viele nicht-funktionale Anforderungen, die zwischen einander ausgetauscht werden, z. B. Erhöhte Leistung kommt häufig zu erhöhten Gesamtbetriebskosten. Nicht-funktionale algorithmische Handelssystem Anforderungen umfassen, Skalierbarkeit - ist die Fähigkeit eines Systems zu bewältigen und unter einer erhöhten oder expandierenden Arbeitsbelastung. Ein ATs sollte in Bezug auf die Anzahl der Dateneinspeisungen in Prozessen, die Anzahl der ausgetauschten Transaktionen und die Wertpapiere, die es handeln kann, skalierbar sein. Leistung - ist die Menge an Arbeit durch ein System im Vergleich zu der Zeit und Ressourcen, die für diese Arbeit erforderlich. Ein ATs sollte schnelle Antwortzeiten (zurück zum Markt) und hohe Verarbeitung und Netzwerkdurchsatz haben. Modifizierbarkeit - ist die Leichtigkeit, mit der das System geändert werden kann. Ein AT sollte leicht modifizierbare Handelsstrategien und Datenverarbeitung haben Zuverlässigkeit - ist die Genauigkeit und Zuverlässigkeit eines Systems, um korrekte Ausgänge für die Eingänge zu erzeugen, die es empfängt. Da Fehler und Fehler in einem ATs zu riesigen Verlusten und Geldbußen führen können, ist die Zuverlässigkeit entscheidend. Siehe das Ritter Hauptstadt Debakel für Beweise dafür. Auditability - ist die Leichtigkeit, mit der das System auditiert werden kann. Aktuelle hochkarätige Fälle von ATs gehen Haywire haben ATs im Rampenlicht für Wirtschaftsprüfungsgesellschaften gesetzt. Sie sollten daher sowohl aus finanzieller als auch aus Compliance - und IT-Sicht auditierbar sein. Sicherheit - ist die Sicherheit einer Organisation gegen kriminelle Aktivitäten wie Terrorismus, Diebstahl oder Spionage. Weil Handelsstrategien geschützte sind und wertvolles geistiges Eigentum darstellen, müssen sie gesichert werden. Zusätzlich zum Schutz der ATs von gejagten, sollten Aufträge mit programmierten Handelsstrategien verschleiert werden. Fehlertoleranz - ist die Fähigkeit eines Systems, nach einem Fehler oder Ausfall weiterhin ordnungsgemäß zu funktionieren. Dies ist vergleichbar mit der Zuverlässigkeit, mit der Ausnahme, dass die ATs weiterhin zuverlässig sein, auch nach einem Fehler, um finanzielle Verluste zu vermeiden. Interoperabilität - ist die Leichtigkeit, mit der das System in der Lage ist, mit einer Vielzahl von verwandten Systemen zu arbeiten. Dies ist für eine ATs wichtig, die für die Anbindung an Auftragsmanagementsysteme, Portfolioverwaltungssysteme, Risikomanagementsysteme, Buchhaltungssysteme und sogar Bankensysteme erforderlich ist. Architektonischer Geltungsbereich Der architektonische Geltungsbereich ist der von der Architektur unterstützte Dienstleistungsbereich, der von Komponenten verarbeitet wird, um deren funktionalen und nicht funktionalen Anforderungen gerecht zu werden. Eine detailliertere Aufgliederung dieses architektonischen Geltungsbereichs ist im detaillierten Anforderungsdokument enthalten. Auf hohem Niveau müssten die folgenden Services von der Architektur bereitgestellt werden: Eine modifizierbare Datenvorverarbeitungsumgebung, die mehrere Datenströme, Filter für irrelevante Daten und zeitliche Datenpartitionierung unterstützt. Eine verteilte Verarbeitungsumgebung, die mehrere Verarbeitungseinheiten unterstützt (Cluster), Echtzeit-Performance-Monitoring, ein nachrichtenorientiertes Kommunikations-Framework, Scheduling von temporären Datensätzen, Lastverteilung und Datenreplikation Individuelle Verarbeitungseinheiten - die In-Memory-Warteschlangen und komplexe Ereignisverarbeitung (auf Zeitdaten) (SAN) - unterstützt die zeitliche Datenaggregation, die kontinuierliche Abfrage und Protokollierung (für Audit Trails) Eine Datenwiederherstellungs - (DR) - Umgebung - repliziert das SAN - und Auftragsverwaltungssystem Eine Integrationsumgebung, die eine Standard-API für Komponenten und Verbindungen zur Verfügung stellt Interne und externe Komponenten zueinander Ein Auftragsmanagementsystem, das gleichzeitige Eingangsströme, passive Redundanz und Lastausgleich, ACID-Kriterien für Aufträge, einen Audit Trail unterstützt und repliziert wird. Eine Systemnutzungsumgebung, die mehrere Benutzerprofile unterstützt und eine Voll verwaltetes Frontend für das algorithmische Handelssystem Zugriffs - und Integrationsanforderungen Zugriffsanforderungen beschreiben, wie Benutzer auf die Systemkomponenten zugreifen können. Ein algorithmisches Handelssystem sollte drei Schnittstellen offenlegen: eine Schnittstelle, um neue Handelsregeln, Handelsstrategien und Datenquellen zu definieren, eine Backend-Schnittstelle für Systemadministratoren, um Cluster hinzuzufügen und die Architektur zu konfigurieren sowie eine schreibgeschützte Audit-Schnittstelle zur Überprüfung von IT-Kontrollen und Benutzerrechte. Voraussetzungen für die Integration zwischen Komponenten und externen Systemen werden Integrationsanforderungen genannt. Das algorithmische Handelssystem sollte dateibasierte Integration, Nachrichtenbasierte Integration und Datenbankintegration unterstützen. Folgende Anforderungen sollten durch die Architektur erfüllt werden: Datenbankintegration - Unterstützung von ODBC, JDBC, ADO und XQC Dateibasierte Integration - Unterstützung von CSV-, XML - und JSON-Dateien Nachrichtenbasierte Integration - Unterstützung von FIX. SCHNELL. Und FIXatdl Architectural constraints Die blauen Punkte zeigen die physischen Standorte, in denen die Netzwerklatenz minimiert wird und die roten Punkte die physikalischen Standorte großer Finanzbörsen zeigen. Um die Performance des algorithmischen Handelssystems zu maximieren, sollte man das System an Orten unterbringen, die die Netzwerklatenz minimieren. Quelle: MIT open press: dspace. mit. edu handle 1721.1 6285 Architektonische Zwänge sind Faktoren, die die Leistung der zu errichtenden Architektur einschränken. Die beiden Einschränkungen, die ich hier erwähnen will, sind physische Netzwerkzwänge und regulatorische Einschränkungen. Physische Netzwerkeinschränkungen werden durch schlechte Telekommunikationsnetze auf ein System gestellt. Um diese Einschränkung zu verringern, sollte das System aufgebaut werden, wo die Netzwerklatenz minimiert wird. Eine weitere Möglichkeit, Netzwerk-Einschränkungen zu mildern, besteht darin, das algorithmische Handelssystem mit der Börse zu koordinieren. Dass gesagt worden ist, führt die Entscheidung zur Ko-Lokalisierung zusätzliche Verarbeitungs - und Platzbeschränkungen ein. Regulatorische Einschränkungen werden durch Gesetze und Vorschriften eingeführt, die meistens länder - und austauschspezifisch sind. Dies ist ein zunehmend wichtiger Faktor bei der Konzeption und Implementierung eines algorithmischen Handelssystems, da der algorithmische Handel nach dem Flash-Crash 2010 mehr reguliert wird. Grundsätzlich sollten ATs mindestens die Anforderungen der SECs bezüglich System Compliance und Integrität (SCI), der EMEA Richtlinien für algorithmische Handelssysteme, der algorithmischen ISO 9000 Standards (AT9000) und der International Financial Reporting Standards (IFRS) . Schlussfolgerung Algorithmische Handelssystemarchitekturen werden durch die strengen nicht funktionalen Anforderungen des Systems und der breiten Palette von regulatorischen und Compliance-Anforderungen für das automatisierte Trading kompliziert. Aufgrund dieser Komplexität sollte sorgfältig auf die Konzeption und Implementierung der Systemarchitektur geachtet werden. Bei der Gestaltung einer Open-Source-algorithmischen Handelsarchitektur möchte ich darauf hinweisen, dass architektonische Anforderungen, die oft übersehen werden, zu Beginn der Gestaltung solcher Systeme. Die in diesem Dokument festgelegten Anforderungen sind unwahrscheinlich vollständig und werden sich im Laufe der Zeit unweigerlich entwickeln. Die zweite Tranche dieses Artikels wird mein Design für eine Software-Architektur, die die oben genannten Anforderungen. Für weitere Informationen über algorithmischen Handel, wenden Sie sich bitte an mich wenden. Um eine Kopie des Berichts herunterzuladen, klicken Sie bitte hier. Eine vollständige Liste der Quellen finden Sie im Bericht ATAAS-Dienstleister umfassen, sind aber nicht beschränkt auf: Quantopian - Benutzer definieren quantitative Handelsstrategien in Python und können sie zurücktesten. Benutzer können diese Strategien auch auf Live-Märkten ausführen. Quantopian hat vor kurzem eine Investition von 6,7 Millionen USD erhalten, um ihre Dienstleistungen zu erweitern. EquaMetrics - mit RIZM-Benutzern visuell bauen neue algorithmische Handelsstrategien, Back-Test dieser Strategien und führen diese Strategien auf Live-Märkten. EquaMetrics hat vor kurzem angekündigt, neue Finanzierung für RIZM im Wert von 4,5 Millionen USD. Brokerage - einige Broker erlauben Tradern, Trading-Bots zu schaffen, die automatisch ihre Handelsstrategien ausführen.
Comments
Post a Comment