yfinance とは?
yfinance
は、Yahoo Finance のデータを簡単に取得するために使用される Python ライブラリです。
株式や為替、暗号通貨などの価格データや財務情報を取得でき、データ分析やアルゴリズムトレーディングに活用できます。
初心者からプロフェッショナルまで、多くのトレーダーやデータサイエンティストに利用されています。
yfinance の主な特徴
- 豊富なデータ取得: 株価(終値、高値、安値、始値、出来高)、配当履歴、財務データ、収益報告などが取得可能。
- データ期間: 数日から数十年分のデータを取得可能。
- 簡単な統合: pandas DataFrame と連携し、データ解析や可視化に直接利用できる。
- 無料利用: 基本的なデータ取得は無料で利用可能。
yfinance の主な用途
yfinance は、次のような用途に利用されています。
- 株式やその他の金融資産の過去データの取得。
- 配当金や株式分割履歴の解析。
- 自動化されたトレーディング戦略のテスト。
- 財務データや収益報告の取得と解析。
yfinance の基本的な使い方
以下は、yfinance を使用してデータを取得する基本例です。
import yfinance as yf
# 株式データを取得(例: Apple Inc. のデータ)
ticker = yf.Ticker("AAPL")
# 過去の株価データを取得
data = ticker.history(period="1mo") # 過去1か月分のデータ
print(data)
# 配当履歴を取得
dividends = ticker.dividends
print("配当履歴:")
print(dividends)
# 財務データを取得
financials = ticker.financials
print("財務データ:")
print(financials)
yfinance のメリットと注意点
メリット:
- 簡単なコードで多くの金融データを取得可能。
- pandas と連携してデータ解析が容易。
- API キーが不要でセットアップが簡単。
注意点:
- Yahoo Finance のデータに依存しているため、サービスの変更や制限の影響を受ける可能性がある。
- 高頻度アクセスには向かない。
主な機能一覧
機能 | 説明 |
---|---|
Ticker.history() |
過去の株価データを取得 |
Ticker.dividends |
配当金情報を取得 |
Ticker.financials |
財務データを取得 |
Ticker.actions |
株式分割や配当の履歴を取得 |
Ticker.recommendations |
アナリストの推奨情報を取得 |
yfinance をインストールする手順
yfinance
は、Python パッケージ管理ツール pip
を使用して簡単にインストールできます。以下のコマンドをターミナルまたはコマンドプロンプトで実行してください。
pip install yfinance
インストールが正常に完了すると、`yfinance` ライブラリが使用可能になります。
インストールの確認方法
以下のコードを実行して、インストールが正しく行われたかを確認してください。
import yfinance as yf
# バージョン確認
print(f"yfinance version: {yf.__version__}")
エラーが発生せず、`yfinance version` が表示されれば、インストールは成功です。
必要な依存ライブラリの確認
yfinance
を使用するには、以下の依存ライブラリが必要です。pip install yfinance
を実行すると自動的にインストールされますが、問題が発生した場合は、個別にインストールしてください。
pandas
numpy
requests
lxml
pip install pandas numpy requests lxml
yfinance で取得できるデータの種類
yfinance
を使用すると、以下のような株式や財務に関するデータを取得できます。
データの種類 | 説明 | 関連メソッド/属性 |
---|---|---|
株価の履歴データ | 過去の株価データ(始値、高値、安値、終値、出来高)を取得 | Ticker.history() |
配当金情報 | 配当履歴を取得 | Ticker.dividends |
株式分割情報 | 過去の株式分割の履歴を取得 | Ticker.splits |
財務データ | 貸借対照表や損益計算書などの財務データを取得 | Ticker.financials , Ticker.balance_sheet , Ticker.cashflow |
収益データ | 過去の収益報告(四半期ごと)を取得 | Ticker.earnings , Ticker.quarterly_earnings |
推奨情報 | アナリストの推奨情報を取得 | Ticker.recommendations |
株価アクション | 株式分割や配当金を含むアクションの履歴を取得 | Ticker.actions |
持株情報 | 主要株主や機関投資家の持株状況を取得 | Ticker.major_holders , Ticker.institutional_holders |
株価統計 | 株価指標や統計情報(例: PER, PBR)を取得 | Ticker.stats |
ニュース | 関連ニュースやヘッドラインを取得 | Ticker.news |
株価データの取得
Ticker
クラスの history()
メソッドを使用します。以下に基本的な使い方を示します。
import yfinance as yf
# 取得したい銘柄のティッカーシンボルを指定(例: Apple Inc. の場合 "AAPL")
ticker = yf.Ticker("AAPL")
# 過去の株価データを取得(デフォルトはすべてのデータ)
data = ticker.history(period="1mo") # 過去1か月分のデータ
print(data)
上記コードでは、Apple Inc. の株価データを過去1か月分取得しています。
history() メソッドの主な引数
引数名 | 説明 | 例 |
---|---|---|
period |
取得するデータの期間。日数、月数、年数を指定可能。 | "1d" , "1mo" , "1y" |
start |
データ取得の開始日を指定(YYYY-MM-DD)。 | "2023-01-01" |
end |
データ取得の終了日を指定(YYYY-MM-DD)。 | "2023-12-31" |
interval |
データ間隔を指定。 | "1d" , "1wk" , "1mo" |
auto_adjust |
分割調整後の価格を自動調整(デフォルトは True )。 |
True , False |
actions |
配当金や株式分割情報を含むかどうか。 | True , False |
株価データの形式
取得したデータは pandas.DataFrame
として返され、以下のような列を含みます。
- Open: 始値
- High: 高値
- Low: 安値
- Close: 終値
- Volume: 出来高
- Dividends: 配当金(指定した場合)
- Stock Splits: 株式分割(指定した場合)
Open High Low Close Volume Dividends Stock Splits Date 2023-01-01 140.23 145.67 139.12 143.56 1000000 0.0 0.0 2023-01-02 143.80 146.00 142.00 145.00 1500000 0.0 0.0
株価データの取得
企業概要の取得方法
企業概要を取得するには、yfinance.Ticker
クラスを使用します。
以下の例では、Apple Inc. の企業概要を取得しています。
import yfinance as yf
# 取得したい銘柄のティッカーシンボルを指定
ticker = yf.Ticker("AAPL")
# 企業概要を取得
info = ticker.info
print(info)
上記コードでは、ticker.info
を使用して企業概要を取得しています。
取得できる主な情報
info
は辞書形式で情報を返します。以下に、取得可能な主な情報を一覧で示します。
キー | 説明 |
---|---|
sector |
業種(例: Technology) |
industry |
具体的な産業(例: Consumer Electronics) |
country |
本社所在地の国 |
website |
公式ウェブサイトの URL |
marketCap |
時価総額 |
fullTimeEmployees |
従業員数 |
longBusinessSummary |
会社概要(テキスト形式) |
logo_url |
会社のロゴ URL |
注意点
- 情報が必ずしも最新であるとは限りません。重要な分析には公式なデータソースも併用してください。
- 一部のデータは特定の企業で利用できない場合があります。
- 頻繁にリクエストを送信すると制限がかかる可能性があります。
会社概要の取得
財務情報の取得方法
`yfinance.Ticker` クラスを使用して財務情報を取得します。以下に基本的な使い方を示します。
import yfinance as yf
# ティッカーシンボルを指定
ticker = yf.Ticker("AAPL")
# 損益計算書を取得
income_statement = ticker.financials
print("損益計算書:")
print(income_statement)
# 貸借対照表を取得
balance_sheet = ticker.balance_sheet
print("貸借対照表:")
print(balance_sheet)
# キャッシュフロー計算書を取得
cashflow = ticker.cashflow
print("キャッシュフロー計算書:")
print(cashflow)
上記のコードでは、Apple Inc. の財務データを取得しています。
財務情報の詳細
取得したデータは pandas.DataFrame
として返されます。それぞれ以下の内容が含まれます。
データ種類 | 取得できる情報 | 関連メソッド |
---|---|---|
損益計算書 | 売上高、営業利益、純利益など | Ticker.financials |
貸借対照表 | 総資産、総負債、純資産など | Ticker.balance_sheet |
キャッシュフロー計算書 | 営業キャッシュフロー、投資キャッシュフローなど | Ticker.cashflow |
注意点
- 一部のデータは、特定の企業や期間で取得できない場合があります。
- データは最新とは限らないため、公式な情報源と併用してください。
- ティッカーシンボルが正しいか確認してください(例: “AAPL” は Apple Inc.)。
コメント