まくまく投資ノート
更新: / 作成:

Python の yfinance ライブラリを使って、Yahoo Finance から銘柄情報を取得する方法のまとめです。 このライブラリは非公式なものなのでいつ使えなくなるかわかりませんが、2026 年現在でも利用可能です。

パッケージのインストール

yfinance パッケージは pip install yfinance でインストールできますが、ローカル環境を汚さないために uv パッケージマネージャを使ってインストールすることをおすすめします。

yfinance のインストール(uv を使う方法)
$ uv init yfinance-study  # プロジェクトディレクトリを作成
$ cd yfinance-study       # プロジェクトディレクトリに移動
$ uv add yfinance         # yfinance ライブラリをインストール

$ uv run main.py          # main.py を実行できるか確認
Hello from yfinance-study!

基本的な使い方

下記は yfinance ライブラリを使って、ソニーグループ (6758) の銘柄情報を取得する例です。 Ticker コンストラクタにティッカーシンボル 6758.T を渡し、各種プロパティにアクセスするだけで簡単に情報を取得できます(東証銘柄のシンボルには .T サフィックスを付けます)。

main.py
import json
import yfinance as yf

t = yf.Ticker("6758.T")  # ソニーグループのティッカーシンボルを指定
info = t.info  # 銘柄の基本情報を dict 形式で取得

# 取得結果を json ライブラリで整形して表示
print(json.dumps(info, indent=2, ensure_ascii=False))

実際に Web 経由でのデータ取得が発生するのは、Ticker.info などのプロパティにアクセスしたときです。 Ticker オブジェクトの生成時には Web アクセスは発生しません。

リクエストをキャッシュできるようにする

Yahoo サーバーへ頻繁にアクセスするのは望ましくないので、サーバーから取得した情報はローカルにキャッシュしておくようにしましょう。 次の例では、diskcache ライブラリを使って .cache ディレクトリにキャッシュデータを保存しています。

Ticker.info の取得結果をディスクにキャッシュ
import diskcache
import yfinance as yf

cache = diskcache.Cache(directory=".cache")

@cache.memoize()
def fetch_ticker_info(symbol: str) -> dict:
    return yf.Ticker(symbol).info

if __name__ == "__main__":
    info = fetch_ticker_info("6758.T")  # 2回目以降はキャッシュから取得される
    print(info["country"])  # Japan
    print(info["ebitda"])  # 2036071006208

Ticker.info の内容

Ticker.info プロパティからは例えば次のような情報を取得できます。

基本情報

キー日本語名概要値の例
shortName会社名会社の短い名称SONY GROUP CORPORATION
symbolティッカー取引所での銘柄コード6758.T
exchange取引所上場している取引所JPX
sectorセクター事業分野の大分類Technology
industry業種より具体的な業種区分Consumer Electronics
country本社所在地の国Japan
website公式サイト企業の公式 Web サイトhttps://www.sony.com

株価・評価

キー日本語名概要値の例
currentPrice現在株価最新の取引価格3336.0
marketCap時価総額発行済株式数×株価19893707603968
enterpriseValue企業価値 (EV)時価総額+純有利子負債19835845083136
trailingPEPER(実績)株価÷直近EPS16.154964
forwardPEPER(予想)株価÷予想EPS18.209608
priceToSalesTrailing12MonthsPSR(TTM)株価÷直近売上1.5104991
priceToBookPBR株価÷1株純資産2.438962

収益性

キー日本語名概要値の例
profitMargins利益率売上に対する純利益率-0.0161
grossMargins粗利率売上に対する粗利益率0.29479
operatingMargins営業利益率売上に対する営業利益率0.13736
returnOnAssetsROA総資産利益率0.0396
returnOnEquityROE自己資本利益率0.14917

財務

キー日本語名概要値の例
totalRevenue売上高(TTM)直近12か月の売上13170287575040
ebitdaEBITDA利払い・税引き・償却前利益2036071006208
totalCash現金等手元資金2086500040704
totalDebt有利子負債借入や社債など1656855986176
freeCashflowフリーCF営業CF−投資CF-79850749952

配当

キー日本語名概要値の例
dividendRate配当額1株あたり配当25.0
dividendYield配当利回り配当÷株価0.75
payoutRatio配当性向利益のうち配当の割合0.109

取引情報

キー日本語名概要値の例
volume出来高直近の売買高26683400
averageVolume平均出来高平均の売買高17558655
fiftyTwoWeekHigh52週高値過去52週の最高値4776.0
fiftyTwoWeekLow52週安値過去52週の最安値2980.5

上記のテーブル出力に使ったコード: yfutils.py + main.py

main.py
from libs import yfutils

if __name__ == "__main__":
    info = yfutils.fetch_ticker_info("6758.T")
    yfutils.print_info_tables(info)

Ticker.funds_data(ファンド情報)

fund = yf.Ticker("SPY").funds_data
print(fund.description)  # ファンドの説明
print(fund.asset_classes)  # 資産クラスごとの保有割合
print(fund.sector_weightings)  # セクターごとの保有割合
print(fund.top_holdings)  # 上位保有銘柄
出力結果
The trust seeks to achieve its investment objective by holding a portfolio ...(省略)...

{'cashPosition': 0.0008, 'stockPosition': 0.9993, 'bondPosition': 0.0,
 'preferredPosition': 0.0, 'convertiblePosition': 0.0, 'otherPosition': 0.0}

{'realestate': 0.0225, 'consumer_cyclical': 0.1038, 'basic_materials': 0.0177,
 'consumer_defensive': 0.0615, 'technology': 0.3168, 'communication_services': 0.0946,
 'financial_services': 0.14039999, 'utilities': 0.0256, 'industrials': 0.0766,
 'energy': 0.0318, 'healthcare': 0.108500004}

                                  Name  Holding Percent
Symbol
AAPL                         Apple Inc         0.067592
MSFT                    Microsoft Corp         0.062217
NVDA                       NVIDIA Corp         0.056481
AMZN                    Amazon.com Inc         0.036831
META        Meta Platforms Inc Class A         0.025457
BRK-B   Berkshire Hathaway Inc Class B         0.020696
GOOGL             Alphabet Inc Class A         0.019613
AVGO                      Broadcom Inc         0.019103
TSLA                         Tesla Inc         0.016719
GOOG              Alphabet Inc Class C         0.016105
まくまく投資ノート
サイトマップまくへのメッセージ