こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- 株式投資に興味がある!
- Pythonを用いて日本の株価データを取得し、分析・予測できるようになりたい。
【Python】日本株価データの取得方法
Pythonを用いて日本株の株価データを取得する方法について解説します。
【事前準備】Pythonライブラリをインストール
以下に示すライブラリを用いて株価データを取得します。ターミナル(MacOS)やコマンドプロンプト(Windows)を開き、以下をインストールしておきましょう。
pip install pandas
pip install pandas_datareader
株価データ取得関数の作成
株価データを取得するための関数を作成します。以下のコードを記述しましょう。
import datetime
import pandas_datareader.data as web
# 株価データを取得する関数
def get_stock_data(meigara_cd:str, from_date:str, to_date:str):
"""
====================================================
引数情報
・meigara_cd(str): 銘柄コード
・from_date(str): 株価取得期間(開始日)
・to_date(str): 株価取得期間(終了日)
====================================================
"""
# 株価データを取得
df = web.DataReader(name = meigara_cd + ".jp", # 銘柄コード
data_source = 'stooq', # 株価データソース
start = from_date, # 株価取得期間(開始日)
end = to_date, # 株価取得期間(終了日)
)
return df
# 本日日付を取得する関数
def today() -> str:
return str(datetime.date.today())
株価データ取得
前述で作成した関数を用いて実際に株価データを取得します。以下のコードを実行してみましょう。
コード
# ==========================================================
# 関数実行
# ==========================================================
# 引数情報
meigara_cd = "6758" # Sony銘柄
from_date = "2023-01-01" # 開始日
to_date = today() # 終了日
# 関数実行
data = get_stock_data(meigara_cd,from_date,to_date)
# ==========================================================
# 結果確認
# ==========================================================
# 出力
print(data)
# 出力イメージ
# Open High Low Close Volume
# Date
# 2023-08-17 12000 12140 11920 12130 2960800
# 2023-08-16 12200 12205 12010 12010 3069300
# 2023-08-15 12285 12320 12195 12220 3326700
# 2023-08-14 12415 12490 12075 12175 6287400
# 2023-08-10 12385 12635 12115 12565 7794900
出力項目
関数実行に際して以下項目データが時系列で取得できます。
項目名 | 意味 |
---|---|
Date | 日付 |
Open | 始値 |
High | 高値 |
Low | 安値 |
Close | 終値 |
Volume | 出来高 |
【参考】米株データの取得方法
本記事では日本株データの取得方法について詳しく解説しています。米国株のデータ取得に興味がある方向けにこちらの記事も配信しています。
【Python】株価チャート分析・可視化
Pythonを用いて取得した株価データをもとにチャート分析する方法を解説します。
【事前準備】Pythonライブラリをインストール
以下に示すライブラリを用いて株価のチャート分析を行います。
pip install matplotlib
株価チャート分析
前述で作成した株価データ取得関数を用いて株価データを取得します。続いて、取得したデータをグラフとして可視化する方法について言及します。
コード
import matplotlib.pyplot as plt
# ==========================================================
# データ取得
# ==========================================================
# 引数情報
meigara_cd = "6758" # Sony銘柄
from_date = "2023-01-01" # 開始日
to_date = today() # 終了日
# 関数実行
data = get_stock_data(meigara_cd,from_date,to_date)
# ==========================================================
# グラフ可視化
# ==========================================================
# グラフ描画
plt.plot_date(data.index, data["Close"], linestyle='solid')
# 書式設定
plt.xlabel("Date") # X軸ラベル
plt.ylabel("Stock") # Y軸ラベル
plt.gcf().autofmt_xdate() # X軸値を45度回転
plt.show() # グラフ表示
出力イメージ
上記コードを実行するとグラフが描画されます。このように時系列グラフを描画することで、株価の値動きを分析することができます。
【Python】株価時系列モデル作成と株価予測
Pythonを用いて株価時系列モデルを作成し、未来の株価を予測する方法を解説します。
【事前準備】Pythonライブラリをインストール
以下に示すライブラリを用いて株価データを分析します。
pip install prophet
pip install plotly
時系列モデル作成・株価予測
前述で作成した株価データ取得関数を用いて株価データを取得し、そのデータをインプットとした株価時系列モデルを作成します。そして、時系列モデルをもとに未来の株価を予測します。以下のコードを実行しましょう。
コード
from prophet import Prophet
import pandas as pd
from prophet.plot import plot_plotly
import plotly.offline as py
# ==========================================================
# データ取得
# ==========================================================
# 引数情報
meigara_cd = "6758" # Sony銘柄
from_date = "2022-01-01" # 開始日
to_date = today() # 終了日
# 関数実行
data = get_stock_data(meigara_cd,from_date,to_date)
# Prophet投入用インプットデータ作成
df = pd.DataFrame({"ds":data.index, "y":data["Close"]}).reset_index(drop=True)
# ==========================================================
# 時系列モデル作成
# ==========================================================
# モデルインスタンス
proph = Prophet()
# モデル学習
proph.fit(df)
# ==========================================================
# 予測
# ==========================================================
# 未来予測用のデータフレーム
future = proph.make_future_dataframe(periods=365)
# 時系列を予測
forecast = proph.predict(future)
# ==========================================================
# 予測(可視化)
# ==========================================================
py.init_notebook_mode()
figure = plot_plotly(proph, # 時系列モデル
forecast, # 予測結果
)
# 出力
py.iplot(figure)
出力イメージ
上記コードを実行すると未来を予測含むグラフが描画されます。左部の散布図は過去データをもとに描画されたヒストリカル線であり、それ以降が予測線になります。
今回時系列モデルの作成では、Prophetというライブラリを用いました。Prophetついて詳しく学びたい方はこちらの記事をご覧ください。
【参考】厳選した株式投資におすすめの証券口座一覧
株式投資を始めたい方向けに使い勝手の良いおすすめ証券口座を紹介します。
証券口座 | 概要 | 使い勝手 | 手数料 | 投信 | NISA | 米株 | IPO | 信用取引 |
---|---|---|---|---|---|---|---|---|
マネックス証券 | 取引に役立つ豊富な情報や操作性に優れたツールを提供。 株初心者にはおすすめ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ |
GMOクリック証券 | 「NTTコム オンラインNPSRベンチマーク調査 2020」において 家族・友人におすすめしたいネット証券No.1に選出 | ⭕️ | ⭕️ | △ | ⭕️ | ⭕️ | △ | ⭕️ |
au株コム証券 | KDDI x MUFG MUFGグループという信頼感ある証券会社 | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | △ | ⭕️ |
【参考】株式投資の自動化|Pythonによるシステムトレード
本記事ではPythonを用いた株式投資のシステムトレーディング手法を多数配信しています。
株式の関連記事一覧
株式投資の「自動売買」「システムトレード」に興味がある方向けの記事を多数配信しています。
人気記事一覧
# | 記事タイトル |
---|---|
1 | 【Python】日本株銘柄の株価・財務データの取得方法 |
2 | 【Python】日本株銘柄のファンダメンタルズ分析 |
3 | 【Python】日本株価データを用いたテクニカル分析 |
4 | 【Python】米国株銘柄の株価・財務データの取得方法 |
全ての関連記事を見る
【有料版】株式投資のシステムトレード
株式投資のシステムトレード実現に際して、中・上級者向け応用情報も配信しております。
【参考】仮想通貨・ビットコイン|金融投資情報
当サイトでは仮想通貨・ビットコインにおける多様な分析および自動売買手法を配信しています。ビットコイン投資にも興味がある方は是非こちらもご覧下さい。
仮想通貨・ビットコイン|情報一覧
自動売買ツールとは|超具体的実装方法
【仮想通貨】自動売買ツールの自作方法とおすすめ暗号資産取引所|無料で実践できるビットコイン自動取引の仕組みも徹底解説
「仮想通貨(暗号資産)の自動売買ツール作成に興味がある」「自動売買の仕組み・作り方を知りたい」「どこの仮想通貨取引所がおすすめなのか知りたい」本記事ではこのような要望にお応えします。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら