はじめに
Pythonで株価データを取得する方法はいくつかありますが、yfinance を使うと簡単にYahoo! Financeのデータを取得できます。特に、無料で使えて、シンプルなコードで過去の株価や財務情報を取得できるため、多くのトレーダーやデータ分析者に利用されています。
本記事では、yfinanceの基本的な使い方 や 株価データの取得・可視化方法 について詳しく解説します。
事前準備:AnacondaでPython環境を構築しよう
このチュートリアルを進めるには、Pythonの開発環境(Anaconda + Jupyter Notebook)が必要です。
まだ準備ができていない方は、以下の記事を参考に環境を構築してください。
▶ 前の記事:「Python開発環境を整えよう!AnacondaとJupyter Notebookの基本」
1. yfinanceとは?
yfinanceの概要
yfinanceは、Yahoo! Financeの株価データをPythonで簡単に取得できるライブラリ です。以下のような情報を取得できます。
✅ 過去の株価データ(終値、高値、安値、出来高など)
✅ リアルタイムの株価情報
✅ 企業の財務データ(売上、利益、PERなど)
✅ 株式の配当履歴
なぜyfinanceを使うのか?
- 無料で利用可能(登録不要)
- Yahoo! Financeの公式APIが使えないため、代替手段として有効
- pandasと組み合わせてデータ分析が簡単にできる
- matplotlibやplotlyを使って簡単に可視化できる
2. Anaconda環境でyfinanceをインストール
yfinanceを使用するには、Anacondaの仮想環境をアクティブにしてインストール するのが推奨されます。
2.1 仮想環境のアクティブ化
まず、Anacondaの仮想環境(例: ai_env
)を有効化します。
conda activate ai_env
2.2 yfinanceのインストール
仮想環境がアクティブになっている状態で、以下のコマンドを実行します。
pip install yfinance pandas matplotlib
✅ これで、yfinance
に加え、データ処理用の pandas
と可視化用の matplotlib
もインストールできます。
3. Jupyter Notebookでyfinanceを使って株価データを取得する
Jupyter Notebookを開き、新しいPythonノートブックを作成し、以下のコードを実行してください。
3.1 株価データの取得
まず、yfinance.Ticker()
を使って特定の銘柄のデータを取得します。
import yfinance as yf
# Apple (AAPL) の株価データを取得
stock = yf.Ticker("AAPL")
# 株価情報を表示
print(stock.history(period="5d"))
✅ history(period="5d")
を使うと、直近5日間の株価データを取得できます。
その他の期間も指定できます。
指定期間 | 記述方法 |
---|---|
1日 | 1d |
5日 | 5d |
1ヶ月 | 1mo |
1年 | 1y |
5年 | 5y |
最大 | max |
実行結果(Jupyter Notebook)

3.2 過去の株価データを取得
特定の期間のデータを取得する場合、start
や end
を指定できます。
import yfinance as yf
# 2023年1月1日〜2023年12月31日のデータを取得
stock_data = yf.download("AAPL", start="2023-01-01", end="2023-12-31")
print(stock_data.head())
実行結果(Jupyter Notebook)
以下のように、2023年のApple株価データの最初の5行が表示されます。

✅ .download()
を使うと、複数の銘柄も同時に取得できます。
stocks = yf.download(["AAPL", "GOOGL", "MSFT"], start="2023-01-01", end="2023-12-31")
print(stocks.head())
実行結果(Jupyter Notebook)
以下のように、2023年のApple(AAPL)、Google(GOOGL)、Microsoft(MSFT)株価データの最初の5行が表示されます。

4. 株価データの可視化
4.1 株価の時系列グラフを描画
matplotlibを使って、取得したデータをグラフ化してみましょう。
import matplotlib.pyplot as plt
import yfinance as yf
# 株価データの取得
stock_data = yf.download("AAPL", start="2023-01-01", end="2023-12-31")
# 終値をプロット
plt.figure(figsize=(10,5))
plt.plot(stock_data.index, stock_data["Close"], label="AAPL Close Price")
plt.xlabel("Date")
plt.ylabel("Stock Price (USD)")
plt.title("Apple Stock Price in 2023")
plt.legend()
plt.show()
✅ Jupyter Notebookで実行すると、Appleの株価推移 を示す折れ線グラフが表示されます。
実行結果(Jupyter Notebook)


5. まとめ
今回の記事では、yfinanceを使って株価データを取得する方法 を解説しました。
おさらい
✅ Anacondaの仮想環境でyfinanceをインストール
✅ Jupyter Notebookでコードを実行し、株価データを取得
✅ .history()
や .download()
を使って過去データを取得
✅ matplotlib
を使って株価の推移を可視化
これで、基本的な株価データの取得と分析ができるようになりました!🎉
次回は、さらに高度なデータ分析や、ChatGPTを活用した株価予測の方法 について解説します。ぜひお楽しみに!
▶ 次の記事:「ChatGPTを活用した株価データ分析」(リンクを挿入)
コメント
コメント一覧 (2件)
[…] ▶次の記事:「yfinanceを使って株価データを取得する方法」 […]
[…] yfinanceを使えば、簡単に株価データを取得できます。基本的な使い方については、こちらの記事 で詳しく解説しています。例えば、Appleの株価を取得してグラフを描くコードはこんな感じです。 […]