はじめに
株式投資に興味があるが、データ分析が難しいと思っていないだろうか?
Pythonを使えば、初心者でも簡単に株価データを取得し、分析やシミュレーションを実施できる。
この記事では、Pythonのライブラリを活用して、株価データを効率的に分析する方法を解説する。
具体例として、NASDAQに上場しているエヌビディア(NVDA)の株価を用いた投資シミュレーションを紹介する。
株価データ分析に必要なツール
ライブラリのインストール方法
まずは次のライブラリを導入する。これらを利用することで、株価データの取得、分析、可視化が簡単に行える。
pip install yfinance matplotlib pandas
使用するライブラリの特徴
- yfinance
Yahoo Finance(ヤフーファイナンス)のデータを取得するライブラリ。
銘柄コード(例:NVDA)を指定するだけで、株価データや取引量をダウンロードできる。 - pandas
データを表形式(スプレッドシートのような形式)で扱うためのライブラリ。
取得した株価データの並べ替えやフィルタリングが簡単に行える。 - matplotlib
データの可視化に用いるライブラリ。
株価の推移をグラフとして表示することで、価格変動の傾向を視覚的に確認可能。
エヌビディアの株価データを取得してみよう
次に、Pythonを使ってエヌビディア(NVDA)の株価データを取得する方法を紹介する。
以下のコードを実行するだけで、指定した期間の株価データが取得できる。
株価データの取得方法
import yfinance as yf
# NVIDIA (NVDA) の株価データを取得
ticker = "NVDA"
data = yf.download(ticker, start="2024-01-01", end="2024-11-01")
# データの先頭5行を表示
print(data.head())
出力例
Open High Low Close Adj Close Volume
Date
2024-01-01 500.0 510.0 495.0 505.0 505.0 12345678
2024-01-02 506.0 515.0 500.0 510.0 510.0 98765432
...
上記のコードで取得したデータは、「始値」「高値」「安値」「終値」「取引量」など、投資判断に役立つ情報が含まれている。
株価の推移をグラフ化する
次に、取得した株価データをグラフで表示してみよう。
Pythonのmatplotlibライブラリを活用すれば、株価の変動を視覚的に確認できる。
株価データの可視化
import matplotlib.pyplot as plt
# 株価の終値をプロット
data["Close"].plot(title=f"{ticker} Stock Price", figsize=(10, 6))
plt.xlabel("Date")
plt.ylabel("Price")
plt.show()
このコードを実行すると、以下のようなグラフが描画される。
価格変動の傾向を一目で把握できるため、投資判断の材料として非常に有用だ。
pandasでデータをさらに詳細に分析
pandasを使えば、取得した株価データを詳細に分析することが可能だ。
ここでは、移動平均線を計算し、株価のトレンドを把握する方法を紹介する。
移動平均線の計算とプロット
以下のコードで、短期(5日間)および長期(20日間)の移動平均線を計算してグラフに表示する。
# 移動平均線の計算
data["SMA_5"] = data["Close"].rolling(window=5).mean() # 5日移動平均
data["SMA_20"] = data["Close"].rolling(window=20).mean() # 20日移動平均
# 移動平均線をグラフにプロット
data[["Close", "SMA_5", "SMA_20"]].plot(title=f"{ticker} Stock Price with SMA", figsize=(10, 6))
plt.xlabel("Date")
plt.ylabel("Price")
plt.show()
結果
このグラフには、株価の終値と5日移動平均線、20日移動平均線が表示される。
移動平均線を用いることで、短期的な価格変動と長期的なトレンドを同時に確認できる。
シンプルな投資シミュレーションを実施
ここからは、シミュレーションを実行する。
2024年1月1日に株を購入し、2024年10月31日に売却した場合の利益と収益率(ROI)を計算する。
投資シミュレーションのコード
# 投資シミュレーション用コード
initial_date = "2024-01-01" # 購入日
final_date = "2024-10-31" # 売却日
# 株価の終値を取得
buy_price = data.loc[initial_date]["Close"]
sell_price = data.loc[final_date]["Close"]
# 利益計算
profit = sell_price - buy_price
roi = (profit / buy_price) * 100
# 結果を出力
print(f"{initial_date}に購入し、{final_date}に売却した場合:")
print(f"購入価格: ${buy_price:.2f}, 売却価格: ${sell_price:.2f}")
print(f"利益: ${profit:.2f}, ROI (投資収益率): {roi:.2f}%")
出力例
2024-01-01に購入し、2024-10-31に売却した場合:
購入価格: $500.00, 売却価格: $750.00
利益: $250.00, ROI (投資収益率): 50.00%
このように、指定期間内でどれだけの利益が得られるかを簡単に計算できる。
これを応用することで、異なる期間や条件でのシミュレーションも実施可能だ。
まとめ
この記事では、Pythonを使った株価データの分析と投資シミュレーションについて解説した。
以下が主なポイントだ。
- 株価データの取得:yfinanceを使えば簡単に市場データを取得可能。
- データの可視化:matplotlibを活用して価格変動をグラフで表示。
- データ分析の応用:pandasを使い移動平均線を計算してトレンドを把握。
- シミュレーション:指定期間内での売買シミュレーションにより、収益率を計算。
エヌビディア(NVDA)を例にシミュレーションを行ったが、他の銘柄でも同様の分析ができる。
この記事を参考に、自分の興味のある株式で試してみてほしい。
コメント