Wednesday, 11 October 2017

Aktienhandelssystemarchitektur


Algorithmisches Trading System Architecture Bisher habe ich in diesem Blog über die konzeptionelle Architektur eines intelligenten algorithmischen Handelssystems sowie die funktionalen und nicht-funktionalen Anforderungen eines algorithmischen Produktionssystems geschrieben. Seitdem habe ich eine Systemarchitektur entworfen, von der ich glaube, dass sie diese architektonischen Anforderungen erfüllen kann. In diesem Beitrag werde ich beschreiben die Architektur nach den Richtlinien der ISOIECIEEE 42010 Systeme und Software Engineering Architektur Beschreibung Standard. Nach dieser Norm muss eine Architekturbeschreibung enthalten: Mehrere standardisierte architektonische Ansichten (z. B. in UML) enthalten und die Rückverfolgbarkeit zwischen Entwurfsentscheidungen und architektonischen Anforderungen beibehalten Softwarearchitekturdefinition Es gibt noch keinen Konsens darüber, was eine Systemarchitektur ist. Im Rahmen dieses Artikels wird sie als die Infrastruktur definiert, innerhalb der Anwendungskomponenten, die funktionalen Anforderungen genügen, spezifiziert, implementiert und ausgeführt werden können. Funktionale Anforderungen sind die erwarteten Funktionen des Systems und seiner Komponenten. Nicht funktionale Anforderungen sind Maßnahmen, durch die die Qualität des Systems gemessen werden kann. Ein System, das seine funktionalen Anforderungen voll erfüllt, kann die Erwartungen nicht erfüllen, wenn nicht funktionale Anforderungen unbefriedigt bleiben. Um dieses Konzept zu veranschaulichen, betrachten Sie das folgende Szenario: ein algorithmisches Handelssystem, das Sie gerade gekauft haben, macht ausgezeichnete Handelsentscheidungen, ist aber völlig inoperabel mit den Organisationen Risikomanagement und Buchhaltungssysteme. Würde dieses System Ihren Erwartungen entsprechen Konzeptionelle Architektur Eine konzeptionelle Sicht beschreibt hochrangige Konzepte und Mechanismen, die im System auf höchster Granularität existieren. Auf dieser Ebene folgt das algorithmische Handelssystem einer ereignisgesteuerten Architektur (EDA), die über vier Schichten aufgebrochen ist, und zwei architektonische Aspekte. Für jede Schicht - und Aspektreferenz werden Architekturen und Muster verwendet. Architektonische Muster sind bewährte, generische Strukturen, um spezifische Anforderungen zu erfüllen. Architektonische Aspekte sind Querschnittsaufgaben, die sich über mehrere Komponenten erstrecken. Ereignisgetriebene Architektur - eine Architektur, die Ereignisse erzeugt, erkennt, konsumiert und reagiert. Ereignisse umfassen Echtzeitbewegungen, komplexe Ereignisse oder Trends und Handelsereignisse, z. B. Einreichung einer Bestellung. Dieses Diagramm veranschaulicht die konzeptionelle Architektur des algorithmischen Handelssystems Referenzarchitekturen Um eine Analogie zu verwenden, ähnelt eine Referenzarchitektur den Blaupausen für eine tragende Wand. Dieses Blau-Druck kann für mehrfache Gebäudeentwürfe wiederverwendet werden, unabhängig davon, welches Gebäude errichtet wird, da es einen Satz von allgemein auftretenden Anforderungen erfüllt. Ähnlich definiert eine Referenzarchitektur eine Vorlage, die generische Strukturen und Mechanismen enthält, die verwendet werden können, um eine konkrete Softwarearchitektur zu konstruieren, die spezifischen Anforderungen genügt. Die Architektur für das algorithmische Handelssystem verwendet eine raumbasierte Architektur (SBA) und einen Model View Controller (MVC) als Referenzen. Gute Vorgehensweisen wie der Betriebsdaten-Speicher (ODS), das Extrakt-Transformations - und Belastungsmuster (ETL) und ein Data Warehouse (DW) werden ebenfalls verwendet. Modellansicht-Controller - ein Muster, das die Darstellung von Informationen von der Benutzerinteraktion mit ihr trennt. Raumbasierte Architektur - spezifiziert eine Infrastruktur, in der lose gekoppelte Verarbeitungseinheiten miteinander über einen gemeinsamen assoziativen Speicher mit dem Namen Space interagieren (siehe unten). Strukturansicht Die Strukturansicht einer Architektur zeigt die Komponenten und Unterkomponenten des algorithmischen Handelssystems. Es zeigt auch, wie diese Komponenten auf physische Infrastruktur eingesetzt werden. Die in dieser Ansicht verwendeten UML-Diagramme umfassen Komponentendiagramme und Bereitstellungsdiagramme. Im Folgenden finden Sie eine Übersicht der Implementierungsdiagramme des algorithmischen Handelssystems und der Verarbeitungseinheiten in der SBA-Referenzarchitektur sowie zugehörige Komponentendiagramme für die einzelnen Schichten. Architectural Tactics Nach dem Software Engineering Institute ist eine architektonische Taktik ein Mittel zur Befriedigung einer Qualitätsanforderung durch Manipulation eines Aspekts eines Qualitätsattributmodells durch architektonische Designentscheidungen. Ein einfaches Beispiel, das in der algorithmischen Handelssystemarchitektur verwendet wird, ist, einen operativen Datenspeicher (ODS) mit einer kontinuierlichen Abfragekomponente zu manipulieren. Diese Komponente würde das ODS kontinuierlich analysieren, um komplexe Ereignisse zu identifizieren und zu extrahieren. Folgende Taktiken werden in der Architektur verwendet: Das Disruptormuster im Ereignis - und Auftragswarteschlange Gemeinsamer Speicher für die Ereignis - und Auftragswarteschlangen Ununterbrochene Abfragesprache (CQL) auf dem ODS Datenfilterung mit dem Filterentwurfsmuster auf eingehenden Daten Vermeidungsalgorithmen auf allen Eingehende und ausgehende Verbindungen Active Queue Management (AQM) und explizite Staubenachrichtigung Rohstoffrechenressourcen mit Upgradefähigkeit (skalierbar) Aktive Redundanz für alle Single Points of Fail Indexierung und optimierte Persistenzstrukturen im ODS Planen Sie regelmäßige Datensicherungs - und Bereinigungsskripts für ODS Transaktionshistorie auf allen Datenbanken Prüfsummen für alle Aufträge, um Fehler zu erkennen Annotieren von Ereignissen mit Zeitstempeln, um veraltete Ereignisse zu überspringen Bestellen von Validierungsregeln zB Maximale Handelsmengen Automatisierte Händlerkomponenten verwenden eine Speicher-Datenbank für die Analyse Zwei-Stufen-Authentifizierung für Benutzerschnittstellen, die eine Verbindung zu den ATs herstellen Verschlüsselung auf Benutzerschnittstellen und Verbindungen zu den ATs Observer-Entwurfsmuster für das MVC zur Verwaltung von Ansichten Die obige Liste ist nur ein paar Design Entscheidungen, die ich bei der Gestaltung der Architektur identifiziert habe. Es ist nicht eine vollständige Liste der Taktiken. Da das System entwickelt wird, sollten zusätzliche Taktiken auf mehreren Ebenen der Granularität eingesetzt werden, um funktionale und nicht-funktionale Anforderungen zu erfüllen. Unten sind drei Diagramme, die das Disruptor-Designmuster, das Filterentwurfsmuster und die kontinuierliche Abfragekomponente beschreiben. Verhaltensansicht Diese Ansicht einer Architektur zeigt, wie die Komponenten und Schichten miteinander interagieren sollen. Dies ist hilfreich bei der Erstellung von Szenarien zum Testen von Architekturentwürfen und zum Verständnis des Systems von Ende zu Ende. Diese Ansicht besteht aus Sequenzdiagrammen und Aktivitätsdiagrammen. Aktivitätsdiagramme, die den internen Prozess der algorithmischen Handelssysteme zeigen und wie Händler mit dem algorithmischen Handelssystem interagieren sollen, sind nachfolgend dargestellt. Technologien und Rahmenbedingungen Der letzte Schritt beim Entwerfen einer Softwarearchitektur besteht darin, mögliche Technologien und Rahmenbedingungen zu identifizieren, die zur Verwirklichung der Architektur genutzt werden könnten. Grundsätzlich ist es sinnvoll, bestehende Technologien auszuschöpfen, sofern sie sowohl funktionale als auch nicht funktionale Anforderungen adäquat erfüllen. Ein Framework ist eine realisierte Referenzarchitektur, z. B. JBoss ist ein Framework, das die JEE-Referenzarchitektur realisiert. Die folgenden Technologien und Frameworks sind interessant und sollten bei der Implementierung eines algorithmischen Handelssystems berücksichtigt werden: CUDA - NVidia verfügt über eine Reihe von Produkten, die eine hochleistungsfähige Computational Finance Modellierung unterstützen. Man kann bis zu 50x Performance-Verbesserungen in der Ausführung von Monte Carlo Simulationen auf der GPU anstelle der CPU erreichen. Apache River - River ist ein Tool-Kit zur Entwicklung verteilter Systeme. Es wurde als Rahmen für die Erstellung von Anwendungen auf der Grundlage der SBA-Muster Apache Hadoop - für den Fall, dass pervasive Logging ist eine Anforderung, dann die Verwendung von Hadoop bietet eine interessante Lösung für die Big-Data-Problem. Hadoop kann in einer Clusterumgebung eingesetzt werden, die CUDA-Technologien unterstützt. AlgoTrader - eine Open-Source-algorithmische Handelsplattform. AlgoTrader könnte an Stelle der automatisierten Händlerkomponenten eingesetzt werden. FIX Engine - eine eigenständige Anwendung, die die FIX-Protokolle FIX, FAST und FIXatdl unterstützt. Obwohl es sich nicht um eine Technologie oder ein Framework handelt, sollten Komponenten mit einer API (Application Programming Interface) aufgebaut werden, um die Interoperabilität des Systems und seiner Komponenten zu verbessern. Fazit Die vorgeschlagene Architektur wurde entwickelt, um sehr allgemeine Anforderungen für algorithmische Handelssysteme zu erfüllen. Im Allgemeinen werden algorithmische Handelssysteme durch drei Faktoren kompliziert, die bei jeder Implementierung variieren: Abhängigkeiten von externen Unternehmen und Tauschsystemen Herausforderung an nicht funktionale Anforderungen und Entwicklung von architektonischen Zwängen Die vorgeschlagene Softwarearchitektur müsste daher im Einzelfall von Fall zu Fall angepasst werden Um spezifische organisatorische und regulatorische Anforderungen zu erfüllen sowie regionale Zwänge zu überwinden. Die algorithmische Handelssystemarchitektur sollte nur als Referenz für Einzelpersonen und Organisationen betrachtet werden, die ihre eigenen algorithmischen Handelssysteme entwerfen wollen. Für eine vollständige Kopie und Quellen verwendet, laden Sie bitte eine Kopie meines Berichts. Thank you. Special Feature: Online Trading Infrastruktur Eine erfolgreiche Handels-Architektur Online-Börsen ermöglichen schnellere Transaktionen durch die Bereitstellung von Online-Handelsportalen und Maklerhäusern Leichtigkeit und Flexibilität. Heres einen Blick auf die Kern-Infrastruktur von NSE, BSE, und einige Handelsportale. Von Soutiman Das Gupta Wie im vergangenen Jahrzehnt von Technologie-Visionären und Prognose-Gruppen versprochen, hat das Internet in der Tat neue Wege für die Durchführung von Geschäften eröffnet. Börsen weltweit führen nun einen Großteil ihres Geschäfts online durch ihre Broker und Partner, eine bedeutende Verschiebung von der traditionellen Methode. In den entwickelten Ländern werden fast alle Devisentransaktionen online durchgeführt. Der Trend hat sich in Indien langsam aufgehoben und zwei der größten Börsen, die National Stock Exchange (NSE) und die Bombay Stock Exchange (BSE) führen Online-Handel erfolgreich für einige Zeit jetzt. Warum verspätete indische Börsen und Maklerhäuser waren langsam, um ihre Transaktionen online zu verschieben. Dies ist vor allem auf die Regierungsvorschriften zurückzuführen. Es gab eine anfängliche Verzögerung bei der Festlegung von Spezifikationen für die Erstellung von geschlossenen Benutzergruppen (CUGs). Das Problem wurde zwischen dem DoT und dem Finanzministerium um 1998 gelöst und bald Handelsportale wie ICICIDirect, motilaloswal und smartjones entstanden. Konnektivität war vielleicht der wichtigste technologische Faktor. Die Kosten für Mietleitungen und VSAT-Verbindungen waren traditionell sehr hoch und die Zuverlässigkeit der Links war gering. Es dauerte auch eine lange Zeit, um die Verknüpfungen in Auftrag zu geben, da man einen Antrag stellen musste und einige Wochen auf die Verbindung warten musste. Andere Probleme wie Sicherheit, und Backup-und Recovery-Verfahrenskosten waren auch Abschreckungsmittel. Glücklicherweise hat Indien mit der Lösung von regulatorischen Fragen keine dringende Konnektivität und Bandbreite mehr. Mit dem Eintritt privater Akteure in das Breitband-Szenario und der Regierung, die den Telekommunikationssektor eröffnet, sind diese Fragen fast nicht vorhanden. Sicherheitslösungen und - dienste, die auf dem Markt verfügbar sind, haben gereift und es kostet kein hübsches Paket mehr, um eine einfache Backup-Lösung zu setzen. Anatomie einer Online-Börse Online-Handel beinhaltet große Mengen an Daten, die täglich durchgeführt werden. Als Beispiel wurde bei BSE der durchschnittliche tägliche Umsatz in den Jahren 2001-2002 (April-März) Rs 1244.10 crore und die Anzahl der durchschnittlichen täglichen Trades betrug Rs 5,17 lakh. Hinzu kommen strenge RBI-Vorschriften, die es zwingend erforderlich machen, dass Unternehmen mindestens sieben Jahre Transaktions - und Finanzdaten speichern. Design Muss immer einsatzbereit, sicher, redundant sein und über ausreichende Sicherungs - und Wiederherstellungsprozesse verfügen. Storage Für solche hohen Mengen an kritischen Daten seine natürliche Bereitstellung von Netzwerk-basierten Speicher wie NAS oder SAN. Sicherheit Sicherheit ist ein wesentlicher und integraler Bestandteil der Designarchitektur. Die Hardware - und Software-Elemente sollten um eine mehrschichtige Sicherheitsarchitektur herum aufgebaut werden und sollten mit einer gut dokumentierten Sicherheitsrichtlinie eingerichtet werden. Verfügbarkeit Idealerweise sollten Online-Börsen eine Fünf-Neun-Verfügbarkeit haben. Anwendungen Es ist schwer zu implementieren, out-of-the-box-Anwendungen an Börsen, da jeder hat eine einzigartige Architektur auf Faktoren wie Betriebsablauf, Handelsvolumen, Anzahl der Mitglieder, Anzahl der Benutzer und Anzahl der Standorte. Architekturen NSE hat NIBIS (NSEs Internet Based Information System) für die Echtzeit-Verbreitung von Handelsinformationen über das Internet und NEAT eine Client-Server-basierte Anwendung bereitgestellt, um ihre Operationen zu unterstützen. BSE hat ein OnLine-Handelssystem (BOLT) auf einer Tandem-Plattform implementiert, die über eine zweistufige Architektur verfügt. Sie behauptet, bis zu 2 Millionen Trades pro Tag zu unterstützen. Indische Börsen Die NSE und BSE gehören zu den größten Börsen des Landes. Sie handhaben sehr große tägliche Handelsvolumina, unterstützen große Mengen an Datenverkehr und haben ein sehr großes bundesweites Netzwerk. Die Handelsvolumina in beiden Börsen sind riesig. Der durchschnittliche Tagesumsatz im Kapitalmarktsegment bei NSE liegt bei Rs 2300 crore und im Derivate-Segment um rs 1300 crore. Das durchschnittliche tägliche Verkehrsvolumen liegt bei rund einer Million Trades pro Tag im Kapitalmarktsegment und rund 50.000 Trades pro Tag im Derivate-Segment. Es gibt rund 13.000 registrierte Benutzer in beiden Segmenten und durchschnittlich rund 9500 Nutzer sind zu einem Zeitpunkt angemeldet. Bei BSE betrug der durchschnittliche Tagesumsatz im Zeitraum 2001-2002 (April-März) Rs 1244.10 crore und die durchschnittliche tägliche Trades betrug Rs 5,17 l. Netzwerk-Design Unnötig zu sagen, jeder Online-Austausch muss immer-on, sicher, redundant und haben ausreichende Backup-und Recovery-Prozesse. G. M Shenoy, VP, NSE-IT, spricht über die Designphilosophie seines Online-Austauschs. "Das grundlegende Designziel bestand darin, einen fairen, gleichberechtigten und transparenten Zugang über alle unsere Standorte zu gewährleisten. Ein wichtiger Aspekt war, so schnell wie möglich eine Verbindung zu unseren Handelsteilnehmern zu schaffen. "Der Telekommunikationssektor ist heute ziemlich liberal. Bereits 1993 wurde die Technologie reif und war teuer. Mietleitungen kosten fast zehnmal so viel wie heute. Satelliten-Technologie war ein Segen, da es schnellere Bereitstellung als Standleitungen erlaubt. NSE verfügt nun über das landesweit größte VSAT-Netzwerk mit über 3000 VSATs und rechnet damit, bis bald mehr als 4000 VSATs zu wachsen. Quote Netzelemente Ein Blick auf die massiven Handelsvolumina und die Verkehrslast sind genügend Beweis für die kritische Natur der Systeme. Es macht einen schaudern, um die erwarteten Verluste im Falle einer zehnminütigen Ausfallzeiten zu denken, wenn der tägliche Handel kreuzt Rs 3000 crore. Netzwerkelemente wie Speicher, Sicherheit, Sicherungs - und Wiederherstellungsprozesse, Verfügbarkeit und die verschiedenen Anwendungen müssen sorgfältig geplant und in Betrieb genommen werden. Dann muss man strengen Regeln des RBI folgen, um mindestens 7 Jahre Transaktions - und Finanzdaten zu speichern. Storage Für solche hohen Mengen an kritischen Daten seine natürliche Bereitstellung von Netzwerk-basierten Speicher wie NAS oder SAN. NSE implementiert ein SAN, da es glaubt, dass seine Datenmengen phänomenal gewachsen sind. Sicherheit Dies sollte ein wesentlicher und integraler Bestandteil der Designarchitektur sein. Die Hardware - und Software-Elemente sollten um eine mehrschichtige Sicherheitsarchitektur herum aufgebaut sein. Und es sollte stattfinden, mit einer gut dokumentierten Sicherheitspolitik. Shenoy sagt, die Sicherheit ist das wichtigste Element im Netzwerk. Alle Anwendungen wurden mit einem bewussten Ansatz in Richtung Sicherheit. Die Sicherheitsrichtlinien sind eng integriert und werden regelmäßig überprüft, um keinen Kompromiss zu schließen. Alle Anwendungen und Betriebssysteme werden regelmäßig für security. quot gehärtet Sicherung und Wiederherstellung Dies hat sich als einer der wichtigsten Aspekte der Business Continuity entpuppt. Wenn Online-Austausch vor ein paar Jahren entworfen wurde, wurde vielleicht nicht viel Wert auf diesen Aspekt gelegt, wie er heute ist. Allerdings ist es nicht schwer, Business Continuity-Prozesse zu einem bestehenden Netzwerk hinzuzufügen. Shenoy sagt, quotAs ein Backup für unser VSAT-Netzwerk, ein terrestrisch-basiertes Handelsnetz wurde Mitte 2000 eingesetzt. Wir haben mehr als 850 Standleitungen verbindet unsere bundesweit Standorte. Wir sind die einzige Börse im Land, um eine voll-redundant Business Continuity-Website in Chennai. quot Verfügbarkeit Idealer Online-Austausch sollte Fünf-Neun Verfügbarkeit haben. Börsen bevorzugen es, ihre Infrastruktur im eigenen Haus zu hosten und nicht die Dienste eines externen Rechenzentrums zu nutzen. NSE behauptet, eine Betriebszeit von mehr als 99,9 zu erreichen. "Dies ist vor allem auf intern formulierte Verfahren und die kontinuierliche Überprüfung von SLAs mit Hardware-Anbietern, sagt Shenoy. Anwendungen Es ist schwer zu implementieren, out-of-the-box-Anwendungen an Börsen, da jeder hat eine einzigartige Architektur auf Faktoren wie Betriebsablauf, Handelsvolumen, Anzahl der Mitglieder, Anzahl der Benutzer und Anzahl der Standorte. Die Anwendungen wie Handel, Clearing, Risikomanagement, Überwachung, Indexberechnung, Listing, Mitgliedschaft und Konten können im eigenen Haus oder durch externe Softwareentwickler entwickelt werden. Die großen beiden Architekturen NSE und BSE, die großen zwei Börsen glauben an die Aktualisierung und Modernisierung ihrer Technologie-Systeme zu halten liefern nach Verpflichtungen und Versprechen an ihre Mitglieder, Partner und Kunden. NSE-Architektur - NEAT NSE hat NIBIS (NSEs Internet Based Information System) für die Echtzeit-Verbreitung von Handelsinformationen über das Internet und NEAT eine Client-Server-basierte Anwendung bereitgestellt, um ihren Betrieb zu unterstützen. NEAT speichert alle Handelsinformationen in einer In-Memory-Datenbank am Server-Ende, um eine minimale Reaktionszeit und maximale Systemverfügbarkeit für Benutzer zu erzielen. Die Handelsserver-Software läuft auf einem fehlertoleranten STRATUS-Mainframe und die Client-Software läuft auf Windows-PCs. Das Telekommunikationsnetz nutzt das X.25-Protokoll und ist das Rückgrat des automatisierten Handelssystems. Jeder Handelsteilnehmer tauscht auf dem NSE mit anderen Mitgliedern durch einen PC, der in der Handelsmitgliedsbüro gelegen ist. Die Handelsteilnehmer im Segment Wholesale Debt Market sind über eigene 64-Kbps-Mietleitungen und VSAT-Terminals mit dem zentralen Computer der NSE verbunden. Diese Standleitungen werden unter Verwendung von dedizierten 2 MB optischen Faserverbindungen multiplexiert. Die WDM-Teilnehmer werden über DFÜ-Verbindungen mit dem Handelssystem verbunden. Für die Backoffice-Verarbeitung werden RISC-basierte Unix-Server von Digital und HP verwendet. Anwendungen wie Oracle 7 und SQLOracle Forms 4.5 Frontends werden für die Exchange-Funktionen verwendet. BSE-Architektur - BOLT BSE hat am 14. März 1995 ein OnLine-Handelssystem (BOLT) eingesetzt. Es arbeitet auf einer Tandem S74016-Plattform mit 16 CPUs. Die Tandem Himalaya S74016 Maschinen dienen als Backend zu mehr als 8000 Trader Workstations, die auf Ethernet, VSAT und Managed Leased Data Network (MLDN) vernetzt sind. Die Systeme behaupten, bis zu zwei Millionen Trades pro Tag zu behandeln. BOLT hat eine zweistufige Architektur. Die Trader-Workstations sind direkt mit dem Backend-Server verbunden, der als Kommunikationsserver und Central Trading Engine (CTE) fungiert. Andere Dienste wie Informationsverbreitung, Indexberechnung und Positionsüberwachung werden ebenfalls vom System bereitgestellt. Eine Transaktionsüberwachungseinrichtung in der Tandemarchitektur unterstützt die Datenintegrität durch Non-Stop-SQL. Mit Hilfe von MTNL hat BSE ein MLDN-Netzwerk eingerichtet, das 300 Mbps-Linien und 1500-Kbps-Linien umfasst, die alle regionalen Börsen und Büros in Mumbai verbinden. Der Zugang zu marktbezogenen Informationen über die Trader-Workstations ist für die Marktteilnehmer unverzichtbar, um auf Echtzeitbasis zu handeln und sofortige Entscheidungen zu treffen. BOLT wurde mit verschiedenen Informationsanbietern wie Bloomberg, Bridge und Reuters verbunden. Marktinformationen werden Nachrichtenagenturen in Echtzeit zugeführt. Die Austauschpläne zur Verbesserung der Fähigkeiten weiter zu einem integrierten Zwei-Wege-Informationsfluss haben. Online-Handelsportale Online-Handel ist die Investitionstätigkeit, die über das Internet stattfindet, ohne physische Einbeziehung des Brokers. Ein Endbenutzer (Investor) muss sich mit einem Online-Handelsportal wie ICICdirect, motilaloswal, smartjones und sharekhan registrieren. Der Investor erhält damit eine Vereinbarung mit dem Unternehmen über den Handel mit verschiedenen Wertpapieren gemäß den in der Vereinbarung aufgeführten Bedingungen. Da die Server des Online-Handelsportals ständig an die Börsen und benannten Banken angeschlossen sind, erfolgt die Auftragsbearbeitung in Echtzeit. Investoren können auch Updates über den Handel und überprüfen Sie den Status ihrer Aufträge entweder per E-Mail oder über die Schnittstelle. Portal Design Harish Malhotra, Chief Technology Officer, Motilal Oswal Securities Limited, sagt quotthe Portal sollte einfach zu navigieren, voll von nützlichen und relevanten Informationen, die mit der geringsten Anzahl von Klicks zur Verfügung steht und sollte personalisiert werden. quot Allerdings ein sehr wichtiger Aspekt Ist, dass die Systeme in der Lage sein sollten, sich direkt mit denen des Online-Austauschs ohne Inkompatibilitätsprobleme zu verbinden. ICICIdirect verwendet 128-Bit-verschlüsselte SSL (Secure Socket Layer), um sicherzustellen, dass die über das Internet übertragenen Informationen sicher sind und von Dritten nicht zugegriffen werden können. Benutzer sind in der Regel Optionen, um ihre Bankkonten, Demat Konten und Brokerage-Konten zu einer einzigen Schnittstelle zu verknüpfen. Es gibt auch ein Fenster für alle Börsen und einen einzigen Bildschirm für den gesamten Order-Routing-Mechanismus. Die verwendete Hardware umfasst Web - und Anwendungsserver, Switches, Router, Firewalls und Sicherheitsgeräte sowie spezialisierte Appliances. Motilaloswal nutzt Compaq Server für Applikationen und Datenbanken, Cisco Router und Checkpoint Firewalls. Die Systeme wurden von ihrem eigenen Team angepasst. Die Handelsanwendungen werden ausgelagert. "Wir haben auch einen Offline-Speicher, der regelmäßig an verschiedenen Standorten gesichert wird", sagt Harish. Portal-Erfolg Der Erfolg eines Handels-Portals wird auf jeden Fall von seinem Bouquet von Dienstleistungen für einen Endbenutzer abhängen. Die meisten Portale berechnen eine kleine Anmeldegebühr und Vermittlung auf der Grundlage verschiedener Bedingungen. Allerdings ist es wichtig für die Organisation, sich auf kundenorientierte Dienstleistungen und Liefermodelle zu konzentrieren, um tatsächlich die meisten Aufmerksamkeit genießen. Algorithmic Trading Systemanforderungen Derzeit nehme ich eine Klasse über Software-Architekturen. 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: Handelsentscheidungen 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. 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 weiter 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 Satz von Diensten, die von der Architektur unterstützt werden und die von Komponenten verarbeitet werden, 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. eduhandle1721.16285 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 physikalische Netzwerkzwänge und regulatorische Einschränkungen. Physische Netzwerkeinschränkungen werden durch schlechte Telekommunikationsnetze auf ein System gestellt. Um diese Einschränkung abzuschwächen, sollte das System aufgebaut werden, in dem 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 ISO 9000 algorithmischen Handelsnormen (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 zu Beginn der Gestaltung solcher Systeme übersehen werden. 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.

No comments:

Post a Comment