[PYTHON] Machen Sie weiterhin Aktienprognose AI für 10 Stunden pro Tag 1. Monat

Am 3. Dezember letzten Jahres habe ich wieder Python gelernt. Als ich mich fragte, ob ich etwas zum Üben machen könnte, kam mir die Idee, eine KI für die Aktienkursvorhersage zu erstellen, und ich beschloss, es zu versuchen. Das Ergebnis ist eine KI, die vorhersagen kann (und kann), dass die Aktienkurse mit einer Genauigkeit von 64% um mehr als 1% steigen oder fallen werden. Projekt 1 ist das Hauptfach und Projekt 2 ist das Hauptfach.

Projekt 1

Verwenden Sie die lineare Regression, um visuell zu bestimmen, ob der aktuelle Aktienmarkt eine Blase ist. Ich wollte die Ergebnisse auch in eine Website einbetten, damit jeder Bilder seiner bevorzugten ETFs, Unternehmensaktien oder eines beliebigen Zeitraums erstellen kann, um festzustellen, ob der aktuelle Preis eine Blase ist.

image.png image.png

Infolgedessen dachte ich, ich wäre mit Django in meiner lokalen Umgebung erfolgreich, konnte es aber nicht wirklich bereitstellen. Ich glaube, ich hatte nicht genug Wissen über die Datenbank und Django. Es ist vorerst ein Code. https://github.com/LulutasoAI/LRQiita/blob/master/LRgenerator

Projekt 2

Prognostizieren Sie zukünftige Aktienkurse durch Bildanalyse.

Versuch 1

Eine große Menge von Aktienkursdaten wird alle zwei Monate in ein Kerzendiagrammbild umgewandelt, der Preis sowie das Datum und die Uhrzeit, die am Ende des Diagramms angezeigt werden, werden erfasst und in zwei Typen unterteilt, je nachdem, ob der Kurs zwei Monate später steigt. Sagen Sie voraus, ob die Aktienkurse auf die gleiche Weise steigen oder fallen werden, wie Sie zwischen Hunden und Katzen unterscheiden. Die Daten sind ungefähr 500 Blatt Nikkei durchschnittlicher Aktienkurs, S & P500, APPLE Inc. Und die Daten von Toyota Motor von 2001 bis heute. https://github.com/LulutasoAI/Datasetpricechart1 Bitte zum Lernen

Die Daten sehen so aus Kategorie 0: Preis steigt nach Bild (nach oben) image.png Kategorie 1: Nachdem der Bildpreis gefallen ist (nach unten) image.png

Ergebnis

Die Genauigkeit hat sich bei der Validierung des Lernens nicht geändert, aber die Genauigkeit beträgt vorerst 58% image.png 55,8% bei Versuch mit einem Testset image.png Hmm subtil

Versuch 2

Ich habe versucht vorherzusagen, indem ich das Candlestick-Diagramm in vier Kategorien eingeteilt habe. Der Datensatz enthält vier Gruppen: eine Gruppe, deren Preis in den zwei Monaten nach dem Bild um 4,8% oder mehr gestiegen ist, eine Gruppe, deren Preis um 4,8% oder mehr gesunken ist, eine Gruppe, deren Preis in anderen Bildern leicht gestiegen ist (4,7% oder weniger), und eine Gruppe, deren Preis gesunken ist. Ich habe es in Lernen unterteilt. Das Ergebnis ist eine KI, die mit einer Genauigkeit von 36% erraten kann, zu welcher Gruppe das Bild gehört. Ich habe über die Bedeutung dieser Genauigkeit von 36% nachgedacht, aber ich habe sie nicht gut verstanden. Ich dachte, dass es viel besser ist als die 25%, die zufällig vorhergesagt werden können, weil es einfach 4 Kategorien sind, aber das Verhältnis der 4 Kategorien des diesmal verwendeten Datensatzes ist "um 13,36% gesunken", "drastisch um 23,22% gesunken". , "drastisch um 38,23% gestiegen", "um 25,17% gestiegen", daher scheint es nicht so einfach zu sein, darüber nachzudenken. Als offensichtliches Beispiel für Übertraining kann beispielsweise eine KI, die vorhersagt, dass sie für alle Bilder "drastisch ansteigt", eine Genauigkeit von etwa 38% aufweisen (zufällige Trainings- und Testsätze aus diesem Datensatz). Weil es möglich ist). Jedenfalls war ich mir nicht sicher, ob 36% gut oder schlecht waren.

Versuch 3

Ich wollte es einfacher machen. Wir haben uns entschieden, nur zwei Gruppen im obigen Datensatz zu verwenden, deren Preise sich um 4,8% oder mehr bewegten. als Ergebnis image.png image.png Überlernen ist auf diese Weise geschehen. Ich denke, bei diesem Versuch gibt es noch Raum für Forschung. Es scheint, dass eine Verbesserung durch das Spielen mit Keras-Modellen und -Ebenen erwartet werden kann.

Versuch 4

Ich erstelle einfach einen Datensatz, indem ich ihn in zwei Teile teile, je nachdem, ob der Preis in den zwei Monaten nach dem Bild gestiegen oder gefallen ist. Diesmal habe ich jedoch versucht, anhand einer großen Datenmenge zu lernen. Wir haben Aktienkursdaten für den Zeitraum vom 01.01.2001 bis heute erfasst.

image.png

Das Ergebnis war ziemlich gut.

Versuch 5

Bei der obigen Klassifizierungsmethode kann angenommen werden, dass das, was durch einen geringfügigen Unterschied (zum Beispiel einen Unterschied von 2 Cent) als "unten" klassifiziert werden könnte, als "hoch" klassifiziert wird und der Preis gering ist. Ich dachte, dass Dinge, die sich nicht geändert haben, das Modell während des Trainings verwirren könnten, und entschied mich daher, Dinge mit Preisschwankungen von weniger als 1% nicht in den Datensatz aufzunehmen. Das Ergebnis des Lernens mit diesem Datensatz image.png

Ich habe hier festgestellt, dass das Problem möglicherweise eher beim Keras-Modell oder der Ebene als beim Datensatz liegt.

Versuch 6

Ich habe versucht, alles zu nutzen, was ich gelernt habe. Der Datensatz ist groß und 3753 Candle-Foot-Charts ohne Bilder, deren Preise sich um weniger als 1% bewegt haben. Ich war mir bewusst, Überlernen zu vermeiden.

Und das Ergebnis des Versuchs mit einem bestimmten Modell Nach 150 Epochen image.png

Nach 250 Epochen image.png Nicht schlecht.

Aber Moment mal, wenn Sie darüber nachdenken, die Charts von 2007 bis 2009, als es einen Lehman-Schock gab, sind möglicherweise laut. Hier kam mir die Idee, ab 2010 nur noch Diagramme zu lernen. Die Anzahl der Datensätze hat 1875 erreicht, aber es ist Zeit herauszufordern Spielen Sie den ganzen Tag mit dem Modell und versuchen Sie, Fehler zu machen

Nach 500 Epochen image.png

Der Testsatz ist jetzt zu 64% genau. Das ist heute passiert. Ich möchte einen Artikel schreiben, nachdem ich etwas mehr über Modelle und Ebenen studiert habe.

Fazit

Indem wir Python Candlestick-Charts lernen ließen, stellten wir fest, dass es für Computer schwierig war, die Zukunft der Börse vorherzusagen. Andererseits deutet eine Genauigkeit von 64% auch darauf hin, dass sich hinter dem Diagramm etwas befindet, das eine Vorhersage ermöglicht.

Ich möchte meine Forschung fortsetzen, solange die Mittel (Lebenshaltungskosten) bestehen. Sobald ich eine gute KI habe, möchte ich sie in eine Website einbetten, damit jeder sie verwenden kann. Zu guter Letzt habe ich es auf Englisch geschrieben, also schauen Sie es sich bitte an. https://lulitech.nihoninanutshell.com

Recommended Posts

Machen Sie weiterhin Aktienprognose AI für 10 Stunden pro Tag 1. Monat
Machen Sie weiterhin eine Aktienprognose AI für 10 Stunden pro Tag im 3. Monat
Machen Sie weiterhin Aktienprognose AI für 10 Stunden am Tag 2. Monat 2. Woche
4. Monat, um die Aktienprognose AI für 10 Stunden am Tag fortzusetzen
So erstellen Sie mit YOLO in 3 Stunden ein Modell für die Objekterkennung
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ①
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ②
Ich habe einen UNIQLO-Aktienprognosedatensatz an Kaggle gesendet
Einführung in discord.py (1. Tag) -Preparation for discord.py-
Ich habe versucht, KI für Smash Bra zu machen
Aktienkursprognose 2 Kapitel 2
Aktienkursprognose 1 Kapitel 1
[Einführung in Systre] Aktienkursprognose; schwach am Montag m (__) m
Wie erstelle ich ein Python-Paket (geschrieben für Praktikanten)