未分類

Pythonによるリアルタイムな株価取得方法_データフレームの作成

背景/目的

任意の期間と取得したい株価を指定し、データフレームを作成する。

アウトプット

下記のようなデータフレームを作成する。

取得する内容

期間: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 については、下記の記事に詳しく記載してある。

https://dev.classmethod.jp/articles/pandas_datareader-python/

今回は、下記の二つを使用する。
『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学習方法


ABOUT ME
チェルシー
【プロフィール】  年齢:30代前半  性別:オス 【主な職歴】  メーカー勤務  製品設計開発_メカ設計:7年  開発業務自動化:1年半 元々、メカ設計エンジニアとして、製品設計開発に携わっていました。新しいスキルを身につけたいと独学でPythonを勉強し始め、現在、本業でソフトエンジニアとして働いています。具体的には、Pythonを使った製品評価業務の自動化を推進しています。 また、製品市場データ分析業務など可視化なども実施しています。 【2023年度目標】 1. 副業収入:月5,000円 2. 塩漬けにしていたブログをChatGPTなどを活用して執筆の効率化し、1年半前に開設した本サイトを改善する 3. 定期的に株式投資おすすめ成長株の紹介記事を投稿 4. 自作中の米国成長株の分析ツールのコーディング紹介 5. 株式投資の本で学んだ情報をアウトプットする