Obtenez des données financières avec python (puis un peu de bricolage)

Vérifier la version

La version de python utilisée cette fois est la suivante.

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

Installez celui que vous utilisez cette fois.

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

Acquisition de données financières

Tout d'abord, en conclusion, il y a autour de Quandl, pandas_datareader, jsm, et il semble bon d'utiliser Quandl, pandas_datareader. (Veuillez me dire s'il y a autre chose. Probablement.)

Quandl

La documentation officielle est ici. Je vais essayer d'obtenir le cours de l'action d'Apple pour le moment.

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)

Il y a ici un mot mystérieux WIKI, qui est la source des données et est écrit dans Konohen.

Les données ressemblent à la date et à l'heure.

De plus, dans certains articles précédents, c'était ʻimport Quandl`, mais il semble qu'il soit devenu plus bas au milieu.

pandas_datareader [Documentation] officielle (https://pandas-datareader.readthedocs.io/en/latest/).

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")
#Ce qui suit est omis

d.shape
(1831, 5)

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

Apple est spécifié comme premier argument et google est spécifié comme source de données.

Les données sont également un modèle quotidien.

La période d'acquisition peut être spécifiée comme suit.

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 Il est écrit que jsm a arrêté le développement en 2015 et récupère les données de yahoo. Yahoo est [ici](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) dit que le grattage est interdit, et je pense qu'il vaut mieux ne pas l'utiliser. ..

Jouez avec les données financières

stockstats Il existe des stocks comme un package pour falsifier les données financières acquises.

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 remplace le type stockstats.StockDataFrame, qui est une extension du dataframe pandas par la méthode retype. En faisant cela, par exemple, le calcul MACD, etc.

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

C'est facile comme ça.

En regardant le code à l'intérieur, la clé de la trame de données passée à retaper est rendue inférieure par la fonction inférieure, il semble donc qu'elle absorbera la différence entre les majuscules et les minuscules, mais s'il n'y a pas de données que vous souhaitez calculer, ce sera une erreur clé. .. Par conséquent, lorsque vous utilisez des variables qui ne sont pas normalement utilisées ou lorsqu'il y a peu de variables, il peut être préférable d'écrire en pandas.

Recommended Posts

Obtenez des données financières avec python (puis un peu de bricolage)
Obtenez des données Youtube avec python
[Python] Obtenez des données économiques avec DataReader
[Note] Obtenir des données de PostgreSQL avec Python
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez un billet pour un parc à thème avec python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
J'ai essayé d'obtenir des données CloudWatch avec Python
Une histoire sur la gestion des données binaires en Python
Folium: Visualisez les données sur une carte avec Python
Zubu amateur veut démarrer Python
Extraire des données d'une page Web avec Python
Obtenez un environnement de développement Python rapide avec Poetry
Analyse de données avec python 2
Obtenez date avec python
Analyse de données avec Python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Python Ver. Présentation de WebPay avec un peu de code
Un serveur qui fait écho aux données POSTées avec flask / python
Obtenir des données de la base de données via ODBC avec Python (Access)
Obtenez une grande quantité de données Twitter de Starba avec python et essayez l'analyse de données Partie 1
Obtenez le code du pays avec python
Exemple de données créées avec python
Faites une loterie avec Python
Obtenir l'ID de thread avec python
Commencez avec Python! ~ ② Grammaire ~
Obtenez des stocks avec Python
Créer un répertoire avec python
Un peu coincé dans le chainer
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Obtenez des informations sur l'alambic avec Python
Lire des données json avec python
Obtenez une liste des livres électroniques DMM achetés avec Python + Selenium
Débarrassez-vous des données sales avec Python et les expressions régulières
Obtenez un environnement de développement Python propre avec pyenv + pipx + Poetry
Obtenez des données de l'API d'analyse avec le client API Google pour python
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Obtenez des données LeapMotion en Python.
[Python] Qu'est-ce qu'une instruction with?
Résoudre ABC163 A ~ C avec Python
Manuel de graphisme Python avec Matplotlib.
Commencez avec Python! ~ ① Construction de l'environnement ~
Lien pour commencer avec python
Obtenir des données de Quandl en Python
Obtenez des avis avec l'API googlemap de python
Faisons une interface graphique avec python.
Résoudre ABC166 A ~ D avec Python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Obtenez la météo avec les requêtes Python
Créez un environnement virtuel avec Python!
Obtenez une capture d'écran Web avec python
Obtenez la météo avec les requêtes Python 2
J'ai fait une loterie avec Python.
Créer un environnement virtuel avec Python 3
Comment démarrer avec Python
Résoudre ABC168 A ~ C avec Python