見出し画像

調べてみたら微妙な結果でした Pythonで決算書データがダウンロード可能?


企業の決算情報をまとめて掲載しているウェブサイトの仕組みを知りました

最近、下記の本を読みました。

  • はっしゃん(著) 『「会社四季報」速読1時間で10倍株を見つける方法 投資家VTuberはっしゃんが綿密なリサーチから導き出した「誰でもできる」3ステップ投資術』

本の内容は、下記の3ステップで投資先として有望な銘柄を見つけるというものです。

  • ステップ1: 会社四季報に掲載されている月足チャートから上昇トレンドにある銘柄を抽出する

  • ステップ2: ステップ1で抽出された銘柄に対して、会社四季報に掲載されている今期と来期の業績に基づいて選別する

  • ステップ3: ステップ2で選別された銘柄に対して、財務諸表から算出された理論株価と現在の株価を比較して投資する/しないを選択する

著者であるはっしゃん氏は、【株Biz】投資勉強会というウェブサイトを運営されているのですが、ここに掲載されているデータについて、興味深い記述を見つけました。

上場企業各社からリリースされるXBRLというデジタル形式の決算書データからプログラム(PythonやMySQL、HTML5など)を使って理論株価を算出して、見える化表示します。

「会社四季報」速読1時間で10倍株を見つける方法 投資家VTuberはっしゃんが綿密なリサーチから導き出した「誰でもできる」3ステップ投資術

企業の決算情報をまとめて掲載しているウェブサイトは複数存在しますが、このような仕組みを使っていることを私は初めて知りました。

早速、私もPythonを使って企業の決算書データにアクセスしたいという気持ちが抑えられなくなり、XBRLについて調べることにしました。

XBRLとは?

先ずは、XBRLについて調べてみたところ、ウェブサイトが存在しました。

上記のウェブサイトには、XBRLについて下記のように記載されていました。

XBRLとは
XBRL(eXtensible Business Reporting Language)は、各種事業報告用の情報(財務・経営・投資などの様々な情報)を作成・流通・利用できるように標準化されたXMLベースのコンピュータ言語です。特に、組織における財務情報・開示情報(財務諸表や内部報告など)の記述に適しています。

https://www.xbrl.or.jp/modules/pico1/index.php?content_id=9

上記において、XMLとは、eXtensible Markup Languageの略で、その意味は「拡張可能なマークアップ言語」です。

また、マークアップ言語とは、HTMLやTeX, 等の組版に使用される視覚表現や文章構造、等を記述するための言語です。

XBRLが決算書データのダウンロードのみならず、作成も含めた仕組みだということを私は理解しました。

Pythonで決算書データをダウンロードするにはどこにアクセスすれば良い?

Pythonで決算書データをダウンロードする方法をインターネットで調べたところ、EDINETやTDNETにアクセスすれば良いことが分かりました。

EDINETは大量保有報告書の情報を参照するためにアクセスしたことがあるのですが、TDNETとはどう違うのでしょうか。

私が調べたところでは、EDINETとTDNETの大まかな違いは次の通りです。

  • EDINET

    • 金融庁によって運営されている

    • 下記の書類が掲載されている

      • 有価証券報告書

      • 半期・四半期報告書

      • 大量保有報告書

      • 臨時報告書

      • その他の書類

    • 書類によって公開期間が異なるが、期間が延長されている書類もある

      • 有価証券報告書は5年 → 10年に延長

      • 半期報告書は5年 → 10年に延長(2024年4月1日以後提出の書類が対象)

      • 四半期報告書は3年 → 10年に延長(2015年4月1日以後提出の書類が対象)

    • 無料で利用可能

  • TDNET

    • 東京証券取引所によって運営されている

    • 上場会社が適時開示にかかる規則に基づき開示する情報が掲載されている

      • 決算短信

      • 決算説明・補足資料

      • 業績予想の修正に関するお知らせ

      • 余剰金の配当に関するお知らせ

      • その他の情報

    • 開示日を含めて過去31日分(土・日祝日を含む)の開示資料を縦覧可能

    • 過去5年分の開示資料は、有料のTDnetデータベースサービスを利用することで縦覧可能

恥ずかしながら、「縦覧(じゅうらん)」という言葉は初見でした。

その意味を調べたところ、自由に見ること、思うままに見てまわること、といったものでした。

それなら「閲覧(えつらん)」で良くないですか? と思ったのですが、どうやら「閲覧」と「縦覧」は異なるようです。

質問 閲覧と縦覧の違いは何ですか。
閲覧は、本人(納税義務者)が固定資産課税台帳の登載事項を確認するための制度、縦覧は、自己の固定資産の評価額が適正であるかどうかを他の固定資産の評価と比較し確認するための制度です。

一宮市 固定資産税・都市計画税 よくある質問

制度の話?
(? _ ?)

話が脱線してしまいました。

改めて、EDINETとTDNETを比較してみると、EDINETにアクセスするのが良さそうです。

PythonでEDINETにアクセスするには個人情報の登録が必要

PythonでEDINETにアクセスするには、EDINET API(Version2)を使用する必要があります。

EDINET API(Version2)の詳細は、下記の仕様書を参照しました。

上記の仕様書によると、事前にアカウントを作成し、APIキーを取得する必要があることが分かりました。

アカウントの作成に必要な情報は、下記となります。

  • EDINETアカウントの作成に必要な情報

    • メールアドレス

    • パスワード

    • 名前

    • 電話番号

ちなみに、EDINET API(Version2)の仕様書(2024年7月)には、連絡先の利用目的に対する注意事項として、下記の記載がありました。

注意 連絡先の利用目的について
API機能の利用規約に沿わない利用を行ったおそれがあるユーザに対しては、利用状況を確認するために連絡先を利用させていただく場合があります。

EDINET API(Version2)仕様書(2024年7月) P. 20

金融庁からの電話を受けたらかなり緊張しそうです。
((( ;゚Д゚)))ガクガクブルブル

私としては、現時点ではお試しでやりたいだけですので、個人情報を登録するのには抵抗を感じます。

このため、PythonでTDNETにアクセスする方法を調べてみました。

PythonでTDNETにアクセスする方法は2通り

PythonでTDNETにアクセスするには、下記の2通りの選択肢があります。

  • PythonでTDNETにアクセスする方法

私の場合、無料で利用可能なJ-Quants APIの一択です。

しかし、無料プランの場合、データの提供が12週間遅延するとウェブサイトに記載されていました。
Σ(゚д゚lll)ジュウニシュウカン!!

12週間遅延って会社四季報より情報が古いじゃないですか。

ちなみに、J-Quants APIのFAQには、商用利用に関して以下の記載がありました。

J-Quants APIはどのような用途で利用できますか?
J-Quants APIは個人の方の私的利用に限定したサービスです。法人による利用や、個人の方であってもデータの第三者配信やデータを利用したアプリの提供などは、営利・非営利を問わず利用は禁止されています。これら利用につきましては別途お問合せください。

J-Quants APIのFAQより

個人であってもデータの第三者配信が禁止されているとなると、ウェブサイトでの公開はNGとなります。

ということは、企業の決算情報を公開しているウェブサイトは、EDINETから情報を得ているのでしょうか。

あるいは、J-Quants APIではなくTDnet APIを利用すると話が変わってくるのかもしれません。

何だかいろいろ面倒です。

Pythonで決算書データがダウンロード可能とのことで、アレコレ調べてみましたが、微妙な結果になってしまいました。

最終手段として、Pythonで直接ウェブサイトにアクセスするプログラムを作成し、XBRLデータをダウンロードすることも考えました。

しかし、その方法はスマートじゃない気がします。

何故、企業の決算書データは、株価データのように何の登録もせず、かつ、無料でダウンロードできないのでしょうか。
(T _ T)

いいなと思ったら応援しよう!