【初心者向け】Pythonで投資データを取得!yfinanceの使い方と株価分析

Pythonで作成したダッシュボードと『初心者向け Pythonで株データを取得!』という見出しが表示されたアイキャッチ画像

📌 この記事でわかること:

  • yfinanceを使って投資データを取得・分析する方法
  • 株価・配当・分割データなどの具体的な取得手順
  • ローソク足チャートや移動平均線の可視化方法

👤 対象となる読者:

  • Pythonで株価を取得・分析してみたい初心者
  • yfinanceの基本的な使い方を知りたい人
  • グラフで株価の変動を可視化したい人

⚖️ 活用できるシーン:

  • 投資判断をPythonで効率化したいとき
  • データ分析や可視化を学びながら金融知識も身につけたいとき
  • 自作の投資分析ツールを作りたいとき

✨ 記事の要約:

Pythonで株価や配当情報などを取得できる「yfinance」の使い方を、初心者向けに丁寧に解説しています。基本情報から過去データ、可視化までを網羅し、実際のコード例も掲載。この記事を読めば、Pythonを使って株価分析を始めるための準備が整います。


目次

1.はじめに

Pythonを使って投資データを取得したいと思ったことはありませんか?
yfinanceを活用すれば、Yahoo Financeから株価や財務情報、配当履歴などを簡単に取得できます。
本記事では、Pythonとyfinanceの基本的な使い方から、取得したデータを活用した分析方法までを詳しく解説します。


2.yfinanceの基本的な使い方

2.1. ライブラリのインストール

まずはyfinanceをインストールしましょう。

Anacondaの仮想環境がアクティブな状態で次のコマンドを実行してください。私はJupyter Notebookでコマンド実行しています。

pip install yfinance

実行すると、バージョンやライブラリ情報が表示されます。

  • ユーザー名部分は編集しています

Jupyter NotebookやAnacondaの設定がまだの方は、こちらの記事で環境構築を確認してください!
👉 Python開発環境を整えよう!AnacondaとJupyter Notebookの基本

2.2. 基本情報の取得

Pythonスクリプトでyfinanceを利用し、企業の基本情報を取得します。

🔍 yfinanceの使い方をさらに詳しく知りたい方は、こちらの記事で基本コマンドをチェック!
👉 yfinanceを使って株価データを取得する方法

確認ポイント

  • 企業情報(住所、電話番号、ウェブサイトなど)が取得できている
  • 業界・セクター情報(Consumer Electronics, Technology など)が含まれている
  • CEO・役員情報が表示されている
  • 財務情報(時価総額、配当利回り、株価データなど)が取得できている

このままだと情報量が多く見づらいので、pprintjson.dumps() を使うと整理できます。

方法①: pprint で見やすく表示

import yfinance as yf
import pprint

stock = yf.Ticker("AAPL")
pprint.pprint(stock.info)  # 見やすく整形

方法②: json.dumps() を使って整形

import json

print(json.dumps(stock.info, indent=4))  # JSON形式で整形表示

もし特定の情報だけを取得したいなら?

print(stock.info["sector"])  # セクター情報
print(stock.info["marketCap"])  # 時価総額
print(stock.info["dividendYield"])  # 配当利回り

3.過去の株価データの取得

3.1. 株価データ取得

特定期間の株価データを取得し、分析に活用できます。

df = stock.history(period="1mo")  # 過去1か月分の株価データを取得
print(df.head())  # 最初の5行を表示

出力内容の解釈

DateOpenHighLowCloseVolumeDividendsStock Splits
2025-02-18244.14245.17241.83244.4748,822,5000.00.0
2025-02-19244.66246.00243.16244.8632,204,2000.00.0
2025-02-20244.94246.77244.28245.8332,316,9000.00.0
2025-02-21245.94248.69245.22245.5553,197,4000.00.0
2025-02-24244.92248.86244.41247.1051,326,4000.00.0

3.2. 各列の意味

  • Date(日付) → 取得した日の株価データ
  • Open(始値) → その日の市場開始時の株価
  • High(高値) → その日の最高値
  • Low(安値) → その日の最安値
  • Close(終値) → その日の市場終了時の株価
  • Volume(出来高) → 取引された株の総数
  • Dividends(配当) → その日に支払われた配当(通常は決算日付近で発生)
  • Stock Splits(株式分割) → その日に株式分割があった場合の値(通常0.0)

3.3. 補足

  • period="1mo" → 過去 1か月間 のデータ
    • 他の期間も設定可能(例:"5d""1y""max"
  • もし さらに過去のデータ も見たい場合は、period="3mo"start / end を指定するのもアリ
df = stock.history(start="2024-01-01", end="2025-03-18")  # 2024年から現在まで
print(df.tail())

4.配当情報/株式分割情報の取得

4.1. 配当情報の取得

企業の配当履歴を取得し、配当利回りを分析できます。

print(stock.dividends)  # 配当情報

4.2. 株式分割情報の取得

企業が過去に実施した株式分割の履歴を確認できます。

print(stock.splits)  # 株式分割履歴

4.3. 実際のデータを元にした分析

  • Appleは安定して配当を支払い続けている。
  • 株式分割は少ないものの、およそ10年に1回のペースで実施されている。
  • 長期投資家にとって魅力的な銘柄である。

5.応用編:ローソク足チャートの描画

5.1. グラフ表示

投資データを視覚的に分析するために、ローソク足チャートを描画してみましょう。

import matplotlib.pyplot as plt
import mplfinance as mpf

df = stock.history(period="6mo")
mpf.plot(df, type='candle', volume=True, title="Apple Stock Price")
plt.show()

5.2. このグラフの解説(Appleの株価推移)

① グラフの概要

このチャートは、Apple (AAPL) の過去6か月間の株価推移をローソク足(キャンドルスティック)で表したもの です。

  • X軸(横軸)→ 日付(2024年9月~2025年3月)
  • Y軸(縦軸)→ 株価(ドル)
  • 下部の棒グラフ → 出来高(取引量)
  • 黒い線 → ローソク足(始値、高値、安値、終値を示す)

② 注目すべきポイント

(1) 2024年9月~12月: 株価は安定して上昇傾向

  • 220ドル前後からスタートし、年末にかけて 250ドル付近まで上昇 している
  • この期間は安定した上昇トレンド

(2) 2025年1月中旬~2月: 一時的な急上昇と急落

  • 1月中旬に 株価が260ドル近くまで急騰
  • その後、2月に入って急落 し、240ドルを割る場面も

(3) 2025年3月: 大幅下落後に反発の兆し?

  • 2月後半から 株価が急落し、210ドル付近まで下落
  • 3月中旬で 一旦底を打ち、反発する兆しも見られるが、さらなる下落の可能性も否定できない

(4) 出来高(取引量)の変化

  • 2024年9月・2025年2月に大きな出来高の増加が見られる
    → これは 重要なニュースや決算発表などがあった可能性

③ どんな投資判断ができる?

📊 短期投資家向け

  • 3月中旬の安値が反発点となる可能性があるが、さらなる下落にも注意
  • 210ドル付近がサポートラインとなるかを注視し、明確な上昇シグナルが出るまでは慎重な判断が必要

📈 長期投資家向け

  • 過去6か月の動きを見ると 株価は大きく変動しており、長期的な上昇トレンドとは言い切れない
  • ただし、Appleは安定した企業であるため、今後の成長期待を考慮する余地はある

5.3. グラフまとめ

  • Appleの株価は9月~1月にかけて上昇傾向が見られたが、2月~3月にかけて下落局面に
  • 現在は反発の兆しもあるが、さらなる下落の可能性もあるため慎重な判断が必要
  • 出来高の急増したタイミングでは重要なニュースや決算が影響している可能性
  • 短期トレーダーは210ドル付近の動きを注視、長期投資家は企業の成長性を検討

📊 複数銘柄の株価を比較する方法も試してみたい方は、こちらの記事がオススメ!
👉 Pythonで複数銘柄の株価を比較!yfinanceとJupyter Notebookでグラフを


6.応用編:より見やすいローソク足チャート作成

以下のコードを実行すると、グリッド付きのローソク足チャートに移動平均線(SMA)を追加し、x軸の日付フォーマットを調整 した、より視認性の高いグラフを作成できます。

import yfinance as yf
import mplfinance as mpf
import matplotlib.pyplot as plt

# データ取得(過去6か月)
stock = yf.Ticker("AAPL")
df = stock.history(period="6mo")

# 移動平均線を計算(50日)
df['SMA_50'] = df['Close'].rolling(window=50).mean()

# ローソク足チャートを作成(移動平均線 + 出来高付き)
mpf.plot(df, type='candle', volume=True, title="Apple Stock Price",
         style='charles', mav=(50,))

7.まとめ

yfinanceを使えば、Pythonで簡単に投資データを取得し、分析することができます。 この記事で紹介した方法を活用すれば、より的確な投資判断が可能になります。 さらに詳しい分析を行いたい場合は、機械学習と組み合わせるのも一つの手です。

今後の株価分析にぜひ役立ててみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Python・投資・業務効率化をテーマにしたブログを運営しています。
本業では社内ツール・アプリの運営・開発をしており、趣味はキャンプや食べ歩きです。

このブログでは、実体験や実務で役立った知識をベースに、
初心者でも再現できる情報発信を心がけています。

コメント

コメント一覧 (2件)

コメントする

目次