No.010 plotlyでyfinaceで取得した銘柄の貸借対照表(BalanceSheet)を描画

1.今回の目的

pythonのyfinance から貸借対照表の取得を行い、
plotlyで描画します。

2.リファレンス

下記のサイトを参考にさせていただきました。

plotlyで貸借対照表(BalanceSheet)を描画する - Qiita
Pythonとyfinanceで財務諸表の取得|SEIGO|note

3.pythonのcode (Jupyter Notebookを使用)

モジュールの読み込み

from plotly import graph_objs as go
import numpy as np
import pandas as pd
import yfinance as 

yfinanceで富士通の株価を取得

ticker_info = yf.Ticker("6702.T")

10億円単位にして df_bsという変数に格納

df_bs=ticker_info.balance_sheet/1000000000 #貸借対照表 

assetsという変数に  Total Asset(総資産)をリストで格納
liabという変数に  Total Liab(負債)をリストで格納
equityという変数に  Total Stockholder Equity(純資産)をリストで格納
minorityという変数に Minority Interest (少数株主資本)をリストで格納*
    *yfinanceのデータの持ち方としてはTotal Stock Equityの中にMinoristy Interestは含まれないようです。
labelsにdf.bsの列名(過去4年)を格納
念のためarray型で assets - liab - equity - minorityが0になるか確認

assets = df_bs.loc['Total Assets']  #リストで格納
liab = df_bs.loc['Total Liab']
equity = df_bs.loc['Total Stockholder Equity']
minority = df_bs.loc['Minority Interest']
labels = df_bs.columns.strftime('%Y年%m月%d日')
np.array(assets)-np.array(liab)-np.array(equity)-np.array(minority)

Plotlyでグラフ描画

# グラフ描画
fig1 = go.Figure(
   # データの指定
   data=[
        go.Bar(
            name="総資産",
            x=labels,
            y=assets,
            offsetgroup=0,
        ),
        go.Bar(
            name="負債",
            x=labels,
            y=liab,
            offsetgroup=1,
            base=equity+minority,
        ),
        go.Bar(
            name="純資産",
            x=labels,
            y=equity,
            offsetgroup=1,
            base=minority,
        ),
        go.Bar(
            name="小数株主資本",
            x=labels,
            y=minority,
            offsetgroup=1,
            ),
    ],
   # レイアウトの指定
    layout=go.Layout(
        title="富士通(6702.T)_貸借対照表(BS)",
        xaxis_title="決算期",
        yaxis_title="JPY(単位:十億円)"
    )
)
fig1.show()

最後にDataTableも作っておきます。

data2 = (
{
    "決算期": list(labels),
    '総資産':list(assets),
    '負債':list(liab),
    '純資産':list(equity),
    '少数株主資本':list(minority),
    
}
)

data2=pd.DataFrame(data2)
data2.style.set_caption("富士通(6702.T)_貸借対照表(BS) 単位:十億円")

以上です。過去4年分のBSのトレンドを比較できました。

この記事が気に入ったらサポートをしてみませんか?