[PYTHON] Eine Geschichte über das Clustering von Zeitreihendaten des Austauschs

Zusammenfassung dieses Artikels

Entwicklungsumgebung

Datenaufbereitung

Verwendung von USD / JPY von 2018.01 bis 2019.04, Der Eintrittspunkt des goldenen Kreuzes der gleitenden Durchschnittslinie in 5 Minuten wurde als Probendaten verwendet. (2482 Daten)

Beschriftung

Die Kennzeichnung erfolgte nach folgenden Regeln.

Result Label
Profit 1
Loss -1
Abrechnung durch Haltezeit 0

Dieses Mal setzen wir die Linien für Verlustreduzierung und Gewinnmitnahme so, dass sie grob in drei gleiche Teile unterteilt sind.

Clustering

Erwartetes Ergebnis

Wie in der folgenden Grafik gezeigt, habe ich erwartet, dass "Gewinnmitnahme" / "Verlustkürzung" / "Abrechnung durch Haltezeit" für jeden Cluster getrennt wird.

2002_1_hoped.png

Damit kann im Fall von Cluster 2 beurteilt werden, dass es nicht gut ist und der Handel vergessen werden kann.

Ergebnis

Wir haben mithilfe der TimeSeriesKMeans von scikit-learn geclustert, den Prozentsatz der Labels in jedem Cluster dargestellt und nach Gewinnrate sortiert.

2002_2_OHLC_and_RSI.png

Nicht gut genug. .. Die höchste Gewinnrate betrug 45% und die niedrigste Gewinnrate 22%. Da das Original fast in 3 gleiche Teile geteilt ist (33%), scheint es, dass es ein wenig geteilt werden kann, aber ich möchte, dass es ein bisschen schöner geteilt wird.

Oberschenkel hinzufügen

Mit dem Ziel der Verbesserung haben wir beschlossen, die folgenden längeren Zeitrahmeninformationen zur Feature-Menge hinzuzufügen.

Das Ergebnis ist unten. 2002_3_with_long_term_indicator.png

Die höchste Gewinnrate betrug 63% und die niedrigste Gewinnrate betrug 14%. Durch das Hinzufügen der Informationen auf den Oberschenkeln hat sich viel verbessert. Ich finde es gut, weil ich erneut bestätigen konnte, dass die Informationen auf den Oberschenkeln nützlich waren. Mit einem solchen Ergebnis scheint es schwierig zu sein, den Schaden zu vermeiden, aber ich persönlich dachte, dass es verwendet werden könnte, um die Anzahl der Positionen anzupassen.

Vielen Dank für das Lesen des Artikels.

Referenz

Recommended Posts

Eine Geschichte über das Clustering von Zeitreihendaten des Austauschs
Über Zeitreihendaten und Übertraining
Differenzierung von Zeitreihendaten (diskret)
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
Erfassung von Zeitreihendaten (täglich) von Aktienkursen
Glättung von Zeitreihen und Wellenformdaten 3 Methoden (Glättung)
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Eine Geschichte über die Vorhersage des Wechselkurses mit Deep Learning
Abnormalitätserkennung von Zeitreihendaten durch LSTM (Keras)
Eine Geschichte über das Problem, 3 Millionen ID-Daten in einer Schleife zu verarbeiten
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Eine Geschichte über die Verbesserung des Programms zum teilweisen Füllen von binärisierten 3D-Bilddaten
Über die Datenverwaltung von Amboss-App-Server
So extrahieren Sie Funktionen von Zeitreihendaten mit PySpark Basics
Vergleich der Vorhersage von Zeitreihendaten zwischen dem SARIMA-Modell und dem Prophet-Modell
[numpy] Erstellen Sie eine sich bewegende Fenstermatrix aus mehrdimensionalen Zeitreihendaten
<Pandas> Umgang mit Zeitreihendaten in der Pivot-Tabelle
Beim Zeichnen von Zeitreihendaten und Abrufen von matplotlib OverflowError
Berechnung der Zeitreihen-Kundenbindung
Eine erfrischende Geschichte über Slice in Python
Python: Zeitreihenanalyse: Vorverarbeitung von Zeitreihendaten
Eine launische Geschichte über Slice in Python
Die Geschichte der Verwendung von Python reduziert
Die Geschichte des Exportierens eines Programms
[Für Anfänger] Skript innerhalb von 10 Zeilen (5. Resample von Zeitreihendaten mit Pandas)
Leistungsfähigkeit von Vorhersagemethoden in der Zeitreihendatenanalyse Halboptimierung (SARIMA) [Memo]
Eine Geschichte über die Einführung von Django anstelle von Rails bei einem jungen Start-up
Eine Geschichte über mein neues Python-Studium nach 3 Jahren MATLAB-Erfahrung
Eine Geschichte von einer Person, die von Anfang an auf Datenwissenschaftler abzielte
Zeichnen Sie die CSV von Zeitreihendaten mit einem Unixtime-Wert in Python (matplotlib).
Ein Hinweis zu den Funktionen der Standard-Linux-Bibliothek, die sich mit Zeit befasst
[Kaggle] Ich habe versucht, mithilfe von tsfresh das Feature-Quantity-Engineering mehrdimensionaler Zeitreihendaten durchzuführen
Vorhersage von Zeitreihendaten durch Simplex-Projektion
Vorhersage von Zeitreihendaten mit einem neuronalen Netzwerk
Eine Geschichte über maschinelles Lernen mit Kyasuket
Memorandum zu Djangos QueryDict
[Python] Beschleunigt das Laden von Zeitreihen-CSV
Zeitreihenanalyse 4 Konstruktion des SARIMA-Modells
Erkennung von Zeitreihendatenanomalien für Anfänger
Konvertierung von Zeitdaten in 25-Uhr-Notation
Die Geschichte der Verarbeitung A von Blackjack (Python)
Umgang mit Zeitreihendaten (Implementierung)
OpenFOAM-Zeitreihendaten lesen und Daten einstellen
Ein Memorandum über Probleme beim Formatieren von Daten
Eine Geschichte über das Erreichen einer Wiederherstellungsrate von Pferderennen von über 100% durch maschinelles Lernen
Extrahieren Sie Perioden, die einem bestimmten Muster entsprechen, aus den qualitativen Daten der Pandas-Zeitreihen