Pythonによる株価のスクレイピングの方法を解説します。またスクレイピングしたデータで、ローソク足チャートの作成方法を解説します。ローソク足チャートは、日足、週足、月足の方法を解説します。
環境
Anacondaをインストールして、Jupyternotebookで実行します。環境構築の方法は以下の記事を参考ください。
スクレイピングの方法
スクレイピングには以下の方法を用います。
pandas_datareader.data
pandas_datareaderのインストール方法
以下をの場合は、Windowsコマンドプロンプトで、Macの場合はターミナルで入力してください。
pip install pandas-datareader
pandas_datareaderによるスクレイピングの方法
以下のコードでスクレイピング可能です。
import
で使用するライブラリを呼び出します。- 変数
now
に現在の日付をdatetime型で代入します。 start
にend
から365日前の日付をdatetime型で代入します。pdr.DataReader(str(code)+'.jp', 'stooq', start, end)
で、指定したコードの株価を取得することができます。kabuka
にget_kabuka
で取得した株価データを代入します。
import pandas_datareader.data as pdr
import datetime
import pandas as pd
#現在から、指定の日付までの株価を取得する場合
now = datetime.date.today()
end = now
start = end - datetime.timedelta(days=365)#365日分取得
code = 7751#銘柄のコードを入力ください。7751はキヤノン
#株価取得を関数化
def get_kabuka(code,start,end):
pd_data = pdr.DataReader(str(code)+'.jp', 'stooq', start, end)
return pd_data
kabuka = get_kabuka(code,start,end)
kabuka = kabuka.iloc[::-1]
出力結果
open,High,Low,Close,Volumeが格納されていますね。
- Open:始値
- High:高値
- Low:安値
- Close:終値
- Volume:取引量
kabuka.head()
ローソク足チャートの作成方法(日足)
ローソク足チャートの作成には以下の方法を用います。
mplfinance
mplfinanceのインストール方法
以下をの場合は、Windowsコマンドプロンプトで、Macの場合はターミナルで入力してください。
pip install mplfinance
mplfinanceによるローソク足チャートの作成方法
以下のコードでローソク足チャートの作成が可能です。
import
で使用するライブラリを呼び出しますmpf.plot()
でローソク足チャートの作成しますfigratio
でローソク足チャートとボリュームの画角サイズの比率を決定しますvolume=True
でボリュームを表示mav=(5, 25,75)
で5,25,75で移動平均線を引くstyle='yahoo'
でyahooスタイルで表示
import mplfinance as mpf
import matplotlib.pyplot as plt
%matplotlib inline
#ローソク足チャートを作成する
mpf.plot(kabuka, type='candle', figratio=(12,4),
volume=True, mav=(5, 25,75), style='yahoo')
出力結果
綺麗なローソク足チャートを描くことができます。
ローソク足チャートの作成方法(週足、月足)
ローソク足チャートの作成方法(週足)
以下で、計算に必要なパラメータの名前に変更します。
d_ohlcv = {'Open': 'first',
'High': 'max',
'Low': 'min',
'Close': 'last',
'Volume': 'sum'}
resample('W-MON', closed='left', label='left').agg(d_ohlcv)
で週足データに変換
#週足
d_ohlcv = {'Open': 'first',
'High': 'max',
'Low': 'min',
'Close': 'last',
'Volume': 'sum'}
kabuka_w = kabuka.resample('W-MON', closed='left', label='left').agg(d_ohlcv)
ローソク足チャートの作成方法(月足)
resample('M', closed='left', label='left').agg(d_ohlcv)
で月足データに変換
#月足
d_ohlcv = {'Open': 'first',
'High': 'max',
'Low': 'min',
'Close': 'last',
'Volume': 'sum'}
kabuka_m = kabuka.resample('M', closed='left', label='left').agg(d_ohlcv)
mpf.plot(kabuka_m, type='candle', figratio=(12,4),
volume=True, mav=(5, 25,75), style='yahoo')
出力結果
ローソク足チャートの作成方法(週足)
ローソク足チャートの作成方法(月足)
もっとスクレイピングを学びたい方
本でスクレイピングを学ぶ方法
スクレイピングをもっと学びたい方は以下の本がおすすめです。
https://amzn.to/3qk54R2
created by Rinker
¥3,520
(2025/01/14 16:23:46時点 楽天市場調べ-詳細)
コメント
[…] Pythonによる株価のスクレイピングとグラフ化(ローソク足チャート化)の方法Pythonによる株価のスクレイピングの方法を解説します。またスクレイピングしたデータで、ローソク足チャ […]
[…] Pythonによる株価のスクレイピングとグラフ化(ローソク足チャート化)の方法Pythonによる株価のスクレイピングの方法を解説します。またスクレイピングしたデータで、ローソク足チャ […]