LoginSignup
4
4

More than 3 years have passed since last update.

TISさんが作成した企業分析用データセット「CoARiJ」で遊んでみる②

Last updated at Posted at 2019-12-08

目的

  • 「CoARiJ」を用いて、(非)財務分析をする
    • 経年での業績・ESG書きっぷり変化
    • 伊藤レポートの検証
    • 業績との相関というよりESG投資の実際

「CoARiJ」については下記参照
https://www.tis.co.jp/news/2019/tis_news/20191114_1.html
https://github.com/chakki-works/CoARiJ/blob/master/README.md

前回

やること

  • データセットの確認

まとめ

  • 財務データに間違いあり?解析するときはお気をつけください!!

データ

「CoARiJ」が提供するデータは次の通り

  • 財務データ
    • financial data(決算短信情報より)
      • 誤りあり?
    • stock data(月間相場表(内国株式)より)
  • 一覧は次の通り

image.png

  • 非財務データ
    • 年次報告書(EDINETより。XBRL file形式)
      • 上記を項目別にパースしたファイル(txt形式)
    • CSRレポート(pdf形式)
      • txt形式での提供はない
  • EDINETより取得した書類の種類は次の通り(FY2018年)

image.png

解析上の留意点

重複データあり

df_14 = pd.read_csv('../data/finance_reports/2014/2014/documents.csv', sep='\t')

dup_name = df_14[df_14.duplicated()].iloc[0]['filer_name']
df_14[df_14['filer_name'] == dup_name]
edinet_code     sec_code    jcn     filer_name  fiscal_year     fiscal_period   submit_date     period_start    period_end  doc_id  ...     operating_income_on_sales   ordinary_income_on_sales    capital_ratio   dividend_payout_ratio   doe     open    high    low     close   average
55  E00091  19710   2010001034861   中央ビルト工業株式会社   2014    FY  2015-06-24  2014-04-01  2015-03-31  S10053TB    ...     7.78    7.41    31.99   14.01   1.69    139.0   208.0   108.0   118.0   139.25
56  E00091  19710   2010001034861   中央ビルト工業株式会社   2014    FY  2015-06-24  2014-04-01  2015-03-31  S10053TB    ...     7.78    7.41    31.99   14.01   1.69    139.0   208.0   108.0   118.0   139.25

Edinet codeの揺れあり

df_14 = pd.read_csv('../data/finance_reports/2014/2014/documents.csv', sep='\t')

df_14 = df_14.groupby('edinet_code').max().reset_index()
df_14_part = df_14[['filer_name', 'fiscal_year', 'roa']]
dup_name = df_14_part[df_14_part['filer_name'].duplicated()].iloc[0]['filer_name']
df_14[df_14_part['filer_name'] == dup_name][['edinet_code', 'sec_code', 'jcn', 'filer_name', 'fiscal_year', 'fiscal_period', 'submit_date']]
    edinet_code     sec_code    jcn     filer_name  fiscal_year     fiscal_period   submit_date
245     E00484  28140   5180001075845   佐藤食品工業株式会社  2014    FY  2015-06-26
263     E00510  29230   8110001002068   佐藤食品工業株式会社  2014    FY  2015-07-24

ROEマイナス企業なし(ミス?)

df_14 = pd.read_csv('../data/finance_reports/2014/2014/documents.csv', sep='\t')
df_14 = df_14.groupby('edinet_code').max().reset_index()
df_15 = pd.read_csv('../data/finance_reports/2015/2015/documents.csv', sep='\t')
df_15 = df_15.groupby('edinet_code').max().reset_index()
df_16 = pd.read_csv('../data/finance_reports/2016/2016/documents.csv', sep='\t')
df_16 = df_16.groupby('edinet_code').max().reset_index()
df_17 = pd.read_csv('../data/finance_reports/2017/2017/documents.csv', sep='\t')
df_17 = df_17.groupby('edinet_code').max().reset_index()
df_18 = pd.read_csv('../data/finance_reports/2018/2018/documents.csv', sep='\t')
df_18 = df_18.groupby('edinet_code').max().reset_index()

df = pd.concat([df_14, df_15, df_16, df_17, df_18])
df = df[~df.duplicated()]

df[df['filer_name'].isin(['佐藤食品工業株式会社', '株式会社アルファ', '株式会社フジコー'])]

print(len(df[df['roe'] < 0]))

>>> 0

0って。。。

正データとの突き合わせ

ジャパンディスプレイのROE(自己資本利益率)
* 有価証券報告書-第16期(平成29年4月1日-平成30年3月31日)

スクリーンショット 2019-12-08 12.22.38.png

  • 「CoARiJ」の値
df[df['edinet_code'] == 'E30481'][['edinet_code', 'filer_name', 'fiscal_year', 'roe']]
edinet_code     filer_name  fiscal_year     roe
3160    E30481  株式会社ジャパンディスプレイ  2014    4.13
3196    E30481  株式会社ジャパンディスプレイ  2015    2.92
3270    E30481  株式会社ジャパンディスプレイ  2016    10.64
2884    E30481  株式会社ジャパンディスプレイ  2018    734.39
  • ROE全部+になっているし、そもそもFY2017のデータがない。
  • 連結か単体でも値が変わってくるのかな?
    • だとしてもROEマイナス企業が一つもないのはおかしい。

今後

  • データの精度がイマイチなので今のところこれ以上の分析は実施しない予定
  • CSRレポートがpdf形式なので解析に使うには数ステップかかる

    • ファイル名にedinetコードが記載されているのは有難い(これがあれば、他の情報とも紐付け楽だし)。
    • CSRレポートの色使いとか、写真数、文字数とかそこら辺から情報を抽出してみようかなと思ったが、GCPとかだといくらかかるんだろう。
    • いずれにせよ、対応させるべき業績データが合ってるかどうかわからないから一旦解析は止めとこう。
    • 解析に間違いがあったら教えてください。
    • TISさんに限って間違えはないと思うんだけどな。。。
4
4
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
4
4