[PYTHON] Aktienkursprognose 1 Kapitel 1

Aidemy 2020/10/30

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dieses Mal werde ich ein Memo der Aktienkursprognose 1 veröffentlichen. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Überprüfen Sie den Ablauf der Aktienkursprognose ・ ① Holen Sie sich Tweets ・ ② Emotionsanalyse (negative / positive Analyse)

Fluss der Aktienkursprognose

-Es gibt technische Analyse __ und __ fundamentale Analyse, und dieses Mal werden wir technische Analyse durchführen. Der Fluss ist wie folgt. (In diesem Kapitel tun Sie ① und ②) ① Verwenden Sie die Twitter-API, um die vergangenen tweets eines bestimmten Kontos abzurufen. (2) Führen Sie eine tägliche __ Tweet-Emotionsanalyse (negative / positive Analyse) __ im Polaritätswörterbuch durch. ③ Holen Sie sich __Zeitreihendaten des durchschnittlichen Nikkei-Aktienkurses __. ④ Erstellen Sie ein __Modell, das die Höhen und Tiefen des Aktienkurses am nächsten Tag anhand der täglichen Stimmung vorhersagt.

① Holen Sie sich Tweets

・ Registrieren Sie sich zunächst bei TwitterAPI. ・ Die Registrierungsmethode entfällt. -Registrieren und erhalten Sie __ "Consumer Key", "Consumer Secret", "Access Token Secret", "Access Token" __ und verwenden Sie es, um Tweets zu erhalten.

Holen Sie sich Tweets nach Schlüsselwort

・ Code![Screenshot 2020-10-17 17.17.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/126526e1-9450-c2db- 5e75-dfbda9b2f3cd.png)

-Der __ 'Python' __ Teil des obigen Codes __ "res" __ ist das zu erwerbende Schlüsselwort.

Holen Sie sich Tweets nach Konto

・ Code![Screenshot 2020-10-17 17.24.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/eb60f385-4acc-774c- b11e-7d4bb2cbeb06.png)

-Der __ '@ nikkei_bizdaily' __ Teil des obigen Codes "Tweets" ist das zu erwerbende Konto. (@Nikkei_bizdaily ist ein Account von "Nikkei Sangyo Shimbun")

② Tweet Emotionsanalyse (negative / positive Analyse)

・ Die Emotionsanalyse (negative / positive Analyse) soll beurteilen, ob text durch Verarbeitung natürlicher Sprache eine positive oder eine negative Bedeutung hat. -Die Kriterien für die Beurteilung sind in __ "Polar Dictionary" __ enthalten. Die Emotionsanalyse wird durchgeführt, indem für jedes Wort im Text auf das Wörterbuch verwiesen wird. ・ Dieses Mal wird __ "Korrespondenztabelle für die Polarität von Wortemotionen" __ als Polaritätswörterbuch verwendet. Dies ist ein Wort, das auf einen Wert von -1 bis 1 (PN-Wert) unter Bezugnahme auf das "Iwanami Japanese Dictionary (Iwanami Shoten)" angewendet wird. Ein größerer Wert zeigt eine positive Bedeutung an, und ein kleinerer Wert zeigt eine negative Bedeutung an.

Analyse des Emotionsflusses von Tweets

I. Holen Sie sich Tweets und konvertieren Sie sie in __DataFrame __. (Siehe Aktienkursprognoseverfahren ①) Ii. Polaritätswörterbuch / DataFrame-Konvertierung importieren. Ⅲ. _ Morphologische Analyse mit MeCab __. Iv. Holen Sie den __PN-Wert aus dem Polaritätswörterbuch für jedes nach Morphologie analysierte Wort und fügen Sie ihn dem Wörterbuch hinzu. V. Berechnen Sie den durchschnittlichen __PN-Wert für jeden Tweet . Ⅵ . Standardisieren __ und zeigen die Änderung des PN-Werts auf __graph __ an.

Ii. Polaritätswörterbuch / DataFrame-Konvertierung importieren

-Importieren Sie das Polaritätswörterbuch mit __pd.read_csv () __. Geben Sie in der Korrespondenztabelle "Wortemotionspolarität" __ "names = ('Word', 'Reading', 'POS', 'PN')" __ an, um das Wort oder den PN-Wert zu lesen. -Listen Sie den Wortteil des Polaritätswörterbuchs in word_list und den PN-Werteteil pn_list auf, speichern Sie ihn und machen Sie ihn zusammen zu einem Wörterbuch (pn_dict).

·Code スクリーンショット 2020-10-19 21.13.28.png

Iii. Morphologische Analyse mit MeCab

·Code スクリーンショット 2020-10-19 22.27.42.png

Iv. Erhalten Sie den PN-Wert aus dem Polaritätswörterbuch für jedes nach Morphologie analysierte Wort und fügen Sie es dem Wörterbuch hinzu.

-Wenn das Polaritätswörterbuch durch morphologische Analyse referenziert werden kann, __ addieren Sie den PN-Wert des Polaritätswörterbuchs zu den Diktatdaten für jedes Wort __. Dies wird durch Definieren der Funktion "add_pnvalue" verwendet.

・ Code![Screenshot 2020-10-20 12.16.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/2930203a-1917-18c9- bee1-d40ef901380e.png)

V. Berechnen Sie den durchschnittlichen PN-Wert für jeden Tweet

・ Code![Screenshot 2020-10-20 11.13.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/fa7c1dac-8bb0-7e65- d938-8e76b71e6e9d.png)

Führen Sie eine Standardisierung durch und zeigen Sie Änderungen des PN-Werts in einem Diagramm an

-Finally wird der __PN-Wert als Grafik __ dargestellt. Wenn es jedoch unverändert bleibt, ändert sich das Ergebnis des __ - Diagramms abhängig davon, ob das gesamte Polaritätswörterbuch viele positive oder negative Bedeutungen enthält. Passen Sie das Ergebnis daher an, indem Sie standardization durchführen. -Für Diagramme verwenden Sie __plt.plot () __. Die vertikale Achse ist __ "Durchschnitt der pn-Werte" __ und die horizontale Achse ist __ "Datum" __. Zu diesem Zeitpunkt ist der Teil __ 'Text' __, bei dem es sich um eine andere Information als den PN-Wert handelt, keine unnötige Information für das Diagramm. Löschen Sie ihn daher.

・ (Überprüfung) Standardisierungsmethode (unbeaufsichtigtes Lernen 3): __ (Unterschied zwischen Daten und Durchschnitt) ÷ Standardabweichung __ X = (X - X.mean(axis=0))/X.std(axis=0)

-Code (beim Standardisieren der durchschnittlichen "means_list" des pn-Werts eines bestimmten Tweets df_tweets) スクリーンショット 2020-10-20 12.32.24.png

・ Grafik![Screenshot 2020-10-20 11.57.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/80c50519-c43f-7dbc- 4860-5899f7e19aa3.png)

Zusammenfassung

・ Die Aktienkursprognose wird im Ablauf von "Erfassung von Tweets", "Emotionsanalyse (negative / positive Analyse)", "Erfassung von Zeitreihendaten von Aktienkursen" und "Erstellung eines Aktienkursprognosemodells" durchgeführt. ・ Sie können Tweets erhalten, indem Sie sich bei der Twitter-API registrieren. ・ Informationen zur Emotionsanalyse finden Sie unter "Negative / Positive Analyse".

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Aktienkursprognose 2 Kapitel 2
Aktienkursprognose 1 Kapitel 1
Aktienkursprognose mit Tensorflow
Python: Aktienkursprognose Teil 2
Python: Aktienkursprognose Teil 1
[Python] Meine Aktienkursprognose [HFT]
Aktienkursprognose mit maschinellem Lernen (Scikit-Learn)
Aktienkursprognose mit Deep Learning (TensorFlow)
Aktienkursprognose mit maschinellem Lernen (Return Edition)
Aktienkursprognose mit Deep Learning (TensorFlow) -Teil 2-
Preisschwankungsprognose für virtuelle Währungen
Aktienkursprognose durch maschinelles Lernen Numerai Signals
Kaggle ~ Home Preisprognose ② ~
Python & Machine Learning Study Memo ⑦: Aktienkursprognose
Kaggle ~ Home Preisprognose ~
Aktienkursprognose mit TensorFlow (mehrschichtiges Perceptron: MLP) ~ Aktienprognose 2 ~
Aktienkursprognose mit LSTM_1
Holen Sie sich Lager mit Python
Tipps zur Erfassung von Aktienkursdaten
[Einführung in Systre] Aktienkursprognose; schwach am Montag m (__) m
Aktienkursprognose durch maschinelles Lernen Beginnen wir mit Numerai
Bitcoin-Preisprognose mit TensorFlow (LSTM)
Aktienkurs Prognose durch maschinelles Lernen ist so wahr, Numerai Signale
Ich habe einen UNIQLO-Aktienprognosedatensatz an Kaggle gesendet
Aktienerfassungscode durch Schaben (Selen)
Laden Sie japanische Aktienkursdaten mit Python herunter
[Python] Erstellen eines Aktien-Drawdown-Diagramms
Aktienkurs und Statistik (Mittelwert, Standardabweichung)
4. Monat, um die Aktienprognose AI für 10 Stunden am Tag fortzusetzen
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