[PYTHON] Vorhersage von Aktienkursänderungen mithilfe von Metallkennzeichnung und zweistufigem maschinellem Lernen

1 Was ist mit diesem Artikel?

In Kapitel 3 von Advanced in Financial Machine Learning wird eine zweistufige Methode des maschinellen Lernens vorgestellt, bei der die Triple-Barrier-Methode und Metalabel eingeführt werden. Die aktuellen Aktienkursdaten entsprechen dem Triple-Barrier-Schwellenwert innerhalb des Zeitlimits. Es wird ein Verfahren eingeführt, um vorherzusagen, ob die Obergrenze überschritten wird, die Untergrenze der Dreifachbarriere-Schwelle überschritten wird oder die Ober- und Untergrenze der Dreifachbarriere-Schwelle erreicht wird. Hier ist ein Beispiel für die Anwendung dieser Methode auf Bitcoin, um den F1-Score zu verbessern (Financial Machine Learning Part 1: Labels) ). Da das Konzept selbst immer noch schwierig ist, schrieb ich einen Artikel, der durch Kauen (Financial Machine Learning Part 1: Labels) erklärt wurde. Ich würde gerne.

Referenzartikel </ b> ・ Verbesserung der Leistungsmetrik durch zweistufiges LernmodellFinanzielles maschinelles Lernen Teil 1: Labels

2 Was möchten Sie tun?

① Überschreitet der aktuelle Aktienkurs die Obergrenze des Schwellenwerts? </ B> ② Unterschreitet er die Untergrenze des Schwellenwerts? </ B> ③ Bewegt er sich innerhalb der Ober- und Untergrenze des Schwellenwerts? Ich möchte </ b> vorhersagen. Sie sagt den zukünftigen Aktienkurs selbst nicht voraus, aber (1) wird sie die Obergrenze der Schwelle überschreiten, (2) wird sie die Untergrenze der Schwelle unterschreiten und (3) wird sie innerhalb der Ober- und Untergrenze der Schwelle bleiben? Ich möchte vorhersagen, welcher der drei Fälle sein wird.

119.JPG

3 Wie machst du das?

3-1 Verwenden Sie maschinelles Lernen in zwei Schritten

  1. maschinelles Lernen von Trainingsdaten zur Aufzeichnung der Preisbewegung von Bitmünzen in Triple-Barrier (die Obergrenze der Triple-Barrier-Schwelle wurde erreicht, die Untergrenze der Schwelle wurde erreicht und liegt innerhalb der Triple-Barrier) ab einem beliebigen Zeitpunkt. Eingabe in das Modell (logistische Regression) und Training des 1. maschinellen Lernmodells. Trainieren Sie das 2. maschinelle Lernmodell anhand der Ausgabe des 1. maschinellen Lernmodells und der Trainingsdaten.

3-2 Was sind die Vorteile des zweistufigen maschinellen Lernens?

Die Genauigkeit kann durch Verwendung eines zweistufigen Modells für maschinelles Lernen verbessert werden.

128.JPG

4 Was hast du gemacht?

  1. Dezember 2018 → Wir konnten die Genauigkeit der Bitcoin-Preisdaten vom 9. Dezember 2018 durch Anwendung des "zweistufigen maschinellen Lernmodells" verbessern.

● 4. Dezember 2018 → Bitcoin-Preis am 9. Dezember 2018 129.JPG

● Die Genauigkeit und der F1-Score könnten durch Anwendung des "zweistufigen maschinellen Lernmodells" verbessert werden. (Die Vorhersagegenauigkeit hat sich verbessert.) </ B> Mit anderen Worten, durch Anwendung des "zweistufigen maschinellen Lernmodells"

[TN] </ b> Vorausgesagt, dass sich der Preis innerhalb von Triple-Barrier ändern wird → Vorausgesagt, dass er sich tatsächlich innerhalb von Triple-Barrier ändern wird [TP] </ b> Voraussichtliche Preiserhöhung → Tatsächliche Preiserhöhung [TP] </ b> Vorausgesagt, dass der Preis sinken wird → Der Preis ist tatsächlich gesunken. Ich konnte die Frequenz von verbessern. 127.JPG

Die Trainingsdaten und Testdaten wurden in das trainierte maschinelle Lernmodell eingegeben und die Verwirrungsmatrix berechnet. TP (True Positive) ist ein Gewinnmuster, FP (False Positive) ist ein Verlustschnittmuster, TN (True Negative), FN (False Negative) ist ein Muster, das nichts bewirkt, sodass die Anzahl der TPs und die Anzahl der FPs zunimmt Es kann gesagt werden, dass es vorzuziehen ist, zu reduzieren.

130.JPG

Tatsächlich wird das 2. Modell mit dem 1. Modell verglichen ・ In den Trainingsdaten ... wird TP verbessert und FP verringert, sodass sich die Gewinnwahrscheinlichkeit verbessert. Genauigkeit und F1-Punktzahl werden ebenfalls verbessert. ・ In den Testdaten ... nahm TP ab, FP nahm ab. Da sich die Genauigkeit und der F1-Score verbessert haben, hat die Wahrscheinlichkeit, dass die Vorhersage durch das Modell des maschinellen Lernens korrekt ist, zugenommen, aber da TP abgenommen hat und FP abgenommen hat, hängt es von der Situation ab, welchen Gewinn man erzielen kann. (Sollten wir bewerten, dass die Wahrscheinlichkeit einer Verlustreduzierung abnimmt)

131.JPG

5 Zusammenfassung

  • Ein zweistufiges Modell des maschinellen Lernens wurde angewendet, um zukünftige Preisbewegungen von Bitcoin vorherzusagen.
  • Die Genauigkeit und der F1-Score könnten durch Anwendung des "zweistufigen maschinellen Lernmodells" verbessert werden. (Die Vorhersagegenauigkeit hat sich verbessert.) </ B> ――Das "zweistufige Modell des maschinellen Lernens" ist dem "einstufigen Modell des maschinellen Lernens" vorzuziehen, da die Gewinnwahrscheinlichkeit verbessert und die Wahrscheinlichkeit einer Verlustreduzierung in den Trainingsdaten verringert wird.
  • Bei Anwendung auf Testdaten hat das "zweistufige maschinelle Lernmodell" jedoch eine geringere Gewinn- und Verlustwahrscheinlichkeit als das "einstufige maschinelle Lernmodell", so dass das "zweistufige maschinelle Lernmodell" und das "einstufige maschinelle Lernmodell" und die "einstufige maschinelle Lernmethode". Welches der "Lernmodelle" rentabel sein kann, hängt von der Situation ab. Die Wahrscheinlichkeit, Geld zu verlieren, nimmt jedoch ab

6 Code-Freigabe

Der Jupyter-Code, der das oben Genannte implementiert hat, wurde unten hochgeladen.

https://github.com/fdfpy/studyresult/tree/master/3-5

6-1 Berechnung der Standardabweichung des täglichen Einkommens (Vorbereitung)

Berechnen Sie die Standardabweichung des täglichen Einkommens gemäß dem in der folgenden Abbildung gezeigten Fluss. 120.JPG

6-2 Etikettenzuweisungsmethode

Sei volstd ($ t_ {i} $) die Standardabweichung des täglichen Einkommens zum Zeitpunkt $ t_ {i} $. Lassen Sie den Aktienkurs zum Zeitpunkt $ t_ {i} $ auch $ c [t_ {i}] $ sein. Definieren Sie eine Dreifachbarriere. (In der folgenden Abbildung beträgt der obere Grenzwert Vthu = volstd ($ t_ {i} ), der untere Grenzwert Vthd = -volstd ( t_ {i} $) und das Zeitlimit 15 Minuten.) Berechnen Sie $ vol = c [t] / c [t_ {i}] - 1 $. Label = 0, -1,1 wird wie folgt vergeben.

\begin{eqnarray}
Label
=
\begin{cases}
1 & ( vol \geqq Vthu ) \\
0 & ( Vthd \lt b \lt Vthu ) \\
-1 & (vol \lt Vthd)
\end{cases}
\end{eqnarray}

121.JPG

6-3 Definition der Zuordnung zur Verwirrungsmatrix

Weisen Sie der Verwirrungsmatrix gemäß der folgenden Abbildung zu.

123.JPG

6-4 Schulung und Anwendung des 1. Modells

124.JPG

6-5 Schulung und Anwendung des 2. Modells

125.JPG

Recommended Posts