調べてみたら微妙な結果でした Pythonで決算書データがダウンロード可能?
企業の決算情報をまとめて掲載しているウェブサイトの仕組みを知りました
最近、下記の本を読みました。
はっしゃん(著) 『「会社四季報」速読1時間で10倍株を見つける方法 投資家VTuberはっしゃんが綿密なリサーチから導き出した「誰でもできる」3ステップ投資術』
本の内容は、下記の3ステップで投資先として有望な銘柄を見つけるというものです。
ステップ1: 会社四季報に掲載されている月足チャートから上昇トレンドにある銘柄を抽出する
ステップ2: ステップ1で抽出された銘柄に対して、会社四季報に掲載されている今期と来期の業績に基づいて選別する
ステップ3: ステップ2で選別された銘柄に対して、財務諸表から算出された理論株価と現在の株価を比較して投資する/しないを選択する
著者であるはっしゃん氏は、【株Biz】投資勉強会というウェブサイトを運営されているのですが、ここに掲載されているデータについて、興味深い記述を見つけました。
企業の決算情報をまとめて掲載しているウェブサイトは複数存在しますが、このような仕組みを使っていることを私は初めて知りました。
早速、私もPythonを使って企業の決算書データにアクセスしたいという気持ちが抑えられなくなり、XBRLについて調べることにしました。
XBRLとは?
先ずは、XBRLについて調べてみたところ、ウェブサイトが存在しました。
上記のウェブサイトには、XBRLについて下記のように記載されていました。
上記において、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月)には、連絡先の利用目的に対する注意事項として、下記の記載がありました。
金融庁からの電話を受けたらかなり緊張しそうです。
((( ;゚Д゚)))ガクガクブルブル
私としては、現時点ではお試しでやりたいだけですので、個人情報を登録するのには抵抗を感じます。
このため、PythonでTDNETにアクセスする方法を調べてみました。
PythonでTDNETにアクセスする方法は2通り
PythonでTDNETにアクセスするには、下記の2通りの選択肢があります。
PythonでTDNETにアクセスする方法
J-Quants API(無料・有料プランあり)
TDnet API(有料プランのみ、月額7万円以上)
私の場合、無料で利用可能なJ-Quants APIの一択です。
しかし、無料プランの場合、データの提供が12週間遅延するとウェブサイトに記載されていました。
Σ(゚д゚lll)ジュウニシュウカン!!
12週間遅延って会社四季報より情報が古いじゃないですか。
ちなみに、J-Quants APIのFAQには、商用利用に関して以下の記載がありました。
個人であってもデータの第三者配信が禁止されているとなると、ウェブサイトでの公開はNGとなります。
ということは、企業の決算情報を公開しているウェブサイトは、EDINETから情報を得ているのでしょうか。
あるいは、J-Quants APIではなくTDnet APIを利用すると話が変わってくるのかもしれません。
何だかいろいろ面倒です。
Pythonで決算書データがダウンロード可能とのことで、アレコレ調べてみましたが、微妙な結果になってしまいました。
最終手段として、Pythonで直接ウェブサイトにアクセスするプログラムを作成し、XBRLデータをダウンロードすることも考えました。
しかし、その方法はスマートじゃない気がします。
何故、企業の決算書データは、株価データのように何の登録もせず、かつ、無料でダウンロードできないのでしょうか。
(T _ T)