Thursday 19 January 2017

Architektur Of Trading System

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 Konzeptarchitektur 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 Zweistufige 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 den Aufbau 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 Financial Information Exchange (FIX) - Protokolle einschließlich 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 Bezugspunkt 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. Trading Systems: Entwerfen des Systems - Teil 1 13 Der vorhergehende Abschnitt dieses Tutorials befasste sich mit den Elementen, aus denen sich ein Handelssystem zusammensetzte, und erörterten die Vor - und Nachteile der Verwendung eines solchen Systems in einem Live-Handelsumfeld. In diesem Abschnitt bauen wir dieses Wissen auf, indem wir untersuchen, welche Märkte für den Systemhandel besonders gut geeignet sind. Wir werden dann einen tieferen Einblick in die verschiedenen Gattungen der Handelssysteme nehmen. Handel auf verschiedenen Märkten Aktienmärkte Der Aktienmarkt ist wahrscheinlich der häufigste Markt für den Handel, vor allem bei Anfängern. In dieser Arena, große Spieler wie Warren Buffett und Merrill Lynch dominieren, und traditionelle Wert und Wachstum investierende Strategien sind bei weitem die häufigste. Dennoch haben viele Institutionen erheblich in die Konzeption, Entwicklung und Umsetzung von Handelssystemen investiert. Einzelne Investoren treten diesem Trend, wenn auch langsam, bei. Hier sind einige wesentliche Faktoren zu berücksichtigen, wenn Handelssysteme in Aktienmärkten: 13 Die große Menge an verfügbaren Aktien ermöglicht es Händlern, Systeme auf vielen verschiedenen Arten von Aktien - alles von extrem volatilen over-the-counter (OTC) Aktien zu testen Nicht-flüchtigen blauen Chips. Die Wirksamkeit der Handelssysteme kann durch die geringe Liquidität einiger Aktien, insbesondere OTC - und Pink Sheet-Probleme, begrenzt werden. Provisionen können in Gewinne von erfolgreichen Trades zu essen, und können Verluste zu erhöhen. OTC - und Pink Sheet Equities verursachen oft zusätzliche Provisionsgebühren. Die wichtigsten Handelssysteme sind diejenigen, die Wert suchen - das heißt, Systeme, die verschiedene Parameter verwenden, um festzustellen, ob ein Wert unterbewertet ist im Vergleich zu seiner bisherigen Leistung, seine Kollegen oder den Markt im Allgemeinen. Devisenmarkt Der Devisenmarkt oder Forex. Ist der größte und liquideste Markt der Welt. Die Weltregierungen, Banken und andere große Institutionen Handel Trillionen von Dollar auf dem Forex-Markt jeden Tag. Die Mehrheit der institutionellen Händler auf der Forex beruht auf Handelssystemen. Das gleiche gilt für Einzelpersonen auf dem Forex, aber einige Handel auf Wirtschaftsberichte oder Zinsauszahlungen basiert. Hier sind einige wichtige Faktoren im Auge zu behalten, wenn Handelssysteme im Forex-Markt: Die Liquidität in diesem Markt - aufgrund der riesigen Menge - Macht Handelssysteme genauer und effektiver. Es gibt keine Provisionen in diesem Markt, nur Spreads. Daher ist es viel einfacher, viele Transaktionen ohne Erhöhung der Kosten zu machen. Im Vergleich zur Menge der verfügbaren Aktien oder Rohstoffe ist die Anzahl der Währungen zum Handel begrenzt. Aufgrund der Verfügbarkeit von exotischen Währungspaaren - also Währungen aus kleineren Ländern - ist das Spektrum der Volatilität nicht unbedingt begrenzt. Die wichtigsten Handelssysteme in Forex verwendet werden, die folgen Trends (ein beliebtes Sprichwort auf dem Markt ist der Trend ist Ihr Freund), oder Systeme, die kaufen oder verkaufen auf Breakouts. Dies liegt daran, wirtschaftliche Indikatoren oft große Preisbewegungen auf einmal verursachen. Futures Equity, Forex und Rohstoffmärkte alle bieten Futures-Handel. Dies ist ein beliebtes Fahrzeug für den Systemhandel aufgrund der höheren Menge an Leverage zur Verfügung und die erhöhte Liquidität und Volatilität. Allerdings können diese Faktoren schneiden in beide Richtungen: sie können entweder verstärken Sie Ihre Gewinne oder verstärken Sie Ihre Verluste. Aus diesem Grund ist der Einsatz von Futures in der Regel für fortgeschrittene individuelle und institutionelle Systemhändler vorbehalten. Dies liegt daran, Trading-Systeme in der Lage, Kapitalisierung auf dem Futures-Markt erfordern viel mehr Anpassung, Verwendung fortgeschrittener Indikatoren und viel länger dauern, um zu entwickeln. Also, Welches Bestes ist es bis zu den einzelnen Investoren zu entscheiden, welcher Markt am besten für den Systemhandel geeignet ist - jeder hat seine eigenen Vor-und Nachteile. Die meisten Menschen sind mehr vertraut mit den Aktienmärkten, und diese Vertrautheit macht die Entwicklung eines Handelssystems einfacher. Allerdings ist Forex häufig als die überlegene Plattform, um Handelssysteme laufen - vor allem unter erfahrenen Händlern. Darüber hinaus, wenn ein Händler beschließt, auf erhöhte Hebelwirkung und Volatilität zu nutzen, ist die Futures-Alternative immer offen. Letztlich liegt die Wahl in den Händen des Systementwicklers. Typen von Trading-Systemen Trend-Following Systems Die häufigste Methode des System-Trading ist die Trend-folgendes System. In seiner grundlegendsten Form, wartet dieses System einfach für eine signifikante Preisbewegung, dann kauft oder verkauft in diese Richtung. Diese Art von Systembanken auf die Hoffnung, dass diese Preisbewegungen den Trend beibehalten werden. Moving Average Systems Häufig in der technischen Analyse verwendet. Ein gleitender Durchschnitt ist ein Indikator, der einfach den Durchschnittspreis einer Aktie über einen bestimmten Zeitraum anzeigt. Das Wesen der Trends wird aus dieser Messung abgeleitet. Der häufigste Weg, um Ein-und Ausfahrt zu bestimmen, ist ein Crossover. Die Logik dahinter ist einfach: Ein neuer Trend wird festgestellt, wenn der Preis unter oder über dem historischen Durchschnittspreis liegt (Trend). Hier ist ein Diagramm, das sowohl den Preis (blaue Linie) als auch die 20-Tage-MA (rote Linie) von IBM darstellt: Breakout Systems Das grundlegende Konzept hinter dieser Art von System ist ähnlich dem eines gleitenden Durchschnittssystems. Die Idee ist, dass, wenn ein neues hoch oder niedrig ist, die Preisbewegung höchstwahrscheinlich in Richtung des Ausbruchs fortsetzen wird. Ein Indikator, der bei der Bestimmung von Ausbrüchen verwendet werden kann, ist ein einfaches Bollinger-Band-Overlay. Bollinger Bands zeigen Mittelwerte von hohen und niedrigen Preisen, und Breakouts auftreten, wenn der Preis die Kanten der Bands. Hier ist ein Diagramm, das Preis (blaue Linie) und Bollinger Bands (graue Linien) von Microsoft: Nachteile von Trendfolgesystemen: Empirische Entscheidungsfindung erforderlich - Bei der Bestimmung von Trends gibt es immer ein empirisches Element zu beachten: die Dauer von Der historische Trend. Zum Beispiel könnte der gleitende Durchschnitt für die letzten 20 Tage oder für die letzten fünf Jahre sein, so muss der Entwickler bestimmen, welche am besten für das System ist. Weitere Faktoren, die zu bestimmen sind, sind die durchschnittlichen Höhen und Tiefs in Breakout-Systemen. Lagging Nature - Gleitende Mittelwerte und Breakout-Systeme werden immer rückläufig sein. Mit anderen Worten, sie können nie den genauen oberen oder unteren Rand eines Trends. Dies führt zwangsläufig zu einem Verlust der potenziellen Gewinne, die manchmal erheblich sein kann. Whipsaw Effect - Unter den Marktkräften, die für den Erfolg der Trendfolgesysteme schädlich sind, ist dies einer der häufigsten. Der Peitscheneffekt tritt auf, wenn der gleitende Durchschnitt ein falsches Signal erzeugt, dh wenn der Mittelwert nur in den Bereich fällt, kehrt die Richtung plötzlich um. Dies kann zu massiven Verlusten führen, sofern nicht wirksame Stop-Loss - und Risikomanagementtechniken eingesetzt werden. Sideways Markets - Trendfolgesysteme sind naturgemäß in der Lage, nur in Märkten Geld zu verdienen, die tatsächlich Trend treiben. Aber auch die Märkte bewegen sich seitwärts. Innerhalb eines bestimmten Bereichs für einen längeren Zeitraum. Extreme Volatilität kann auftreten - Gelegentlich können Trendfolgesysteme eine extreme Volatilität aufweisen, aber der Trader muss mit seinem System bleiben. Die Unfähigkeit, dies zu tun, wird zu einem versicherten Ausfall führen. Countertrend Systems Grundsätzlich ist das Ziel mit dem countertrend-System, auf dem niedrigsten Tief zu kaufen und an der höchsten Höhe zu verkaufen. Der Hauptunterschied zwischen diesem und dem Trendfolgesystem besteht darin, dass das Gegenströmungssystem nicht selbstkorrigiert wird. Mit anderen Worten, es gibt keine festgelegte Zeit, um Positionen zu verlassen, und dies ergibt ein unbegrenztes Abwärtspotenzial. Arten von Countertrend-Systemen Viele verschiedene Arten von Systemen werden als Countertrend-Systeme betrachtet. Die Idee hier ist zu kaufen, wenn Schwung in eine Richtung beginnt zu verblassen. Dies wird am häufigsten mit Oszillatoren berechnet. Zum Beispiel kann ein Signal erzeugt werden, wenn Stochastik oder andere relative Stärkeindikatoren unter bestimmte Punkte fallen. Es gibt andere Arten von Countertrend Handelssysteme, aber alle von ihnen teilen das gleiche grundlegende Ziel - zu kaufen niedrig und hoch verkaufen. Nachteile von Countertrend Folgende Systeme: E mpirische Entscheidungsfindung erforderlich - Einer der Faktoren, auf die sich der Systementwickler beschränken muss, sind die Punkte, an denen die relativen Stärkeindikatoren verblassen. Extreme Volatilität kann auftreten - Diese Systeme können auch eine extreme Volatilität aufweisen, und eine Unfähigkeit, mit dem System trotz dieser Volatilität zu bleiben, wird zu einem gesicherten Ausfall führen. Unlimited Downside - Wie bereits erwähnt, gibt es unbegrenztes Downside-Potential, da das System nicht selbstkorrigiert (es gibt keine eingestellte Zeit, um Positionen zu verlassen). Fazit Die wichtigsten Märkte, für die Handelssysteme geeignet sind, sind die Aktien-, Devisen - und Futures-Märkte. Jeder dieser Märkte hat seine Vor - und Nachteile. Die beiden wichtigsten Gattungen der Handelssysteme sind die Trendfolger und die Gegen-Trendsysteme. Trotz ihrer Unterschiede bedürfen beide Arten von Systemen in ihren Entwicklungsstadien einer empirischen Entscheidungsfindung seitens des Entwicklers. Auch diese Systeme unterliegen extremer Volatilität und dies kann verlangen, einige Ausdauer - es ist wichtig, dass der System-Trader mit seinem System während dieser Zeiten bleiben. In der folgenden Tranche nehmen Sie einen genaueren Blick auf, wie man ein Handelssystem entwerfen und etwas von der Software sprechen, die Systemhändler verwenden, um ihr Leben zu erleichtern. Deutsch - Übersetzung - Linguee als Übersetzung von


No comments:

Post a Comment