Erstellen eines Handelsbots mithilfe von maschinellem Lernen in der Zeitreihenanalyse

Dies ist kein technischer Artikel, es gibt keine detaillierte Analyse von Methoden und Theorie. Es ist nur so, dass ich irgendwie vom maschinellen Lernen mitgerissen wurde und wie viele Leute, die neu in diesem Thema sind, habe ich beschlossen, einen Handelsbot zu machen. Dies ist jedoch mehr als nur ein Schulungsprojekt. Das möchte ich über all das erzählen.

Ein wenig über maschinelles Lernen


Maschinelles Lernen (Machine Learning; im Folgenden als MO bezeichnet) ist auf die eine oder andere Weise ein wesentlicher Bestandteil der Industrie für künstliche Intelligenz (künstliche Intelligenz; im Folgenden: KI), Wissenschaft und Technologie, die es „intelligenten“ Computersystemen ermöglicht, menschliches Verhalten zu modellieren. Zu dieser Branche gehört auch das Konzept des Deep Learning, das sich auf neuronale Netze und die Nachahmung des menschlichen Denkens auswirkt.

Die akademische Disziplin der KI wird als Maschine studiert, d.h. Computer, lösen Sie Probleme, die nur dem menschlichen Verstand unterliegen. Dies kann eine Aufgabe sein, z. B. das Verstehen des gelesenen Textes oder das Bestimmen der Bewegungen in einem Dame-Spiel oder das Lösen eines Puzzles. MO soll Algorithmen entwickeln, die dem Computer helfen, aus den erhaltenen Informationen Schlussfolgerungen zu ziehen. Kraftstoff für alles in diesem Fall sind Daten.

Bild
(c) Oracle

Im Informationszeitalter sind Informationen und Daten am wertvollsten. Alles, was wir tun, offline oder online, generiert neue Daten: ob es sich um Text-, Audio-, Videodaten, sensorische Messungen, „intelligente“ Geräte und den Datenaustausch zwischen ihnen handelt. Die Möglichkeiten zur Erfassung großer und neuer Daten nehmen aufgrund der Verfügbarkeit von Hardwaregeräten, der Entwicklung der Cloud-Infrastruktur und aufgrund des massiven Einsatzes dieser Technologien aufgrund sinkender Kosten rapide zu. Wissen oder Information ist Macht - das Axiom ist wahr, aber es gibt ein "aber".

Der Besitz großer Informationsmengen kommt dem Inhaber noch nicht zugute. Aber durch die Algorithmen und Methoden von MO beginnt Big Data Sinn zu machen und davon zu profitieren. Insbesondere bemerken MO-Systeme Muster und ziehen Schlussfolgerungen, die auf vielen Faktoren im Datensystem basieren, ohne dafür programmiert zu sein.

Die Hauptanwendungen von MO sind heute Objekterkennung, Computer Vision, Datenanalyse, Qualitätskontrolle (Überwachung) und prädiktive Analyse.

Wir wissen also, dass maschinelles Lernen auf Datenverarbeitungsalgorithmen und den Daten selbst beruht. Informationen zu MO-Methoden finden Sie in einer separaten Artikelserie. Ihre Beschreibung wäre vergleichbar mit der Auflistung möglicher Technologien in der Webentwicklung und ihrer Anwendung, wenn jede dieser Technologien ihre Vor- und Nachteile hat.

Es sollte nur beachtet werden, dass sich mit der Zeit die Algorithmen und Methoden der Datenverarbeitung verbessern und die Daten immer mehr werden, wodurch die Qualität der Datenverarbeitung besser wird.

Von den Datentypen möchte ich auf die Zeitreihen am Beispiel eines persönlichen Projekts achten - den automatisierten Handel mit Kryptowährungen.

Zeitreihenanalyse


Eine Zeitreihe ist eine Art von Daten, die als Folgen von Messungen dargestellt werden können, die zu nicht zufälligen Zeitpunkten geordnet sind.

Es gibt zwei Hauptziele der Zeitreihenanalyse:
Bestimmen der Art einer Reihe und Vorhersagen (Vorhersagen zukünftiger Werte einer Zeitreihe aus gegenwärtigen und vergangenen Werten). Dies beinhaltet die Identifizierung und Beschreibung des Serienmodells sowie die Dateninterpretation, die es uns ermöglicht, den zukünftigen Wert der Serie abzuleiten.

Mit MO-Methoden für solche Daten können wir tiefere Muster in den Daten finden. Als Ergebnis erhalten wir eine „intelligentere“ Prognose zukünftiger Werte.

Im Gegensatz zur Analyse zufälliger Datenproben basiert die Analyse von Zeitreihen auf der Annahme, dass sequentielle Werte in der Datendatei in regelmäßigen Abständen beobachtet werden. Bei anderen Methoden sind wir nicht wichtig und oft nicht daran interessiert, Beobachtungen mit der Zeit zu verknüpfen.

Mit anderen Worten, für die Analyse ist es wichtig, dass das Ereignis X zum Zeitpunkt Y eintritt. Zum Beispiel der Wechselkurs, wir sind wichtig bei der Auswahl, bei der der Preis an einen bestimmten Zeitpunkt gebunden ist. Wenn Sie die Reihenfolge der Daten in einer Reihe von Datumspreisen stören, wird dies bedeutungslos.

Mithilfe von Finanzzeitreihen kann der MO-Algorithmus beispielsweise eine Prognose über das Wachstum oder den Rückgang der Rentabilität erstellen. Bei der Verarbeitung von Audiodateien, bei denen Zeitreihen durch Tonänderungen in Bezug auf das Timing ausgedrückt werden, können Sie die Bedeutung der Sprache analysieren. Ausgehend von meteorologischen Daten können komplexe Wettervorhersagen über MO und Zeitreihen abgeleitet werden.

Wenn die Algorithmen des MO beispielsweise die Bilder von Siegeln analysieren, ist uns das Timing oder sogar die Reihenfolge, in der die Bilder eintreffen, egal.

Am Beispiel von Kryptowährungen


In meinem Projekt habe ich versucht, die Frage zu beantworten, ob es möglich ist, ein vollautomatisches Handelssystem aufzubauen, das auf Methoden des maschinellen Lernens basiert. Zu diesem Zweck habe ich historische Daten zu Bitcoin-Preisen, Transaktionsvolumen sowie aufgegebenen und zurückgezogenen Bestellungen gefunden und gesammelt.

Nach einiger Zeit gelangte ich durch Versuch und Irrtum zu einem gewissen Verständnis, wie diese Daten interpretiert werden sollten, welche neuronale Netzwerkarchitektur verwendet werden sollte, wie Daten beschriftet werden sollten usw. Insbesondere wird das Training mit einer Granularität von 10 Sekunden durchgeführt, und der Preis in der Zukunft wird als resultierender Wert verwendet.

Jetzt verwendet der Algorithmus mehrere Modelle, die zu unterschiedlichen Zeiten trainiert wurden, weil Ich habe den Lernalgorithmus ständig verbessert und neue gesammelte Daten hinzugefügt. Für die Implementierung wurde die Programmiersprache Python mit den Bibliotheken Keras, Scipy, Pandas verwendet.

Das Skript zur Ausführung von Handelsoperationen platziert Aufträge rund um die Uhr auf der Bitmex-Handelsplattform. Wenn ein Signal erscheint, um eine Position zu eröffnen und die entsprechende Transaktion abzuschließen, wartet das Skript, bis der Preis die Werte Take Take Profit oder Stop Loss erreicht oder bis die Transaktion abläuft (Time To Live).


Die Hauptprotokolldatei, in der die Datenverarbeitung in Echtzeit angezeigt wird

Der Datenverarbeitungsalgorithmus basiert auf technischer Datenanalyse, Handelshistorie, früheren Aufträgen, Aufträgen und Nachrichten in Bezug auf Kryptowährung (durch Verarbeitung natürlicher Sprache oder Verarbeitung natürlicher Sprache - NLP).

Die wichtigste Erfolgsmetrik ist die Genauigkeit basierend auf der Anzahl der Take-Profit-Aufträge im Verhältnis zur Gesamtzahl der Aufträge. Insgesamt wird die Prognose als erfolgreich angesehen, wenn der Take Profit-Auftrag erreicht ist, während Stop Loss und Time to Live vom Modell als nicht erfolgreich erkannt werden.

Genauigkeit = (Anzahl der Bestellungen vom Typ Gewinnmitnahme) / (Gesamtzahl der Bestellungen)

Verhandlungen gelten als rentabel, wenn eine Genauigkeit von 67% erreicht wird.
MonatRichtigkeit
Januar 202072%
Februar 202070%
März 202060%
April 202070%

Nachfolgend finden Sie visuell dargestellte Transaktionen, die mit einer solchen Softwarelösung durchgeführt wurden.


Grüne Dreiecke sind erfolgreiche Transaktionen (Gewinnmitnahme erzielt), rote Dreiecke sind erfolglos (Stop Loss, Time to Live). Dreiecke, die nach oben schauen, kaufen Geschäfte, Dreiecke, die nach unten schauen, verkaufen Geschäfte.

In Gewahrsam


Der automatisierte Handel ist nur eine der offensichtlichsten Anwendungen der Zeitreihenanalyse. Wenn wir über das Geschäft sprechen, kann die Vorhersage verschiedener Indikatoren auf der Grundlage der gesammelten Daten von entscheidender Bedeutung sein. Basierend auf solchen Prognosen können jetzt wichtige Geschäftsentscheidungen getroffen werden, und in Zukunft wird das Volumen automatisch getroffener Entscheidungen nur noch zunehmen.

Das Durchführen solcher Berechnungen ist ein ziemlich ressourcenintensiver Prozess. Glücklicherweise nimmt die Rechenleistung von Computersystemen ständig zu. Darüber hinaus zielt der moderne Zweig der Informatik, der KI studiert, darauf ab, Algorithmen zu entwickeln, die die verfügbaren Computerressourcen am effektivsten nutzen, um Muster in den akkumulierten Daten zu identifizieren.

Die Ableitung und Erstellung von Prognosen ist ohne die Verwendung von Zeitreihen nicht möglich. Diese Art von Daten liegt Prognosen zugrunde, die Führungskräften dabei helfen, Entscheidungen zu treffen, die für das Geschäft von entscheidender Bedeutung sind. Zweifellos ist die Analyse von Zeitreihen und deren Verarbeitung durch MO-Algorithmen ein wesentlicher Bestandteil der Geschäftsprozesse der Zukunft.

All Articles