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

# 目的
* 「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

# 前回

https://qiita.com/vbnshin/items/09be86b4793c68f70172

# やること
* データセットの確認

# まとめ
* 財務データに間違いあり？解析するときはお気をつけください！！

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

* 財務データ
    * financial data(決算短信情報より)
        * <b>誤りあり？</b>
    * stock data(月間相場表（内国株式)より)
* 一覧は次の通り

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139767/163b049b-2556-6246-90ee-2319bc4b8e8b.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139767/598a0c94-3ab7-78d8-9baa-7b72a8579a32.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日)]
(https://disclosure.edinet-fsa.go.jp/E01EW/download?uji.verb=W0EZA104CXP001003Action&uji.bean=ee.bean.parent.EECommonSearchBean&PID=W1E63011&SESSIONKEY=1575770510504&lgKbn=2&pkbn=0&skbn=1&dskb=&askb=&dflg=0&iflg=&preId=1&mul=ジャパンディスプレイ&fls=on&cal=2&yer=2018&mon=&pfs=5&row=100&idx=0&str=&kbn=1&flg=&syoruiKanriNo=&s=S100D87L)

<img width="460" alt="スクリーンショット 2019-12-08 12.22.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139767/c26b5eb1-eaf0-ae6b-4412-f48a306d741d.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さんに限って間違えはないと思うんだけどな。。。