Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)

Version prüfen

Die diesmal verwendete Python-Version lautet wie folgt.

python --version
Python 3.5.1 :: Anaconda 4.0.0 (x86_64)

Installieren Sie die, die Sie dieses Mal verwenden.

pip install quandl
pip install pandas-datareader
pip install jsm
pip install stockstats

Erfassung von Finanzdaten

Zusammenfassend gibt es zunächst einmal Quandl, pandas_datareader, jsm, und es scheint gut, Quandl, pandas_datareader, zu verwenden. (Bitte sagen Sie mir, ob es noch etwas gibt. Wahrscheinlich.)

Quandl

Die offizielle Dokumentation ist hier. Ich werde vorerst versuchen, den Aktienkurs von Apple zu ermitteln.

import quandl

d = quandl.get("WIKI/AAPL")

d.columns
# Index(['Open', 'High', 'Low', 'Close', 'Volume', 'Ex-Dividend', 'Split Ratio',
#        'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume'],
#       dtype='object')

d.shape
# (9162, 12)

Hier gibt es ein mysteriöses Wort WIKI, das die Datenquelle darstellt und in Konohen geschrieben ist.

Die Daten sehen aus wie Datum und Uhrzeit.

In einigen früheren Artikeln war es auch "Import Quandl", aber es scheint, dass es in der Mitte niedriger wurde.

pandas_datareader Offizielle Dokumentation.

import pandas_datareader as pdr

d = web.DataReader("AAPL", 'google')

# Parameters
# ----------
# name : str or list of strs
#     the name of the dataset. Some data sources (yahoo, google, fred) will
#     accept a list of names.
# data_source: {str, None}
#     the data source ("yahoo", "yahoo-actions", "yahoo-dividends",
#     "google", "fred", "ff", or "edgar-index")
#Folgendes wird weggelassen

d.shape
(1831, 5)

d.columns
# Index(['Open', 'High', 'Low', 'Close', 'Volume'], dtype='object')

Apple wird als erstes Argument angegeben, und Google wird als Datenquelle angegeben.

Die Daten sind auch ein tägliches Muster.

Der Erwerbszeitraum kann wie folgt angegeben werden.

import pandas_datareader as pdr
import datetime

start = datetime.datetime(2015, 1, 1)
end = datetime.datetime(2017, 4, 12)
d = pdr.DataReader("AAPL", 'google', start, end)

d.shape
# (574, 5)

jsm jsm soll die Entwicklung im Jahr 2015 eingestellt haben und Daten von Yahoo abkratzen. Yahoo ist [hier](https://www.yahoo-help.jp/app/answers/detail/p/546/a_id/93575/~/yahoo%21%E3%83%95%E3%82%A1% E3% 82% A4% E3% 83% 8A% E3% 83% B3% E3% 82% B9% E6% 8E% B2% E8% BC% 89% E6% 83% 85% E5% A0% B1% E3% 81% AE% E8% 87% AA% E5% 8B% 95% E5% 8F% 96% E5% BE% 97% EF% BC% 88% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0% EF% BC% 89% E3% 81% AF% E7% A6% 81% E6% AD% A2% E3% 81% 97% E3% 81% A6% E3% 81% 84% E3% 81% BE% E3% 81% 99) sagt, dass Schaben verboten ist, und ich denke, dass es besser ist, es nicht zu verwenden. ..

Spielen Sie mit Finanzdaten

stockstats Es gibt Aktienstatistiken als Paket, um die erfassten Finanzdaten zu manipulieren.

import stockstats
import quandl

d = quandl.get("WIKI/AAPL")

d.shape
# (9162, 12)

type(d)
# pandas.core.frame.DataFrame

stock = stockstats.StockDataFrame.retype(d)

type(stock)
# stockstats.StockDataFrame

stockstats ersetzt den Typ stockstats.StockDataFrame, eine Erweiterung des Pandas-Datenrahmens durch die Retype-Methode. Auf diese Weise können beispielsweise MACD-Berechnungen usw. durchgeführt werden.

stock['macd']
# Date
# 1980-12-12    0.000000
# 1980-12-15   -0.033654
# 1980-12-16   -0.104902
# 1980-12-17   -0.112351

So einfach ist das.

Wenn Sie sich den Code im Inneren ansehen, wird der Schlüssel des Datenrahmens, der an die erneute Eingabe übergeben wird, durch die Kleinfunktion verringert. Es scheint also, dass er den Unterschied zwischen Groß- und Kleinbuchstaben absorbiert. Wenn Sie jedoch keine Daten berechnen möchten, handelt es sich um einen Schlüsselfehler. .. Wenn Sie Variablen verwenden, die normalerweise nicht verwendet werden, oder wenn nur wenige Variablen vorhanden sind, ist es daher möglicherweise besser, als Pandas zu schreiben.

Recommended Posts

Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Holen Sie sich Youtube-Daten mit Python
[Python] Mit DataReader Wirtschaftsdaten abrufen
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich ein Ticket für einen Themenpark mit Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Eine Geschichte über den Umgang mit Binärdaten in Python
Folium: Visualisieren Sie Daten auf einer Karte mit Python
Zubu Amateur will Python starten
Extrahieren Sie mit Python Daten von einer Webseite
Holen Sie sich mit Poetry eine schnelle Python-Entwicklungsumgebung
Datenanalyse mit Python 2
Holen Sie sich ein Date mit Python
Datenanalyse mit Python
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Python Ver. Einführung in WebPay mit ein wenig Code
Ein Server, der POST-Daten mit flask / python wiedergibt
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
Holen Sie sich den Ländercode mit Python
Mit Python erstellte Beispieldaten
Machen Sie eine Lotterie mit Python
Holen Sie sich die Thread-ID mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Holen Sie sich Lager mit Python
Erstellen Sie ein Verzeichnis mit Python
Ein bisschen im Kettenschiff stecken
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Holen Sie sich Alembic-Informationen mit Python
Lesen von JSON-Daten mit Python
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Holen Sie sich eine saubere Python-Entwicklungsumgebung mit pyenv + pipx + Poetry
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Holen Sie sich zusätzliche Daten zu LDAP mit Python (Writer und Reader)
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich LeapMotion-Daten in Python.
[Python] Was ist eine with-Anweisung?
Löse ABC163 A ~ C mit Python
Python-Grafikhandbuch mit Matplotlib.
Beginnen Sie mit Python! ~ ① Umweltbau ~
Link, um mit Python zu beginnen
Holen Sie sich Bewertungen mit Python Googlemap API
Lassen Sie uns eine GUI mit Python erstellen.
Löse ABC166 A ~ D mit Python
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Holen Sie sich das Wetter mit Python-Anfragen
Erstellen Sie eine virtuelle Umgebung mit Python!
Holen Sie sich Web-Screen-Capture mit Python
Holen Sie sich das Wetter mit Python-Anfragen 2
Ich habe mit Python eine Lotterie gemacht.
Erstellen einer virtuellen Umgebung mit Python 3
Erste Schritte mit Python
Löse ABC168 A ~ C mit Python