はじめに
前回の記事では有価証券報告書の中身を圧縮して読みやすくすることを目指していましたが、この記事では「結局どの株買ったら良いの?」を見つけていこうと思います
幸いCOTOHAにはユーザ属性推定(β)というAPIがあるため、有価証券報告書から法人を擬人化し、どのような法人格が次の年に儲かるか相関を見つけるという方針で行きます
※儲かるか=経常利益が増えているとして、日経255企業の有価証券報告書の【事業の状況】⇒【経営者による財政状態、経営成績及びキャッシュ・フローの状況の分析】を使います ※が、経常利益が増えたからと言って**株価が上がるかはよくわかりません**
この記事の執筆モチベーション
- 興味深い疑似相関を見つける
ソースコード
今回検証に使用したコードは下記にあります
https://github.com/ice-github/CoARiJAndCOTOHA
※main_extra.pyを参照
※前回の記事を参考にCoARiJを導入する必要があります
まずはデータ全体を見てみる
CoARiJで2017年と2018年の経常利益データが存在した企業141社の**差分(2018年-2017年)**を降順に並べたのが以下の通り
平均は-22.85、標準偏差は425.21、中央値は3.20でした
見ての通りそれっぽい分布(2σ=95% ⇒ [-870億円, +830億])なので、差分が正なら儲かっている、差分が負なら儲かっていないとして分析していきます
文章分割の罠
ぱっと【経営者による財政状態、経営成績及びキャッシュ・フローの状況の分析】をユーザ属性推定(β)でデータを取ろうとしたのですが、どうやら文章を分割する長さによって結果が変わってしまいます
※COTOHAでは長い文章を受けれないため文章を分割してAPIに投げ、処理した文字数で重みづけを行ってマージしてデータとして扱っています
以下は2017年のダイキン工業株式会社での結果です
元の文章
セグメントの名称
生産高(百万円)
前年同期比(%)
空調・冷凍機事業
1,548,244
9.6
化学事業
166,798
19.0
その他事業
49,125
4.5
合計
1,764,168
10.3
(注) 1 金額は販売価格による。
2 上記の金額には、消費税等は含まれていない。
(2) 受注状況
当社グループの製品は、大部分見込み生産であるため、受注高及び受注残高の記載は省略した。
(3) 販売実績
当連結会計年度における販売実績をセグメントごとに示すと、次のとおりである。
セグメントの名称
販売高(百万円)
前年同期比(%)
空調・冷凍機事業
2,052,884
11.9
化学事業
183,147
16.8
その他事業
54,529
5.2
合計
2,290,560
12.1
(注) 1 セグメント間の取引については相殺消去している。
2 いずれの相手先についても総販売実績に対する割合が100分の10未満のため、相手先別の販売実績及び総販売実績に対する割合の記載を省略した。
3 上記の金額には、消費税等は含まれていない。
(経営者の視点による経営成績等の状況に関する分析・検討内容)
以下に記載の内容については、当連結会計年度末現在において判断したものである。
(1) 重要な会計方針及び見積り
当社グループの連結財務諸表は、わが国において一般に公正妥当と認められている会計基準に基づき作成されている。当連結会計年度末における資産、負債及び純資産の計上、当連結会計年度における収益、費用の計上については、現況や過去の実績に基づいた合理的な基準による見積りが含まれている。
なお、連結財務諸表作成にあたっての重要な会計方針等は、「連結財務諸表作成のための基本となる重要な事項」に記載のとおりである。
(2) 財政状態
①資産
総資産は、2兆4,899億53百万円となり、前連結会計年度末に比べて1,338億5百万円増加した。
流動資産は、受取手形及び売掛金の増加等により、前連結会計年度末に比べて779億26百万円増加し、1兆2,378億11百万円となった。
固定資産は、投資有価証券の時価変動による増加等により、前連結会計年度末に比べて558億78百万円増加し、1兆2,521億42百万円となった。
②負債及び純資産
負債は、長期借入金の減少等により、前連結会計年度末に比べて549億7百万円減少し、1兆1,656億32百万円となった。
純資産は、親会社株主に帰属する当期純利益の計上による増加等により、前連結会計年度末に比べて1,887億12百万円増加し、1兆3,243億21百万円となった。
この結果、自己資本比率は前連結会計年度末の47.2%から52.1%となり、1株当たり純資産額は前連結会計年度末の3,802.10円から4,433.62円となった。
(3) 経営成績
①売上高
当連結会計年度の売上高は、前連結会計年度比12.1%増の2兆2,905億60百万円となった。
空調・冷凍機事業では、米州・欧州・アジアを中心に海外での販売が好調に推移し、売上高は前連結会計年度比11.9%増の2兆528億84百万円となった。
化学事業では、半導体関連や自動車関連等の需要が好調に推移し、売上高は前連結会計年度比16.8%増の1,831億47百万円となった。
その他事業全体では、産業機械用油圧機器や建機・車両用油圧機器が国内及び米国市場で堅調に推移し、売上高は前連結会計年度比5.2%増の545億29百万円となった。
②営業費用、営業利益
売上原価は、前連結会計年度比13.6%増加し、1兆4,917億31百万円となった。
販売費及び一般管理費については、前連結会計年度比9.0%増加し、5,450億89百万円となった。人件費の増加が主な要因である。
以上の結果、営業利益は前連結会計年度比10.0%増の2,537億39百万円となった。
なお、セグメントの営業損益については、空調・冷凍機事業では、前連結会計年度比7.0%増の2,234億63百万円の営業利益となり、化学事業では、前連結会計年度比39.4%増の255億10百万円の営業利益となり、その他事業は前連結会計年度比26.8%増の47億56百万円の営業利益となった。
③営業外損益、経常利益
営業外損益は、持分法による投資利益の計上額が増加したこと等により、前連結会計年度に比べて10億35百万円増加し、12億79百万円のプラスとなった。
経常利益は、前連結会計年度比10.4%増の2,550億19百万円となった。
④特別損益、親会社株主に帰属する当期純利益
特別損益は、関係会社整理損の計上等により、前連結会計年度に比べて27億58百万円減少し、31億62百万円のマイナスとなった。
親会社株主に帰属する当期純利益は、米国における税制改正により法人税等が減少した影響もあり、前連結会計年度比22.8%増の1,890億51百万円となった。
(4) キャッシュ・フロー
営業活動では、法人税等の支払額の増加等により、前連結会計年度に比べて439億23百万円収入が減少し、2,237億40百万円の収入となった。投資活動では、連結子会社買収による支出の減少等により、前連結会計年度に比べて13億64百万円支出が減少し、1,274億58百万円の支出となった。財務活動では、短期借入金の減少等により、前連結会計年度に比べて204億11百万円支出が増加し、939億54百万円の支出となった。これらの結果に為替換算差額を加えた現金及び現金同等物の当連結会計年度の増減額は、前連結会計年度末に比べ399億54百万円減少し、129億33百万円のキャッシュの増加となった。
資金の調達は、内部留保の蓄積を基本とし、自己資金中心に行うことを原則としているが、必要に応じ、金融機関からの借入や社債等で調達している。 当連結会計年度では、金融機関からの長期借入によって、45,180百万円を調達し、投資資金の一部に充当した。
キャッシュ・フロー指標のトレンドは下記のとおりである。
平成26年3月期
平成27年3月期
平成28年3月期
平成29年3月期
平成30年3月期
自己資本比率(%)
39.9
45.3
46.3
47.2
52.1
時価ベースの自己資本比率(%)
83.9
103.7
112.1
138.8
137.8
キャッシュ・フロー対有利子負債比率 (年)
3.9
4.1
2.7
2.3
2.5
インタレスト・カバレッジ・レシオ(倍)
18.0
16.8
25.9
26.8
20.9
(注) 自己資本比率:自己資本/総資産
時価ベースの自己資本比率:株式時価総額/総資産
キャッシュ・フロー対有利子負債比率:有利子負債/営業キャッシュ・フロー
インタレスト・カバレッジ・レシオ:営業キャッシュ・フロー/利払い
※各指標は、いずれも連結ベースの財務数値により算出している。
※株式時価総額は、期末株価終値×期末発行済株式数(自己株式控除後)により算出している。
※営業キャッシュ・フローは連結キャッシュ・フロー計算書の営業活動によるキャッシュ・フローを使用している。
※有利子負債は、連結貸借対照表に計上されている負債のうち利子を支払っている全ての負債を対象としている。また、利払いについては、連結キャッシュ・フロー計算書の利息支払額を使用している。
250文字単位で分割した場合
age: [('30-39歳', 0.25980392156862747), ('20-29歳', 0.05043859649122807), ('40-49歳', 0.04863261093911249)]
civilstatus: [('既婚', 0.41885964912280704), ('未婚', 0.18601651186790505)]
earnings[('3M-5M', 0.05985552115583075), ('8M-10M', 0.02631578947368421)]
gender[('男性', 0.6479618163054695)]
habit[('SMOKING', 0.19272445820433437)]
hobby[('COOKING', 0.9999999999999999), ('INTERNET', 0.8316563467492261), ('SPORT', 0.7804437564499483), ('FISHING', 0.7365841073271413), ('MOVIE', 0.6598297213622292), ('FORTUNE', 0.4854231166150671), ('GYM', 0.43421052631578955), ('GAMBLE', 0.39138286893704854), ('TRAVEL', 0.3117905056759546), ('TVGAME', 0.2502579979360165), ('COLLECTION', 0.21413828689370484), ('CAMERA', 0.1531217750257998), ('TVDRAMA', 0.14641382868937047), ('SHOPPING', 0.11119711042311661), ('ANIMAL', 0.04863261093911249), ('MUSIC', 0.02889576883384933), ('PAINT', 0.027089783281733747), ('TVCOMMEDY', 0.025799793601651185), ('RAILWAY', 0.024638802889576882), ('SPORTWATCHING', 0.024638802889576882), ('IDOL', 0.016898864809081527)]
kind_of_business[('商業', 0.03005675954592363)]
kind_of_occupation[('研究開発職', 0.02631578947368421)]
location[('関東', 0.1059081527347781), ('近畿', 0.0890092879256966)]
moving[('CAR', 0.46271929824561403), ('WALKING', 0.4300825593395252), ('BUS', 0.04321465428276573), ('RAILWAY', 0.04321465428276573), ('OTHER', 0.028379772961816305), ('NO', 0.024638802889576882)]
occupation[('会社員', 0.5687564499484005)]
position[]
500文字単位で分割した場合
age: [('30-39歳', 0.18653250773993807), ('20-29歳', 0.11351909184726522)]
civilstatus: [('既婚', 0.4273735810113519), ('未婚', 0.34300825593395257)]
earnings[('3M-5M', 0.18098555211558306)]
gender[('男性', 0.7492260061919505)]
habit[('SMOKING', 0.2043343653250774)]
hobby[('COOKING', 0.935500515995872), ('INTERNET', 0.8125644994840041), ('MOVIE', 0.753482972136223), ('SPORT', 0.7073013415892674), ('FISHING', 0.5370227038183695), ('GYM', 0.42389060887512897), ('TVGAME', 0.4162796697626419), ('TRAVEL', 0.4057017543859649), ('COLLECTION', 0.384029927760578), ('FORTUNE', 0.3635190918472653), ('TVDRAMA', 0.26186790505675955), ('CAMERA', 0.1891124871001032), ('GAMBLE', 0.18537151702786378), ('SHOPPING',
0.1660216718266254), ('PAINT', 0.11816305469556243), ('IDOL', 0.06346749226006192), ('MUSIC', 0.058565531475748195), ('GOURMET', 0.05598555211558308), ('STUDY', 0.05379256965944272), ('SPORTWATCHING', 0.018962848297213623)]
kind_of_business[]
kind_of_occupation[]
location[('関東', 0.11880804953560371), ('近畿', 0.10307017543859648)]
moving[('WALKING', 0.256062951496388), ('CAR', 0.21865325077399383), ('BUS', 0.062306501547987614), ('NO', 0.018962848297213623)]
occupation[('会社員', 0.4548503611971104)]
position[]
750文字単位で分割した場合
age: [('30-39歳', 0.18988648090815274), ('20-29歳', 0.0957172342621259), ('40-49歳', 0.09429824561403509)]
civilstatus: [('既婚', 0.43021155830753355), ('未婚', 0.2866357069143447)]
earnings[('3M-5M', 0.2818627450980392)]
gender[('男性', 0.814499484004128)]
habit[('SMOKING', 0.1715686274509804)]
hobby[('INTERNET', 0.8209494324045408), ('COOKING', 0.811016511867905), ('MOVIE', 0.7192982456140351), ('FISHING', 0.7155572755417956), ('SPORT', 0.6235810113519092), ('TRAVEL', 0.5672084623323014), ('GYM', 0.4557533539731683), ('TVGAME', 0.3753869969040248), ('COLLECTION', 0.3668730650154799), ('CAMERA', 0.36119711042311664), ('TVDRAMA', 0.26509287925696595), ('STUDY', 0.18962848297213622), ('FORTUNE', 0.18537151702786378), ('MUSIC', 0.0957172342621259), ('SHOPPING', 0.0957172342621259), ('GAMBLE', 0.09352425180598556), ('IDOL', 0.09352425180598556), ('PAINT', 0.06953044375644994)]
kind_of_business[]
kind_of_occupation[]
location[('近畿', 0.09429824561403509), ('関東', 0.06953044375644994)]
moving[('WALKING', 0.19220846233230132), ('CAR', 0.18330753353973167)]
occupation[('会社員', 0.4707172342621259)]
position[]
1000文字単位で分割した場合
age: [('30-39歳', 0.37100103199174406), ('20-29歳', 0.12396800825593396)]
civilstatus: [('既婚', 0.5058049535603716), ('未婚', 0.36661506707946334)]
earnings[('3M-5M', 0.36119711042311664), ('-1M', 0.12319401444788441)]
gender[('男性', 0.7381320949432404)]
habit[('SMOKING', 0.1385448916408669)]
hobby[('COOKING', 0.8817079463364293), ('MOVIE', 0.7549019607843138), ('INTERNET', 0.7381320949432404), ('FISHING', 0.628482972136223), ('SPORT', 0.6273219814241486), ('GYM', 0.612358101135191), ('TRAVEL', 0.3691950464396285), ('TVGAME', 0.36906604747162025), ('STUDY', 0.3618421052631579), ('CAMERA', 0.26986584107327144), ('TVDRAMA', 0.26986584107327144), ('COLLECTION', 0.26044891640866874), ('FORTUNE', 0.2465170278637771), ('MUSIC', 0.24587203302373584), ('PAINT', 0.24316305469556243), ('SHOPPING', 0.23787409700722395), ('GAMBLE', 0.11996904024767802), ('SPORTWATCHING', 0.018962848297213623)]
kind_of_business[]
kind_of_occupation[]
location[('関東', 0.12319401444788441), ('近畿', 0.11829205366357069)]
moving[('WALKING', 0.26986584107327144), ('CAR', 0.12332301341589268), ('NO', 0.018962848297213623)]
occupation[('会社員', 0.4931630546955625)]
position[]
250文字で区切った場合は30代で収入が'3-5M(300万円以上500万円以下)'の既婚男性でタバコを吸い料理とインターネットとスポーツが趣味で、関東地方に住んで車で通勤している会社員ですが
1000文字で区切ると30代で収入が'3-5M(300万円以上500万円以下)'の既婚男性でタバコを吸い料理と映画とインターネットが趣味で、関東地方に住んで歩いて通勤している会社員となります
項目の順番はほとんど変わらないため各項目の数値は無視することにして、(APIコール数を減らすため)1000文字区切りで結果を出していきたいと思います
データ分析
141社中、2017年から2018年の経常利益の差が正になった75社と負になった66社でした
各属性の最大の要素(Hobby=趣味は上位3つ)をビンカウンティングして分布を比較していきます
データ数がそれぞれ75社と66社なので比較しやすくするために数値を75と66で割ります
※今回の方法は特徴量エンジニアリング観点で見るとブラックボックスなハッシュ関数にかけるのと同じなのかな?
Age(年齢)
Civilstatus(婚姻状況)
Earnings(年収)
儲かっている方は年収が低いですね
※何を言っているか分からないですがこういう表現にしておきます
Gender(性別)
Habit(習慣)
儲かっている方が若干喫煙率が高いですがほぼ差がありません
※Habitは他にも項目があるはずですが何があるかはわかりません
Hobby(趣味)
儲かっている方はFORTUNE(占い)が高くSPORT(スポーツ)が低いですね
Kind Of Business(業界の種類)
Kind Of Occupation(職業の種類)
Location(場所)
Moving(移動手段)
Occupation(職業)
ほぼ差がありません
※Occupationは他にも項目があるはずですが何があるかはわかりません
Position(職位)
まとめ
- 儲かっている方は年収が低い(0~300万円が多い)
- 儲かっている方は趣味がFORTUNE(占い)が高くSPORT(スポーツ)が低い
- 儲かっている方は場所が近畿が少なく、関東が多い
おわりに
この記事ではCOTOHAのユーザ属性推定(β)APIを有価証券報告書の【経営者による財政状態、経営成績及びキャッシュ・フローの状況の分析】に適用してどのような属性が次の年の経常利益上昇と相関関係にあるのかを探りました(結果↓)
COTOHAでこんなことができるんだよということでやってみたわけですが、本来ユーザ属性推定(β)はユーザーサポートのメールや電話内容書き起こしデータに対して使うんでしょうけど、まさかこんなドメインのデータに使われるとは思ってみなかったはずです
「とりあえずこんなデータ投げるとどうなるのかな?」というのをサクっと試して結果が出るのは面白いですね
※1日あたり1000回しか使えないのはかなり厳しかったので2倍(2000回)くらいに増えると良いのですが・・・
オチ
2018年の有価証券報告書データを用いて2019年度の決算を予想
- Earningsの最大値が-1Mもしくは1M-3M
- Hobbyのトップ3にFORTUNEが含まれSPORTが含まれない
- Locationの最大値が関東
を検索した企業が以下の通りです
- 6479: ミネベアミツミ株式会社
- 利益が29.8%減少
- 7202: いすゞ自動車株式会社
- 経常利益が22.9%減少
- 7211: 三菱自動車工業株式会社
- 経常利益が26億円の赤字
- 7270: 株式会社SUBARU
- 利益が4.8%減少
- 4902: コニカミノルタ株式会社
- 利益が93.7%減少
- 8233: 株式会社髙島屋
- 経常利益が15.2%減少
- 8830: 住友不動産株式会社
- 経常利益が6.2%増加
っというわけで大半が経常利益が減少していました!
※第3四半期決算短信を確認したもので、経常利益の項目が見つからなかったものは営業利益か(純)利益の項目を見ています