【Python】カッコ悪いコードだけど、EDINETから企業の財務データを取得してみた Vol.0

どんぐりP

気になる企業の決算短信を見るのが大変

日本の株式投資を始めようと思い、まず始めたのが気になる企業の決算短信をみることでした。

決算短信とは?

企業の決算情報をまとめたもの。

  • B/S(貸借対照表)
  • P/L(損益計算書)
  • C/F(キャッシュフロー計算書)
  • その他経営情報や事業情報

などを見ることができます。

有価証券報告書に比べて、簡易的なのでかなり見やすい作りとなっています。

みなさんも見たことがある人は、わかると思いますが、結構時間がかかります。

見るときはその企業だけではなく、その他の企業も併せてみるので結構時間がかかるんですよね。

仕事で企業の財務情報をよく見てらっしゃるファイナンス系の仕事のならともかく、全く関係のない仕事をしている私には相当時間がかかります。

さらに他の企業との比較をしようと思うと、どうしてもデータをどこかに入力して比較するしかありません。

そんなことは普段別の仕事をしている私からするとかなり手間だなと思っていました。

当初、やっていたことと言えば、

  1. 企業のホームページにいく
  2. IR情報→決算短信にいく
  3. 各事業年度の決算短信を確認する
  4. 確認したい項目の数値をGoogleスプレッドシートに記入
  5. 違う事業年度のの決算短信を確認
  6. 確認したい項目の数値をGoogleスプレッドシートに記入

こんな感じでやっていました。

これってかなり時間がかかるんですよね。

特に企業によって、ホームページの作りはかなり異なりますからね。

ただ、これを毎回気になる企業がある度にやるのはかなり非効率だなと感じていました。

EDINETにあるxbrlファイルからデータを引き出したい

この非効率な手間をどうにかできないかなー

何か方法はないのかなー

なんて考えながら、ネットで検索していると、プログラミングで企業の決算短信や有価証券報告書の情報を引き出すことができることが判明。

これは、私の中で「やるしかない!」と思いました。

ただ、プログラミングも数年前にただの興味本意でちょっとかじった程度だったので、こんなの素人ができるのか?と思いながら色々情報を集めまくりました。

EDINETって何?

調べていく内に多くのネット記事で、「EDINETから情報を引き出す方法」などがあることがわかりました。

恥ずかしながら、私はこの「EDINET」と言うものをこれまで全く知りませんでした。

EDINETとは?

金融庁が管理している有価証券報告書などの電子開示するシステムのこと

つまり、決まったデータ方式に基づいて上場している企業が金融庁に提出しているデータを見ることができるシステムのことです。

これを使えば、かなり簡単に見たい情報を見ることができる!と感動しました。

初めて聞いた「XBRL」ファイル

どんなデータがあるのか、早速検索検索っと

とりあえず、トヨタ自動車で調べてみるとこんな感じの検索結果になりました。

ファイル形式として、「PDF」「CSV」はよく使うけど、「XBRL」って何?ってなりましtあ。

ネットで検索するとこの「XBRL」ファイルで企業のデータを取得している人が多く、どんなものなのか開いてみると、テキストエディタで開いてみると

ちょっとど素人には見る気にすらなりませんね。

一応このデータのマニュアルも金融庁のホームページにのっているのですが、これがまたわかりにくいんです。

ただ、わかる人からしたらCSVよりもこちらのファイルの方がデータを取り出しやすいとのことでした。

Githubから過去の偉人のコードを利用

そんなこんなで、わからないまま突き進んでいたわけですが…

やはり、ど素人が自力で1から作るには無理だと理解して、

「誰か少しでいいからコードを書いてくれてないかな…」

なんて、他力本願でネットサーフィンをしていると、Githubにあげている人発見!!

恥ずかしながら、ここでGithubというプログラミングコードなどを保存や公開できるプラットフォームというかサービスがあることをこの時に知りました。

まだまだ知らないことがたくさんあるなと思いながら、しみじみ感じていました。

そんな中で、mamibowさんのコードを使用させてもらうことにしました。

ブログ記事はこちらです。

ここスタート地点として、ここから自分なりに編集してコード作成していきました。

<ちなみに..>色々なコードを試してみた

Githubで見つけたコード以外にもネット上にはブログ記事として色々上げている方がいます。

その方たちのコードを色々自分の環境で試してみたのですが、あまりうまくいきませんでした。

というか、私には何がなんだかわからないものだらけでした。

それもそのはずで、できる人ができる人向けに書いている記事や、完成した一部だけを載せていたりしているからです。

1からわかりやすく書いている記事はあまりありませんでした。

その中でも先ほどのmamibowさんのコードと記事はかなりわかりやすく書いてありました。

だからこそ、私は先人の力は借りていますが、汚いコードのままどうやってプログラムしたかを紹介していきたいと思っています。

だたし、まだまだ未完成なので、みなさんなりに改善したり、こんなコードを書けばもっとうまくいくなどの情報もあれば助かります。

以上、読んで頂きありがとうございます。

次からコードについて書いていきます!

コメント

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