はじめに
株式投資に興味があるが、データ分析が難しいと思っていないだろうか?
Pythonを使えば、初心者でも簡単に株価データを取得し、分析やシミュレーションを実施できる。
この記事では、Pythonのライブラリを活用して、株価データを効率的に分析する方法を解説する。
具体例として、NASDAQに上場しているエヌビディア(NVDA)の株価を用いた投資シミュレーションを紹介する。
Pythonを使った株価データ分析に必要なツール
Pythonとライブラリのインストール方法
まずは次のライブラリを導入する。これらを利用することで、株価データの取得、分析、可視化が簡単に行える。
pip install yfinance matplotlib pandas
使用するライブラリの特徴
- yfinance
Yahoo Finance(ヤフーファイナンス)のデータを取得するライブラリ。
銘柄コード(例:NVDA)を指定するだけで、株価データや取引量をダウンロードできる。 - pandas
データを表形式(スプレッドシートのような形式)で扱うためのライブラリ。
取得した株価データの並べ替えやフィルタリングが簡単に行える。 - matplotlib
データの可視化に用いるライブラリ。
株価の推移をグラフとして表示することで、価格変動の傾向を視覚的に確認可能。
Pythonでエヌビディアの株価データを取得してみよう
次に、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)を例にシミュレーションを行ったが、他の銘柄でも同様の分析ができる。
この記事を参考に、自分の興味のある株式で試してみてほしい。