Sunday, October 9, 2016

Gestaltung Eines Automated Trading Applikation Auf Der Netbeans Rich Client Platform (Teil 1)

Gestaltung eines Automated Trading Applikation auf der NetBeans Rich Client Platform (Teil 1) Die DevOps Zone wird Ihnen in Partnerschaft mit Librato gebracht. Schauen Sie sich Librato Whitepaper auf Auswählen einer Wolke Monitoring Solution. Im Laufe der letzten 10 Jahre neue Möglichkeiten haben, in den Lager, Futures und Devisenmärkte geöffnet werden, um Einzelhändlern ermöglichen die Möglichkeit, ihre eigenen automatisierten Handelsstrategien, die nur einmal das Reich der Hedgefonds und Investmentbanken war zu produzieren. Interactive Brokers war einer der ersten Broker-Firmen, um eine Java-API, um seine Retail-Kunden anzubieten. Ursprünglich als Möglichkeit für Entwickler, um Interactive Brokers Trader Workstation (TWS) Desktop-Anwendung mit Funktionen wie Charting oder Aufzeichnungen zu ergänzen vorgesehen, hat die API Popularität als eine Möglichkeit, Handelsstrategien zu automatisieren gewonnen. In meinem ersten Iteration der Entwicklung eines Trading-Strategie und Software, um das Handwerk zu automatisieren ich eine Java-Desktop-Anwendung mit Swing-Komponenten, welche Aktien in den Tag und Ort Trades überwachen würde, wenn bestimmte Parameter eingehalten wurden, und beenden Sie die Geschäfte in der Nähe des Einbau Handelstag. Die Software funktionierte gut, und es ist angemessen für die Strategie, es wurde entwickelt, um den Handel war, aber es war nicht erweiterbar und versuchen, neue Handelsstrategien zu implementieren, um zu automatisieren, sowie eine Verbindung zu verschiedenen Brokerage-Konten erwies sich als schwierig und umständlich. Auch gibt es Einschränkungen, wie viele Aktien können über Daten-Feed der Makler überwacht, damit die Software musste in der Lage, Echtzeit-Marktdaten-Feeds aus anderen Quellen neben Daten-Feed der Maklerunterzubringen ist. Ich war ein paar Jahren auf die NetBeans Rich Client Platform (RCP) eingeführt und haben vor kurzem beschlossen, meine Anwendung auf der Plattform zu portieren aufgrund einer Vielzahl von Vorteilen, die es bietet zu beginnen. Die Netbeans RCP auf einem Baukastenprinzip ermöglicht es dem Entwickler, abstrakte APIs für Funktionen definieren, und geben Sie dann Modulen, die verschiedene Implementierungen des API haben kann, so dass die Anwendung zur Laufzeit, die Umsetzung zu verwenden wählen Sie gebaut. Nicht nur, dass es für ein sauberes Design bieten durch Trennung betrifft, aber unter Verwendung des Netbeans Lookup API es entkoppelt auch die Anwendung und seine verschiedenen Komponenten voneinander. Es gibt zahlreiche andere Funktionen, die genutzt kann mit einem eingebauten Fenstersystem, Text-Editor, Datei-Explorer, Symbolleiste, Tisch und Baumtabelle Komponenten sowie Aktions API (um nur einige zu nennen) werden. Die Trading-Applikation wird Verwendung des RCP-Modul-System zu machen, um abstrakte APIs mit folgenden Funktionen definieren: Zeigen stornieren Aufträge für Aktien, Optionen, Futures, oder Währungen Geben Sie die Ereignisbenachrichtigung bei Bestellungen sind gefüllt Überwachen Sie Guthaben auf dem Konto Market Data API Abonnieren Sie den Echtzeit-Kursdaten für jeden Ticker-Symbol Melden Sie sich an Stufe 2 Daten (Markttiefe / Auftragsbuch) für jeden Ticker-Symbol Historische Daten API Fordern Sie historische Kursdaten für jeden Ticker-Symbol Trading-Strategie API Definieren Sie einen Satz von Regeln für das Ein - und Aussteigen Trades Fähigkeit, jede Makler, Marktdaten und historischen Daten API-Implementierungen zu nutzen, um Handelsentscheidungen zu treffen. Die primäre Anwendung für den Broker, Market Data und historische Daten API-Module werden unter Verwendung von Interactive Brokers Java-API, aber andere Implementierungen können auch als Netbeans Module in das Trading-Anwendung erstellt und dann importiert werden, so dass die Handelsstrategien können Verwendung von Marktdaten aus machen verschiedenen Quellen, wenn nötig. Neue Handelsstrategien können als Netbeans-Module der Umsetzung der Trading-Strategie API, wobei jede Strategie kann Verwendung von einem der Implementierungen der verschiedenen Daten und Broker APIs gebaut werden. Unter Verwendung der Netbeans Lookup API können Strategien die Plattform abfragen, um eine Liste aller Implementierungen der Broker und Marktdaten APIs Bereitstellung für lose Kopplung zwischen den APIs und ermöglicht dem Benutzer, die Umsetzung bis zur Laufzeit zu verwenden, wählen Sie zu bekommen. Unten ist ein Diagramm, das die Organisation der verschiedenen API-Komponenten der Anwendung: In Zukunft Beiträge werde ich mehr ins Detail auf, wie man eine API-Plug-in für die Netbeans RCP sowie zeigen, wie man eine konkrete Umsetzung der API erstellen erstellen zu gehen. In der obigen Abbildung der abstrakten Makler, Marktdaten und Handelsstrategie APIs werden in den RCP als Plug-Ins installiert. Der Broker API hat eine einzige Implementierung für Interactive Brokers an diesem Punkt in der Zeit. Die Marktdaten-API verfügt über Plug-Ins, die Implementierungen für Echtzeit-Marktdaten von Yahoo Finance sowie Interactive Brokers Echtzeit-Marktdaten. Schließlich hat die Handelsstrategie API 2 Implementierungen in diesem Beispiel. Die erste Strategie namens "Limit Käufer" werden die Preise von rund 800 Aktien und Ort Limit-Order zu beobachten, um zu kaufen, wenn bestimmte Bedingungen erfüllt sind. Die zweite Strategie im obigen Beispiel, mit dem Namen AUD / NZD Währungsstrategie werden die Wechselkurse der australischen und neuseeländischen Dollar und Bestellungen überwachen, um zu kaufen oder zu verkaufen, wenn bestimmte Bedingungen erfüllt sind. An diesem Punkt in der Zeit die Anwendung ist funktionell und wird unter Verwendung von Interactive Brokers als Haupt Brokerage sowie Marktdatenprovider. Die AUD / NZD Handelsstrategie wird aktiv durch die Anwendung mit einem rudimentären Benutzeroberfläche, die Veröffentlichung ist Nachrichten an einen Textbereich innerhalb des Haupt Registerkarte der Strategie gehandelt, wenn auch. Der Screenshot unten zeigt Interactive Brokers "Trader Workstation" Anwendung, die große schwarze Anwendung (die ein Java-Swing-app ist), sowie die Netbeans RCP automatisierte Trading-Anwendung, die den kleinen weißen Anwendung ist, mit dem großen Textbereich. In der Abbildung unten die Anwendung überwacht derzeit die Preise und Platzierung Trades für den australischen Dollar, Neuseeland-Dollar, Hongkong-Dollar und dem japanischen Yen Währungen. Dieser Beitrag ist nur eine allgemeine Übersicht über die Gestaltung einer RCP-Anwendung, um auf den Finanzmärkten zu handeln. Zukünftige Teile dieser Serie werden mehr Informationen darüber, wie abstrakte APIs zu implementieren und sie für andere Teile der Anwendung über die Netbeans Lookup-API verwenden, sowie die Arbeit mit einigen der Netbeans-UI-Komponenten verfügbar sind inklusive mit der Plattform, wie beispielsweise Tabs , Bäume und Tabellen, die zeigen, wie einfach es ist, die gleichen Daten über diese unterschiedlichen Ansichten mit der Netbeans Nodes API rendern. Darüber hinaus würde Ich mag einige JavaFX-Komponenten in der Anwendung wie die Charting-Komponenten, die in der Kern JavaFX-Bibliothek gefunden werden kann, die eine grafische Darstellung der einige der Daten die Strategien überwachen, die vorsehen, wird ein bisschen mehr sein wird, zu übernehmen benutzerfreundlicher als der aktuellen großen Textbereich. Die Integration von JavaFX-Komponenten innerhalb der Anwendung wird in einem zukünftigen Post sowie dokumentiert werden. Sie können meine Trading bezogen Blog verfolgen, wenn Sie möchten, um die tatsächlichen Handelsergebnisse von der Anwendung zu sehen, wie sein Sein zu raffiniert:


No comments:

Post a Comment