Pythonのpandasライブラリーを使用して、
- 株価、コモディティー(金、ビットコインなど)、FXデータ(USDJPYなど)を
- 無料で
- Pythonの学習入門者でも、容易に取得できる方法
をご紹介します。
ライブラリ「pandasと、pandas datareader」を使用します。
インストール方法を紹介した後に、具体的な使い方を解説しています。
ライブラリのインストール方法
- pandas
- pandas datareader
の順番で紹介していきます。
pipを使用した方法をご紹介します。
pipの詳細を知りたい方は、下記をご参照ください。
pandasのインストール方法
pip install pandas
pandas_datareaderのインストール方法
pip install pandas_datareader
Pythonによる、 金融データの取得方法
まずは下記の金融データを、日足で取得する方法をご紹介します。
- [ 株価 ] データ
- [ コモディティー ] データ
- [ FX ] データ
その後
- 週足、月足
を取得する方法を記しています。
必要なライブラリのimport
import datetime
import pandas as pd
from pandas_datareader import data
[ 株価 ] データの取得方法
コードの紹介
# データ 取得期間の設定
# 終了日 (仮に今日とする)
end = datetime.datetime.today()
# 開始日 (365日前とする)
start = (pd.Period(end, 'D') - 365).start_time
# データ収集 (TickerをSPYとする)
df = data.get_data_yahoo('SPY', end=end, start=start)
上記コードのTickerを変更すれば、各種データが取得可能です。
例えば、下記のようなTickerが挙げられます。
- QQQ
- DIA
結果
DataFrame型で取得できます。
# dfの表示結果
High Low Open Close Volume Adj Close
Date
2020-12-30 373.100006 371.570007 372.339996 371.989990 49455300.0 367.094330
2020-12-31 374.660004 371.230011 371.779999 373.880005 78520700.0 368.959442
2021-01-04 375.450012 364.820007 375.309998 368.790009 110210800.0 363.936401
2021-01-05 372.500000 368.049988 368.100006 371.329987 66426200.0 366.442963
2021-01-06 376.980011 369.119995 369.709991 373.549988 107997700.0 368.633789
[ コモディディー(金、ビットコイン 等) ] データの取得方法
上記コードのTickerを、変更するだけです。
金のETF(GLD)を取得するケースで、記載しています。
コードの紹介
# データ 取得期間の設定
# 終了日 (仮に今日とする)
end = datetime.datetime.today()
# 開始日 (365日前とする)
start = (pd.Period(end, 'D') - 365).start_time
# データ収集 (Tickerを金とする)
df = data.get_data_yahoo('GLD', end=end, start=start)
結果は、「[ 株価 ] データの取得方法」の章をご参照下さい。
他にも、下記のようなTickerが挙げられます。
- 銀:SLV
- プラチナ:PPLT
- ビットコイン:BTC-USD
[ FX(ドル円 等) ] データの取得方法
コードの紹介
# データ 取得期間の設定
# 終了日 (仮に今日とする)
end = datetime.datetime.today()
# 開始日 (365日前とする)
start = (pd.Period(end, 'D') - 365).start_time
# データ収集 (Tickerを日本円とする)
df = data.get_data_yahoo('USDJPY=X', end=end, start=start)
結果は、「[ 株価 ] データの取得方法」の章をご参照下さい。
他にも、下記のようなTickerが挙げられます。
- ユーロ:EURJPY=X
- ポンド:GBPJPY=X
- オーストラリアドル:AUDJPY=X
日足 週足 月足 データを収集する方法
下記コードに、週足、月足で、取得する方法を記します。
コードの紹介
# データ 取得期間の設定
# 終了日 (仮に今日とする)
end = datetime.datetime.today()
# 開始日 (365日前とする)
start = (pd.Period(end, 'D') - 365).start_time
# データ収集 (TickerをSPYとする)
# 週足の場合
df = data.get_data_yahoo('SPY', end=end, start=start, interval='w')
# 月足の場合
df = data.get_data_yahoo('SPY', end=end, start=start, interval='m')
結果は、「[ 株価 ] データの取得方法」の章をご参照下さい。
まとめ
pandas dataframeを使用して
- 株価、コモディティー、FXデータを
- 日足、週足、月足で
取得する方法をご紹介しました。
売買アルゴ用の、学習データ等に活用できると思います。
もしアルゴが完成した際は、その「アルゴ」を、試してみたくなると思います。
ビットコインの自動取引に興味がありましたら、下記が役に立てると思います。
この記事を読めば、bitFlyerの自動取引システムを、Pythonにて作る事が可能となります。
あわせて、どうぞ。