30
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EDINET APIを使って財務分析をする

Last updated at Posted at 2019-04-21

やりたいこと

上場企業すべての財務諸表を集める
そして、財務分析する。
①まずは、ある期間に提出された財務諸表をxblr形式で取得する

実現方法

・EDINET APIを使う
・有報Catcherさんのサービス使った方がいい気がしてきた。。。(投稿後更新)
https://ufocatch.com

EDINET APIとは

・「有価証券報告書・四半期報告書・親会社等状況報告書などの開示書類を無料で閲覧できる」サービス
https://kotobank.jp/word/EDINET-445516
・そのAPIが最近(平成31年3月17日)公開された。
http://disclosure.edinet-fsa.go.jp/

内容

・例によって使い方が分からないので順を追ってやりたいことを実現する
・WebAPI全然わからないので、ご指摘お待ちしてます><(予防線)

仕様

参考

仕様と流れ

EDINET APIは次の2点から構成される
・提出された書類を把握するためのAPI(書類一覧API)
・提供された書類を取得するためのAPI(書類取得API)

データ取得までの流れは次の通り

    1. メタデータの取得・・・(書類一覧API)
    1. メタデータの内容確認
    1. 提出書類一覧の取得・・・(書類一覧API)
    1. 提出書類一覧の内容確認
    1. 提出書類の取得・・・(書類取得API)

インターフェース

書類一覧API

https://disclosure.edinet-fsa.go.jp
/api/v1/documents.json?「リクエストパラメータ」

リクエスト

パラメータは次の通り

  • date・・・(必須)提出書類一覧のファイル日付(yyyy-mm-dd形式)
    • 指定可能範囲は過去5年間。
  • type・・・(任意)1or2。Defaultは1
    • 1を指定するとメタデータのみ。2だと提出書類一覧も取得
    • メタデータってなんだ。。。

レスポンス

metadata
title 提出された書類を把握するためのAPI
parameter
date 2019-04-01
type 1
resultset
count 511
processDateTime 2019-04-21 00:00
status 200
message OK
metadata
title 提出された書類を把握するためのAPI
parameter
date 2019-04-01
type 2
resultset
count 511
processDateTime 2019-04-21 00:00
status 200
message OK
results 提出書類一覧(1:ある、0:ない、null:不開示?)
0
seqNumber 1
docID S100FH6W
edinetCode E06479
secCode null
JCN 7010401061146
filerName インベスコ・アセット・マネジメント株式会社
fundCode G07991
ordinanceCode 030
formCode 995000
docTypeCode 180
periodStart null
periodEnd null
submitDateTime 2019-04-01 09:00
docDescription 臨時報告書(内国特定有価証券)
issuerEdinetCode null
subjectEdinetCode null
subsidiaryEdinetCode null
currentReportReason 第29条第2項第4号
parentDocID null
opeDateTime null
withdrawalStatus 0
docInfoEditStatus 0
disclosureStatus 0
xbrlFlag 1
pdfFlag 1
attachDocFlag 0
englishDocFlag 0
1
・・・以下略
  • 出力データ内容の詳細は「API仕様書」参照のこと
  • とりあえず「xbrlFlag」が立っていればいいのかね
  • 重要なのは「docID(書類管理番号)」「docTypeCode(書類種別コード)」である。

書類一覧API

https://disclosure.edinet-fsa.go.jp
/api/v1/documents/ 書類管理番号

  • 後続の「書類取得API」に必要な情報は「docId(書類管理番号)」
  • 「有価証券報告書」の「docTypeCode(書類種別コード)」は「120」

リクエスト

パラメータは下記の通り
type・・・

  • 1:提出本文書及び監査報告書
  • 2:PDF
  • 3:代替書面・添付文書
  • 4:英文ファイル:

レスポンス

例1
https://disclosure.edinet-fsa.go.jp/api/v1/documents/S100FH6W%20?type=1

type1の場合、zipでダウンロードされる
docTypeCodeが180だったので、ファイルのなかに有価証券報告書は存在しない。

例2:
https://disclosure.edinet-fsa.go.jp/api/v1/documents/S100FJAQ%20?type=1
docTypeCodeが120だったので、ファイルのなかに有価証券報告書が存在した。

困ったこと

  • 中身のhtmlファイルに関しては、会社によって形式が異なっていた。
  • また、ある期間に提出された財務諸表なので、ある期間の財務諸表ではなかった。
  • csv形式で得られると思ったけど、得られたのはhtmlと謎形式xbrlだった。

頑張らないといけないこと

  • xbrlをcsvに変換しないといけない(macで)->とりあえずbeautifulSoup
  • 5年間分の有価証券報告書を効率よく取得しなくてはならない->すげー頭悪く実装するとfor文で365*5回APIを叩いて、xbrlFlagが1かつdocTypeCodeが120のものについて、zipでダウンロード(xbrl以外のファイル含まれてしまう)??

感想

おもったより簡単だったけど、やりたいことの実現までには結構ステップあるし、何より5年分しか遡れないのが結構痛い。せめて10年分欲しかった。。。。

30
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?