Pythonのyfinanceは、企業の詳細な財務データを取得できる便利なライブラリです。
この記事では、収益、純利益、キャッシュフロー、時価総額、PER、PBRなどのデータを収集する具体的な方法について解説します。
Code(コード)セクション
yfinanceを使用して企業の財務情報を収集する方法をサンプルコードで紹介します。収益、純利益、キャッシュフロー、時価総額、PER、PBRといった財務指標を含む情報の取得方法です。
yfinanceのインストールとインポート
まず、yfinanceをインストールし、Pythonコードにインポートします。
pip install yfinance
import yfinance as yf
単一銘柄の基本的な財務データの取得
損益計算書の取得
損益計算書(Income Statement)は、企業の収益や費用、利益を示す重要な財務諸表です。`yfinance`ライブラリを使用して簡単に取得できます。以下は、Apple(AAPL)の損益計算書を取得するコードです。
import yfinance as yf
# ティッカーシンボルを指定してデータを取得
ticker = yf.Ticker("AAPL")
# 損益計算書を取得
income_statement = ticker.financials
# 損益計算書を表示
print("損益計算書:")
print(income_statement)
- 売上総利益(Gross Profit)
売上総利益は総収益(売上高)から売上原価を差し引いたもので、企業の収益性を示す指標です。
計算式:
売上総利益 = 総収益 - 売上原価
import yfinance as yf
# ティッカーシンボルを指定
ticker = yf.Ticker("AAPL")
# 総収益と売上原価を取得
total_revenue = ticker.financials.loc['Total Revenue'][0]
cost_of_revenue = ticker.financials.loc['Cost Of Revenue'][0]
# 売上総利益の計算
gross_profit = total_revenue - cost_of_revenue
print("売上総利益:", gross_profit) - 営業利益(Operating Income)
営業利益は、売上総利益から営業費用を引いたもので、企業の本業による利益を示します。
計算式:
営業利益 = 売上総利益 - 営業費用
# 売上総利益と営業費用を取得
operating_expense = ticker.financials.loc['Operating Expense'][0]
# 営業利益の計算
operating_income = gross_profit - operating_expense
print("営業利益:", operating_income) - 税引前利益(Net Income Before Taxes)
税引前利益は、営業利益から支払利息を差し引いた後の利益です。
計算式:
税引前利益 = 営業利益 - 支払利息
# 支払利息を取得
interest_expense = ticker.financials.loc['Interest Expense'][0]
# 税引前利益の計算
net_income_before_taxes = operating_income - interest_expense
print("税引前利益:", net_income_before_taxes) - 純利益(Net Income)
純利益は、税引前利益から法人税を差し引いたもので、企業の最終的な利益を示します。
計算式:
純利益 = 税引前利益 - 法人税
# 法人税を取得
income_tax_expense = ticker.financials.loc['Income Tax Expense'][0]
# 純利益の計算
net_income = net_income_before_taxes - income_tax_expense
print("純利益:", net_income) - EBITDA(利払い・税金・減価償却前営業利益)
EBITDAは、企業のキャッシュフローを見るために利用される指標で、利息、税金、減価償却費を加えた利益です。
計算式:
EBITDA = 営業利益 + 減価償却費 + 支払利息
# 減価償却費と支払利息を取得
depreciation_amortization = ticker.financials.loc['Depreciation & Amortization'][0]
# EBITDAの計算
ebitda = operating_income + depreciation_amortization + interest_expense
print("EBITDA:", ebitda) - 1株当たり利益(EPS)
EPSは、純利益を発行済株式数で割ったもので、1株あたりの収益力を示します。
計算式:
EPS = 純利益 / 発行済株式数
# 発行済株式数を取得
shares_outstanding = ticker.info['sharesOutstanding']
# EPSの計算
eps = net_income / shares_outstanding
print("1株当たり利益 (EPS):", eps)
貸借対照表の取得
貸借対照表(Balance Sheet)は、企業の資産、負債、純資産を示す財務諸表です。以下のコードを使って、貸借対照表データを取得できます。
# 貸借対照表を取得
balance_sheet = ticker.balance_sheet
# 貸借対照表を表示
print("貸借対照表:")
print(balance_sheet)
- 総資産(Total Assets)
総資産は、企業が保有するすべての資産の合計を表します。
import yfinance as yf
# ティッカーシンボルを指定
ticker = yf.Ticker("AAPL")
# 貸借対照表から総資産を取得
total_assets = ticker.balance_sheet.loc['Total Assets'][0]
print("総資産:", total_assets) - 総負債(Total Liabilities)
総負債は、企業が負っているすべての負債の合計を表します。
# 貸借対照表から総負債を取得
total_liabilities = ticker.balance_sheet.loc['Total Liabilities'][0]
print("総負債:", total_liabilities) - 株主資本(Total Stockholder Equity)
株主資本は、企業の純資産であり、総資産から総負債を差し引いたものです。
計算式:
株主資本 = 総資産 - 総負債
# 貸借対照表から株主資本を取得
stockholder_equity = ticker.balance_sheet.loc['Total Stockholder Equity'][0]
print("株主資本:", stockholder_equity) - 現金および現金同等物(Cash And Cash Equivalents)
企業がすぐに利用できる現金や、短期間で現金化できる資産の合計です。
# 貸借対照表から現金および現金同等物を取得
cash_and_cash_equivalents = ticker.balance_sheet.loc['Cash And Cash Equivalents'][0]
print("現金および現金同等物:", cash_and_cash_equivalents) - 売掛金(Net Receivables)
売掛金は、企業が顧客に対して持っている未回収の売上債権を示します。
# 貸借対照表から売掛金を取得
net_receivables = ticker.balance_sheet.loc['Net Receivables'][0]
print("売掛金:", net_receivables) - 棚卸資産(Inventory)
棚卸資産は、販売のために保有している商品や原材料などの資産です。
# 貸借対照表から棚卸資産を取得
inventory = ticker.balance_sheet.loc['Inventory'][0]
print("棚卸資産:", inventory) - 短期負債(Current Liabilities)
短期負債は、1年以内に支払う必要のある負債の合計です。
# 貸借対照表から短期負債を取得
current_liabilities = ticker.balance_sheet.loc['Current Liabilities'][0]
print("短期負債:", current_liabilities) - 長期負債(Long Term Debt)
長期負債は、1年以上の返済期間がある負債の合計です。
# 貸借対照表から長期負債を取得
long_term_debt = ticker.balance_sheet.loc['Long Term Debt'][0]
print("長期負債:", long_term_debt) - 純資産(Net Assets)
純資産は、総資産から総負債を引いたものです。これは企業の純粋な資産額を示します。
計算式:
純資産 = 総資産 - 総負債
# 純資産の計算
net_assets = total_assets - total_liabilities
print("純資産:", net_assets)
キャッシュフロー計算書の取得
キャッシュフロー計算書(Cash Flow Statement)は、企業の現金収支に関する情報を示します。以下のコードを使ってキャッシュフロー計算書を取得します。
# キャッシュフロー計算書を取得
cash_flow = ticker.cashflow
# キャッシュフロー計算書を表示
print("キャッシュフロー計算書:")
print(cash_flow)
- 営業活動によるキャッシュフロー(Operating Cash Flow)
企業の営業活動から得られた現金収支で、コアなビジネスによるキャッシュフローを示します。
import yfinance as yf
# ティッカーシンボルを指定
ticker = yf.Ticker("AAPL")
# キャッシュフロー計算書から営業活動によるキャッシュフローを取得
operating_cash_flow = ticker.cashflow.loc['Operating Cash Flow'][0]
print("営業活動によるキャッシュフロー:", operating_cash_flow) - 投資活動によるキャッシュフロー(Investing Cash Flow)
投資活動(例:設備投資や資産売却)による現金収支を示します。
# キャッシュフロー計算書から投資活動によるキャッシュフローを取得
investing_cash_flow = ticker.cashflow.loc['Investing Cash Flow'][0]
print("投資活動によるキャッシュフロー:", investing_cash_flow) - 財務活動によるキャッシュフロー(Financing Cash Flow)
財務活動(例:株式発行や借入金の返済)による現金収支を示します。
# キャッシュフロー計算書から財務活動によるキャッシュフローを取得
financing_cash_flow = ticker.cashflow.loc['Financing Cash Flow'][0]
print("財務活動によるキャッシュフロー:", financing_cash_flow) - キャッシュフローの純増減(Net Cash Flow)
営業活動、投資活動、財務活動のキャッシュフローの合計で、期間内のキャッシュフローの純増減を示します。
計算式:
キャッシュフローの純増減 = 営業活動によるキャッシュフロー + 投資活動によるキャッシュフロー + 財務活動によるキャッシュフロー
# キャッシュフローの純増減の計算
net_cash_flow = operating_cash_flow + investing_cash_flow + financing_cash_flow
print("キャッシュフローの純増減:", net_cash_flow) - 資本的支出(Capital Expenditures)
企業が設備や資産に投資するために支出した費用を示します。
# キャッシュフロー計算書から資本的支出を取得
capital_expenditures = ticker.cashflow.loc['Capital Expenditures'][0]
print("資本的支出:", capital_expenditures) - フリーキャッシュフロー(Free Cash Flow)
営業活動によるキャッシュフローから資本的支出を差し引いたもので、企業が自由に使えるキャッシュフローを示します。
計算式:
フリーキャッシュフロー = 営業活動によるキャッシュフロー - 資本的支出
# フリーキャッシュフローの計算
free_cash_flow = operating_cash_flow - capital_expenditures
print("フリーキャッシュフロー:", free_cash_flow)
Appleの収益や純利益の情報を取得する例です。
ticker = yf.Ticker("AAPL")
income_statement = ticker.financials
print("収益:", income_statement.loc["Total Revenue"])
print("純利益:", income_statement.loc["Net Income"])
時価総額、PER、PBRなどの財務指標の取得
株式投資に役立つ時価総額やPER、PBRの情報を取得します。
info = ticker.info
print("時価総額:", info["marketCap"])
print("PER:", info["trailingPE"])
print("PBR:", info["priceToBook"])
5. 取得したデータの整形・加工
Pandasと連携し、取得したデータを扱いやすいデータフレーム形式で整形します。
import pandas as pd
df = pd.DataFrame(ticker.financials)
print(df.T) # 行列を転置して見やすく表示
Use Case(ユースケース)セクション
yfinanceを使って企業の財務データを収集することが役立つシナリオを具体的に紹介します。投資分析における利用方法とデータの取得例を説明します。
1. 企業の財務状況や成長性の分析
企業の成長を判断するために、収益や純利益の推移を調べます。
income_statement = ticker.financials
print("収益の推移:", income_statement.loc["Total Revenue"])
print("純利益の推移:", income_statement.loc["Net Income"])
財務指標を定期的に収集し、投資判断をサポート
PER、PBRなどの指標を定期的に取得して監視し、投資判断のサポートに役立てる方法です。
info = ticker.info
print("時価総額:", info["marketCap"])
print("PER:", info["trailingPE"])
print("PBR:", info["priceToBook"])
PandasやMatplotlibとの連携
PandasやMatplotlibを使い、収益や純利益の推移を可視化します。
株価データの取得と可視化
# ティッカーシンボルの設定とデータ取得
ticker_symbol = "AAPL"
ticker = yf.Ticker(ticker_symbol)
# 過去1年間の株価データを取得
data = ticker.history(period="1y")
# 株価の終値をプロット
plt.figure(figsize=(10, 5))
plt.plot(data.index, data['Close'], label='終値')
plt.title("Appleの株価推移(過去1年)")
plt.xlabel("日付")
plt.ylabel("株価(USD)")
plt.legend()
plt.grid()
plt.show()
3. 売上成長率の計算とプロット
損益計算書から売上成長率を計算し、過去数年間の成長率を棒グラフでプロットします。
# 損益計算書のデータを取得
income_statement = ticker.financials
# 売上成長率の計算
revenue = income_statement.loc['Total Revenue']
revenue_growth = revenue.pct_change() * 100 # 前年比成長率(%)
# 売上成長率をプロット
plt.figure(figsize=(10, 5))
revenue_growth.plot(kind='bar', color='skyblue')
plt.title("Appleの売上成長率(前年比)")
plt.xlabel("会計年度")
plt.ylabel("売上成長率(%)")
plt.grid(axis='y')
plt.show()
4. 営業キャッシュフローとフリーキャッシュフローの比較
キャッシュフロー計算書から営業キャッシュフローとフリーキャッシュフローを取得し、折れ線グラフで比較します。
# キャッシュフロー計算書のデータを取得
cash_flow = ticker.cashflow
# 営業キャッシュフローとフリーキャッシュフローの抽出
operating_cash_flow = cash_flow.loc['Operating Cash Flow']
capital_expenditures = cash_flow.loc['Capital Expenditures']
free_cash_flow = operating_cash_flow + capital_expenditures
# 営業キャッシュフローとフリーキャッシュフローをプロット
plt.figure(figsize=(10, 5))
plt.plot(operating_cash_flow.index, operating_cash_flow, label="営業キャッシュフロー", marker='o')
plt.plot(free_cash_flow.index, free_cash_flow, label="フリーキャッシュフロー", marker='o')
plt.title("Appleのキャッシュフロー(過去数年)")
plt.xlabel("会計年度")
plt.ylabel("キャッシュフロー(USD)")
plt.legend()
plt.grid()
plt.show()
Information Type(取得可能な情報の種類)セクション
yfinanceで取得できる財務データの詳細な情報について、各情報タイプの具体例を挙げて説明します。
基本的な財務データ
収益や純利益などの企業財務情報を取得する方法です。
financials = ticker.financials
print("収益:", financials.loc["Total Revenue"])
print("純利益:", financials.loc["Net Income"])
拡張的な財務指標
時価総額、PER、PBRなど、企業の価値や投資判断に役立つデータも取得できます。
info = ticker.info
print("時価総額:", info["marketCap"])
print("PER:", info["trailingPE"])
print("PBR:", info["priceToBook"])
特定期間のキャッシュフローや利益率
特定期間のキャッシュフローや利益率の推移を確認します。
cashflow = ticker.cashflow
print("営業キャッシュフロー:", cashflow.loc["Total Cash From Operating Activities"])
print("フリーキャッシュフロー:", cashflow.loc["Free Cash Flow"])
Steps(手順)セクション
yfinanceを用いた財務データの詳細情報の取得方法について、初心者でもわかりやすい手順を説明します。
yfinanceのインストール方法
yfinanceをインストールするには以下のコマンドを使用します。
pip install yfinance
まとめ
新NISAのスタートで投資に興味を持つ方も多いと思います。yfinanceは、企業の財務データを手軽に収集・分析できる強力なツールです。
本記事のサンプルコードを参考に、収益やキャッシュフローなどの詳細データを取得し、投資判断に役立ててください。
コメント