Pythonによる財務分析① バフェットコードをつかって完全レクチャー! (全8回)

アイキャッチ 街並み



Python初心者
Python初心者
企業の財務分析をしたいけど、なにをしたらいいのかわからないよ。。。

この記事は10分程で読むことができます!

この記事では、Python初心者でもできるように、財務諸表分析をレクチャーしていきます!

本記事は、全8回に渡って掲載される「pythonによる財務分析バフェットコードを用いて完全レクチャー!」シリーズの第1回になります!

 

このシリーズを読むとわかること
Python初心者でも、数百数千の企業の財務データを分析出来るようになる!

最終的に重回帰分析といった機械学習的手法もマスターできる!

 

重回帰分析をマスターすれば、株式投資のリターン予測を行う事が出来るようになり、プログラミングだけでなく投資のスキルも磨けます!

 

また、ファイナンス系以外の幅広い分野の研究機関でも、この分析手法を利用した論文も多々ある為、教養としても覚えて損はないです!

 

是非、全8回を読みPythonによる財務分析のプロフェッショナルになりましょう!

1回では、Pythonで財務分析を行うための、

  • データの取得
  • データの加工
  • データの分析

といった、基本的な流れをレクチャーしてきます!

 

それでは一緒に学んでいきましょう!

Pythonで財務分析をしよう!

ダウ 新聞紙

今回はPythonによるデータ分析の簡単な流れを、財務データを用いてレクチャーしていきます。

豆知識
PythonRといった言語で、データを分析し活用する事がここ数年で飛躍的に伸びて来ました。

特に機械学習といった分野では、画像認識や機械翻訳さらには株価予測まで広範囲にわたり私達の日常に浸透しつつあります。

そもそも財務分析とは

レクチャーの前に、そもそも財務分析とは、なんなのかを説明をします。

財務分析とは、貸借対照表や損益計算書といった企業の財務データ分析することです。

豆知識
特にそうした財務データを、「ROE」や「純利益成長率」といった経営指標に加工し、分析するものを財務諸表分析と言います。

分析結果から会社の経営状態を数値的に判断できる為、投資に限らず就職等においても会社を分析する際に非常に役に立ちます。

Jupyter Notebook(ジュピター・ノートブック)を使う

今回、Pythonで財務分析を行うに当たって、Jupyter Notebook(ジュピター・ノートブック)を開発環境として分析を行います。

 

ジュピター・ノートブックとは
ブラウザ上で動作するプログラム実行ツールです。

教育機関や研究機関でも広く使われており、Pythonデータ分析を行うには欠かせないツールとなっています。

why
環境構築は下記記事をご参考ください。

pc mac

【Anaconda】 Pythonの環境構築 |mac編|

pc mac

【Anaconda】 Pythonの環境構築 |Windows編|

バフェットコードをつかって、Python財務データを取得しよう!

 みなさん、 開発環境は整いましたか?

それでは、財務分析のレクチャーを始めていきます!

まずは、データの取得を行います。

今回使用するデータは「バフェットコード」から取得します。

バフェットコードとは
企業名を検索することで、検索した企業の財務情報が簡単に入手できるサイトです

東京証券取引所に登録されている上場企業4000社の企業データを分析する事が出来る優れモノで、大学や金融機関でも近年利用されるようになりました。

今回は、無料版でcsvデータをダウンロードしていきます!

豆知識
ダウンロードの際には事前に会員登録をすることが必要です。

アカウントはTwitterGoogleアカウントでの登録も可能です。

企業名を検索し、財務データをダウンロードする

まずは下記のリンクよりバフェットコードにアクセスをします。

https://www.buffett-code.com/

その後、お好きな企業名を入力します。

今回は「サイバーエージェント」と記入してみます!

検索 バフェットコード出典:「バフェットコード

検索し、企業のページに移動します。

財務データ バフェットコード出典:「バフェットコード

上記の画像と同じページにアクセスしたら、業績をクリックします。

グラフ バフェットコード出典:「バフェットコード

その後、「ダウンロード」をクリックするとcsv形式でデータを保存することが出来ます!

作業用のフォルダを作成し、ダウンロードしたデータを移動させる

 今回はデスクトップ上に「python財務分析」という名前のフォルダを新規作成しました。

画像はWindowsですが、Macの場合も同じ手順で問題ありません。

その後、ダウンロードしたデータをフォルダへ移動させます。

windowsのフォルダ

ジュピター・ノートブックを新規作成する

 ジュピター・ノートブックを起動し、フォルダを作成した場所にアクセスします。

記事作成者の場合ではDesktopにアクセスします。

jupyternotebookの画面

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

why
タイトルの変更は出来るので安心してね。

jupyternotebookの画面

pandasライブラリを用いて財務データを読み込む

pandasライブラリをインポートし、下記のようなコード書き、データの読み込みを行います。

ジュピター・ノートブックではpandasは基本搭載されていますが、もし消してしまった場合は再インストールをしましょう!

import pandas as pd

financial_data = pd.read_csv(“financial_4751.csv”, encoding=”SHIFT-JIS”)

financial_data

 

上記に画像が小さいためコードを書きました、“financial_4751.csv”の部分には自身のファイルの名前を入れます。

 

jupyternotebookのコード

データが読み込まれれば成功です!

無料会員の場合は過去3年分まで取得されますが。有料会員の場合は上記のように過去7年分まで取得されます。

分析操作には影響しませんので、ご安心ください。

本記事では、過去7年分にて進めさせて頂きます。



Python財務データを加工しよう!

それでは、読み込んだデータを加工していきましょう!

今回はpandasライブラリの詳しい操作は割愛させて頂きます。もし詳しい操作を知りたい場合は別サイトで確認しましょう。

why
今回はpandasライブラリの詳しい操作は割愛するよ。
もし詳しい操作を知りたい場合は別サイトで確認してみてね。

データを抽出する

まず、自分が調べたいデータ群を下記のようなコードで抽出することが出来ます。

バフェットコードから抽出したデータ

出力されたデータに関しては、0行目が最新年度(本記事時点の2020年5月では2019年度)のものです。

ちなみに、下の画像が取得できるデータ群になります。

下の画像の中のものを使い、財務指標に加工していきます。

 

why
バフェットコードは既に財務指標に加工しているモノもあるから、分析がとても簡単なんだよ!

 

財務指標の一覧

分析したい財務指標の式を検索し、算出する

今回は例として、純資産成長率を求めていきます。

式は下記になります。

純資産成長率の計算式

上記の式を見ると次のことが分かります。

この式に限らないことですが、成長率を算出するには「成長率を求めたい年度(時系列)」と「成長率を求めたい年度の前の年度(前の時系列)」の二つデータが必要となります。

従って、下の画像のような操作を行う必要があります。

 

pythonで使用する財務データ

上の画像は、「純資産」のデータを抽出するだけでなく、一行分ずらしたデータも別の変数に入れて作成しています。

このようにスライドすることで、時系列データが膨大になったとしても「成長率を求めたい年度(時系列)」と「成長率を求めたい年度の前の年度(前の時系列)」を簡単に作成することが可能です。

ずらしたデータを使い、計算式をもとに純資産成長率を算出します

pythonのコード

今回は、計算式を書くだけでなく、欠損値(nan)を「dropna()」により除去させています。

豆知識
pandasのシリーズ型は、リスト型と違いイミュータブルなため変数を新しく作成しています。

これでデータの加工は終了です!それではいよいよ分析に入っていきます!



Python財務データを分析しよう!

 それでは分析を行っていきましょう!

今回は、この3つを見ていきます。

  1. 折れ線グラフ
  2. 加重平均
  3. 相関性

上記はビジネスシーンでも広く使われています。

具体的な用途を軽く見ていきましょう。

①折れ線グラフ
ある会社の事業ごとの利益の推移を見て、どこに投資をすべきか判断したりする際に利用します。

 

②加重平均
ある銘柄(株)を異なった株価及び株数で購入したとき、その購入した銘柄の平均株価を求める際に用いられます。

ちなみにですが、株価市場で馴染みの深い東証株価指数(TOPIX)の算出方法にも加重平均が使われています。

 

③相関性
例えばある株とある株の値動きの関係性を把握し、それをもとにポートフォリオ投資(分散投資)といった投資戦略を立てる際に使われます。

上記の例は、ほんの一部に過ぎないので、応用はいくらでも可能です!

そんな3つの手法を使いこなせるようにしましょう!

折れ線グラフを作成

 折れ線グラフとは、数値の推移を視覚的に分かりやすくした図です。

今回は numpy matplotlibライブラリを利用する為、先にインストールをして使えるようにしておきましょう!

pythonで作成した折れ線グラフ

 

上記のように純資産成長率の推移を書くことができます!

加重平均 を算出する

加重平均とは、データごとの重視したい要素に重みを加え平均を算出することを指します。

今回は使い方としてやや特殊ですが、直近の決算を重視し最新年度に近づけば近づくほど重みを加えていきます。

pythonの加重平均のコード

今回ですと”10.2が加重平均したときの純資産成長率の数値ですね。このように、年度に重みを置くことで時系列の移り変わりを重視する事ができます。

相関性をみる

相関性とは、あるもの事と別のあるもの事が互いに影響を及ぼす関係性のことを指します。

特にそうした関係を数値的に表したもの相関係数といいます。最大値1最小値-1の範囲で、”1”に近づけば近づくほど正の相関が見られ、”-1”に近づけば近づくほど負の相関が見られます。また、相関係数がに近づくと相関関係が無いと表わされます。

具体的に相関性を確認していきましょう!今回は「売上高」と「株価」の相関性を見ていきます。

 

pythonのコード

 

corr()」でデータ間の相関係数を確認出来ます。今回ですと、売上高と株価の相関係数は”0.87”とかなり強い正の相関が見られます。

加えて、確認用に散布図も見ていきます。散布図は下記のようなコードで書くことができます。

pythonの相関係数のコード

まとめ

1回では、Pythonで財務分析を行う

  • データの取得
  • データの加工
  • データの分析

という、基本的な流れを学んでいきました!

本記事を通し、企業の財務データの簡単な分析をマスターすることが出来たと思います!

次回以降では、バフェットコードのAPIを利用した本格的な分析を行います!

そして、冒頭で述べたように最終的に重回帰分析といった機械学習的手法もマスターしていきます!

why
次回もお楽しみにしていてね!

 

記事にでてくるコードはLINE@にて配布をしております!
ラインのメッセージ欄に「財務分析」とお送りいただければ、ダウンロードリンクを送付いたします!

コード配布はLINE@にて!!
  友だち追加

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA