
この記事は10分程で読むことができます!
この記事では、Python初心者でもできるように、財務諸表分析をレクチャーしていきます!
本記事は、全8回に渡って掲載される「pythonによる財務分析‐バフェットコードを用いて完全レクチャー!」シリーズの第1回になります!
重回帰分析をマスターすれば、株式投資のリターン予測を行う事が出来るようになり、プログラミングだけでなく投資のスキルも磨けます!
また、ファイナンス系以外の幅広い分野の研究機関でも、この分析手法を利用した論文も多々ある為、教養としても覚えて損はないです!
是非、全8回を読みPythonによる財務分析のプロフェッショナルになりましょう!
第1回では、Pythonで財務分析を行うための、
- データの取得
- データの加工
- データの分析
といった、基本的な流れをレクチャーしてきます!
それでは一緒に学んでいきましょう!
目次
Pythonで財務分析をしよう!

今回はPythonによるデータ分析の簡単な流れを、財務データを用いてレクチャーしていきます。
特に機械学習といった分野では、画像認識や機械翻訳さらには株価予測まで広範囲にわたり私達の日常に浸透しつつあります。
そもそも財務分析とは
レクチャーの前に、そもそも財務分析とは、なんなのかを説明をします。
財務分析とは、貸借対照表や損益計算書といった企業の財務データを分析することです。
分析結果から会社の経営状態を数値的に判断できる為、投資に限らず就職等においても会社を分析する際に非常に役に立ちます。
Jupyter Notebook(ジュピター・ノートブック)を使う
今回、Pythonで財務分析を行うに当たって、Jupyter Notebook(ジュピター・ノートブック)を開発環境として分析を行います。
教育機関や研究機関でも広く使われており、Pythonでデータ分析を行うには欠かせないツールとなっています。

バフェットコードをつかって、Pythonで財務データを取得しよう!
みなさん、 開発環境は整いましたか?
それでは、財務分析のレクチャーを始めていきます!
まずは、データの取得を行います。
今回使用するデータは「バフェットコード」から取得します。
東京証券取引所に登録されている上場企業約4000社の企業データを分析する事が出来る優れモノで、大学や金融機関でも近年利用されるようになりました。
今回は、無料版でcsvデータをダウンロードしていきます!
アカウントはTwitterやGoogleアカウントでの登録も可能です。
企業名を検索し、財務データをダウンロードする
まずは下記のリンクよりバフェットコードにアクセスをします。
その後、お好きな企業名を入力します。
今回は「サイバーエージェント」と記入してみます!
出典:「バフェットコード」
検索し、企業のページに移動します。
出典:「バフェットコード」
上記の画像と同じページにアクセスしたら、業績をクリックします。
出典:「バフェットコード」
その後、「ダウンロード」をクリックするとcsv形式でデータを保存することが出来ます!
作業用のフォルダを作成し、ダウンロードしたデータを移動させる
今回はデスクトップ上に「python財務分析」という名前のフォルダを新規作成しました。
画像はWindowsですが、Macの場合も同じ手順で問題ありません。
その後、ダウンロードしたデータをフォルダへ移動させます。

ジュピター・ノートブックを新規作成する
ジュピター・ノートブックを起動し、フォルダを作成した場所にアクセスします。
記事作成者の場合ではDesktopにアクセスします。

フォルダにアクセス出来たら、右上の「New」から「Python3」を選択し、コードファイルの新規作成を行います。そうしましたら、Untitledのファイルが作成されます。


pandasライブラリを用いて財務データを読み込む
pandasライブラリをインポートし、下記のようなコード書き、データの読み込みを行います。
ジュピター・ノートブックではpandasは基本搭載されていますが、もし消してしまった場合は再インストールをしましょう!
import pandas as pd financial_data = pd.read_csv(“financial_4751.csv”, encoding=”SHIFT-JIS”) financial_data |
上記に画像が小さいためコードを書きました、“financial_4751.csv”の部分には自身のファイルの名前を入れます。

データが読み込まれれば成功です!
無料会員の場合は過去3年分まで取得されますが。有料会員の場合は上記のように過去7年分まで取得されます。
分析操作には影響しませんので、ご安心ください。
本記事では、過去7年分にて進めさせて頂きます。
Pythonで財務データを加工しよう!
それでは、読み込んだデータを加工していきましょう!
今回はpandasライブラリの詳しい操作は割愛させて頂きます。もし詳しい操作を知りたい場合は別サイトで確認しましょう。

もし詳しい操作を知りたい場合は別サイトで確認してみてね。
データを抽出する
まず、自分が調べたいデータ群を下記のようなコードで抽出することが出来ます。

出力されたデータに関しては、0行目が最新年度(本記事時点の2020年5月では2019年度)のものです。
ちなみに、下の画像が取得できるデータ群になります。
下の画像の中のものを使い、財務指標に加工していきます。


分析したい財務指標の式を検索し、算出する
今回は例として、純資産成長率を求めていきます。
式は下記になります。

上記の式を見ると次のことが分かります。
この式に限らないことですが、成長率を算出するには「成長率を求めたい年度(時系列)」と「成長率を求めたい年度の前の年度(前の時系列)」の二つデータが必要となります。
従って、下の画像のような操作を行う必要があります。
上の画像は、「純資産」のデータを抽出するだけでなく、一行分ずらしたデータも別の変数に入れて作成しています。
このようにスライドすることで、時系列データが膨大になったとしても「成長率を求めたい年度(時系列)」と「成長率を求めたい年度の前の年度(前の時系列)」を簡単に作成することが可能です。
ずらしたデータを使い、計算式をもとに純資産成長率を算出します

今回は、計算式を書くだけでなく、欠損値(nan)を「dropna()」により除去させています。
これでデータの加工は終了です!それではいよいよ分析に入っていきます!
Pythonで財務データを分析しよう!
それでは分析を行っていきましょう!
今回は、この3つを見ていきます。
- 折れ線グラフ
- 加重平均
- 相関性
上記はビジネスシーンでも広く使われています。
具体的な用途を軽く見ていきましょう。
ちなみにですが、株価市場で馴染みの深い東証株価指数(TOPIX)の算出方法にも加重平均が使われています。
上記の例は、ほんの一部に過ぎないので、応用はいくらでも可能です!
そんな3つの手法を使いこなせるようにしましょう!
折れ線グラフを作成
折れ線グラフとは、数値の推移を視覚的に分かりやすくした図です。
今回は numpy とmatplotlibライブラリを利用する為、先にインストールをして使えるようにしておきましょう!

上記のように純資産成長率の推移を書くことができます!
加重平均 を算出する
加重平均とは、データごとの重視したい要素に重みを加え平均を算出することを指します。
今回は使い方としてやや特殊ですが、直近の決算を重視し最新年度に近づけば近づくほど重みを加えていきます。

今回ですと”10.2%”が加重平均したときの純資産成長率の数値ですね。このように、年度に重みを置くことで時系列の移り変わりを重視する事ができます。
相関性をみる
相関性とは、あるもの事と別のあるもの事が互いに影響を及ぼす関係性のことを指します。
特にそうした関係を数値的に表したもの相関係数といいます。最大値1最小値-1の範囲で、”1”に近づけば近づくほど正の相関が見られ、”-1”に近づけば近づくほど負の相関が見られます。また、相関係数が”0”に近づくと相関関係が無いと表わされます。
具体的に相関性を確認していきましょう!今回は「売上高」と「株価」の相関性を見ていきます。

「corr()」でデータ間の相関係数を確認出来ます。今回ですと、売上高と株価の相関係数は”0.87”とかなり強い正の相関が見られます。
加えて、確認用に散布図も見ていきます。散布図は下記のようなコードで書くことができます。

まとめ
第1回では、Pythonで財務分析を行う
- データの取得
- データの加工
- データの分析
という、基本的な流れを学んでいきました!
本記事を通し、企業の財務データの簡単な分析をマスターすることが出来たと思います!
次回以降では、バフェットコードのAPIを利用した本格的な分析を行います!
そして、冒頭で述べたように最終的に重回帰分析といった機械学習的手法もマスターしていきます!

記事にでてくるコードはLINE@にて配布をしております!
ラインのメッセージ欄に「財務分析」とお送りいただければ、ダウンロードリンクを送付いたします!
最終的に重回帰分析といった機械学習的手法もマスターできる!