pythonを活用した投資のための財務分析

IT全般

本記事では、pythonを活用した投資のための財務分析の方法について紹介します。

しかし、財務情報および財務指標に関してはバフェットコードが詳細なデータを無料でも提供しています。

そこで、このデータを活用して、企業間の財務情報の比較を行ってみた際の内容の紹介です。

2020/8/29追記EDINETから有価証券報告書などを入手して分析を実施する記事も書きましたので参考にしていただければ幸いです。

やること

トヨタ、日産、SUBARUの財務指標をバフェットコードから入手し、pythonで各社の指標比較結果を可視化します。

データのダウンロード

バフェットコードのサイトのトップから銘柄検索を行い、「業績」タブから「ダウンロード」で財務情報のcsvファイルがダウンロードできます。

ダウンロードしたcsvファイル中には、無料会員で3年間、有料会員で7年分の70種程度の財務指標が記載されています。財務情報情報としては70種類程度が記載されています

403 Forbidden

銘柄検索画面

財務情報ダウンロード画面

csvファイルに記載されている財務情報

'売上高', '売上原価', '売上総利益', '売上総利益率', '販管費', '営業利益', '営業利益率', 'EBITDA','経常利益', '法人税等', '実質実効税率', '親会社に帰属する純利益', '純利益率', 'EPS', 'BPS', '企業価値','時価総額', '純有利子負債', 'PER(会予)', 'PBR', 'PER × PBR', 'EV/EBITDA(会予)', 'PSR', 'PCFR', '一株当たり配当金', '配当利回り(実績)', '配当性向', '自己資本配当率', 'ROE', '総資産回転率','財務レバレッジ', '実質ROE', 'ROIC', 'ROA', '総資産', '流動資産', '現金及び預金', '現金/総資産','現金/月間売上', '現金/時価総額', '売掛金および受取手形', '製品および仕掛品', '流動比率', '固定資産', '負債','流動負債', '買掛金および支払手形', '固定負債', '有利子負債', 'D/Eレシオ', 'ネットD純利益倍率','自己株調整済負債比率', '純資産', '株主資本', '自己資本', '自己資本比率', '資本金', '利益剰余金', '営業CF','減価償却費', 'のれん償却費', '投資CF', '財務CF', 'フリーCF', '設備投資額', '研究開発費', '発行済株式総数','従業員数', '売上/従業員数', '営利/従業員数', '株価'

前準備

ダウンロードしたcsvファイルは以下のようにpythonでデータを読込んで、一つの変数に格納しました。

環境構築やpython(pandas)の使用法についてはリンク先を参照ください。

前準備

import pandas as pd

# csvファイルを読込んで年度情報や、会社情報を追加
toyota = pd.read_csv('financial_toyota.csv',encoding = 'SHIFT-JIS')
toyota['会社名'] = 'トヨタ'
toyota['年'] = ['2018-3','2019-3','2017-3']

nissan = pd.read_csv('financial_nissan.csv',encoding = 'SHIFT-JIS')
nissan['会社名'] = '日産'
nissan['年'] = ['2018-3','2019-3','2017-3']

subaru = pd.read_csv('financial_7270.csv',encoding = 'SHIFT-JIS')
subaru['会社名'] = 'SUBARU'
subaru['年'] = ['2018-3','2019-3','2017-3']

# 各社データを結合して一つの変数に格納
df = pd.concat([toyota,nissan,subaru])

# 棒グラフを書くために年でデータをソートして、'-'データを0で置き換え
df = df.sort_values(by=['年'])
df = df.replace('-',0)
df['年'] = pd.to_datetime(df['年'])

データ結合結果の一部

環境構築などについて

データの可視化

統合したデータから各社の財務指標を比較してみます。

今回は、収益性、安全性、効率性の観点から1指標ずつ比較を行ってみました。

収益性:営業利益率

import plotly.express as px

# 比較する項目:収益性
y = '営業利益率'
x = '年'

fig = px.line(df, x=x, y=y, color='会社名',width=800, height=400)
fig.show()

安全性:自己資本比率

import plotly.express as px

# 比較する項目:安全性
y = '自己資本比率'
x = '年'

fig = px.line(df, x=x, y=y, color='会社名',width=800, height=400)
fig.show()

効率性:総資産回転率

import plotly.express as px

# 比較する項目:効率性
y = '総資産回転率'
x = '年'

fig = px.line(df, x=x, y=y, color='会社名',width=800, height=400)
fig.show()

このように、バフェットコードとpythonを使用すると簡便に財務分析が可能です。

バフェットコードには有料会員向けのAPIも提供されており、有料会員になればより簡単かつ、豊富なデータが活用できるでしょう。

コメント

タイトルとURLをコピーしました