Contents
スポンサーリンク
背景/目的
任意の期間と取得したい株価を指定し、データフレームを作成する。
アウトプット
下記のようなデータフレームを作成する。
取得する内容
期間:2021年8月1日~ 2021年8月31日
取得データ
SPY(SPDR S&P 500 ETF):アメリアの代表的な株価指数であるS&Pに値動きが連動するETF
TLT(iシェアーズ米国国債20年超 ETF):期間20年以上の米国債券
GLD( SPDR ゴールド・シェア):金に投資するETF
DEXJPUS:ドル⇒円 指数
インポートするライブラリ
下記の3つのライブラリを使用する。
pandas:データ構造を作成する
datetime:日付を指定する
pandas_datareader.data:経済データや金融商品の価格データを取得できる
#データ構造を作成するライブラリ
import pandas as pd
#日付を指定するライブラリ
import datetime as dt
#経済データや金融商品の価格データを取得できるライブラリ
import pandas_datareader.data as web
pandas_datareader.data について
pandas_datareader.data については、下記の記事に詳しく記載してある。
今回は、下記の二つを使用する。
『stooq』… 株価情報を取得可能。国内株式だけでなく、米国ETFなどにも対応している。
『fred』 … 為替(ドル ⇒ 円)などの情報を取得可能。
実際の取得方法
株価データの取得方法
web.DataReaderについて
web.DataReader (株やETF名,データベース名,開始期間,終了期間)
株やETF名:SPY,GLD,TLTの3つ
データベース名 : stooq , fred の2種類
期間:2021/8/1~2021/8/31
#データ構造を作成するライブラリ
import pandas as pd
#日付を指定するライブラリ
import datetime as dt
#経済データや金融商品の価格データを取得できるライブラリ
import pandas_datareader.data as web
# 期間設定
start = dt.date(2021,8,1)
end = dt.date(2021,8,31)
# リスト作成
ETF_LIST = ["SPY","GLD","TLT"]
FX_LIST = ["DEXJPUS"]
#データ取得
ETF = web.DataReader(ETF_LIST,'stooq',start,end)
FX = web.DataReader(FX_LIST,'fred',start,end)
株価データの処理
stooqで取得できる値 について
取得できるデータは下記の5つ。今回は、 終値(Close) のみを選択する。
- 始値(Open)、高値(High)、安値(Low)、終値(Close)、出来高(Volume)
#データ構造を作成するライブラリ
import pandas as pd
#日付を指定するライブラリ
import datetime as dt
#経済データや金融商品の価格データを取得できるライブラリ
import pandas_datareader.data as web
# 期間設定
start = dt.date(2021,8,1)
end = dt.date(2021,8,31)
# リスト作成
ETF_LIST = ["SPY","GLD","TLT"]
FX_LIST = ["DEXJPUS"]
#データ取得
ETF = web.DataReader(ETF_LIST,'stooq',start,end)
FX = web.DataReader(FX_LIST,'fred',start,end)
# closeをindex昇降順にソートする。
# copy()により値渡しに変更。
df_ETF= ETF.Close.sort_index(ascending=True).copy()
df_FX = FX.sort_index(ascending=True).copy()
#ETFとFXを結合する
df_ASSETS = df_ETF.join(df_FX)
実行結果まとめ
株価のグラフ化
株価のグラフ化についての記事になります、是非、参考にしてみてください。
おすすめのPython学習方法
スポンサーリンク
スポンサーリンク