この記事では、Python初心者でもできるように、イベントスタディをレクチャーしていきます!
記事にでてくるコードは配布しております。下記LINE@からダウンロードください。
メッセージにて、「イベント」とお送りいただければダウンロードができます。

今回は、
- Pythonをもちいて累積異常リターン(CAR)をもとめる
- イベントスタディについて詳しくなる
という流れをサンプルコードとともに解説をします!
第3回では、いよいよ累積異常リターンを求めていきます!
その後、イベントスタディについて情報の取得方法などより専門的な話をしていきます!
それでは一緒にまなんでいきましょう!
Pythonをもちいて累積異常リターン(CAR)をもとめよう

前回の続きからで、ベンチマークをもとに累積異常リターンを求めていきます!
今現在は、下記のリストの5番に当たります!
- 推定期間と検証期間をマーキングする
- 企業とマーケットインデックスの株価のリターンを計算する
- 回帰分析をおこないマーケットモデルを求める
- マーケットインデックスのリターンに𝛽を掛けベンチマークを作成する
- 実際のリターンからベンチマークを引いて異常リターンを計算
- 異常リターンを累計して、累積異常リターンを求める
データを読みこむ
まず最初に今回つかうファイルを読み込みます。
下記LINE@から「イベントスタディ第3回」のファイルと「stock_data」のフォルダをダウンロードします。
メッセージにて、「イベント」とお送りいただければダウンロードができます。

その後ジュピターノートブックをもちいて「イベントスタディ第3回」を開きます。

その後、コードを実行させます!
前回計算したベンチマークを呼び出します!

前回のつづきから始められるようになりました!
異常リターンを計算する
累積異常リターン(CAR)を求める前に、そのもととなる異常リターンを計算します!
特にイベントがなかった際のリターンに加えて、イベントによって発生した追加的なリターンのこと。
異常リターンを求めたあと、その後リターンを累計して累積異常リターンを求めていきます!
異常リターン = 実際のリターン – ベンチマーク

異常リターンを求めることができました!
累積異常リターンを計算する
それでは、累積異常リターンを計算していきましょう!
実際のリターンと比べて、イベント(の基準日)からで明らかに変化を及ぼしているリターンの累計。
まず、累積異常リターンではなく異常リターンですが、t = 0(イベント発生時)のリターンを求めます!
9.4%と出ました!
つづいて、累積異常リターンを求めていきます!
ここでは、t=-1, t=0, t=1 での合計を求めていきます!
10.8%と出ました!
この数値をみるに、一時的に10%ものリターンが得られていることがわかります!
累積異常リターンを描画する
つづいて、累積異常リターンを描画していきましょう!
グラフを描画しイベント前後のリターンの推移を観察することで、視覚的に異常な変化があったことがわかります!
ではさっそくおこないます、まずは累積異常リターンのリストを作成します。

つづいて、検証期間中(-20<=t<=20)のグラフを描画するために、t=-20とt=20の行を特定します。

最後に、検証期間内のデータを取り出すよう調整し、累積異常リターンを描画させます!

画像からもわかるように、明らかに異常なリターンが観測されていることが分かります!
これにて、イベントスタディの一連の流れがつかめたのではと思います!
イベントスタディについて詳しくなろう
イベントスタディの方法を学んでいきましたが、ここでは分析対象となるデータの情報をどのようにして手に入れていくかなどについて説明していきます!
この章は、イベントスタディの分析はもちろんこと、株主とっては資産に関する情報の取得方法になるので是非抑えましょう!
イベント公表タイミングの特定
まずは取得とそれますが、そもそもイベント日(t = 0)はいつなのかを抑えましょう。
M&Aや金融危機など企業に影響を及ぼす出来事がおこった日にち
いつなのかを抑えることで、それに合わせて一次情報の取得方法を工夫することにつながるためです。
では、イベント日(t = 0 )はいつなのかについてですが、例として今回求めたキリンホールディングスの自社株買いを挙げていきます。
キリンホールディングス(証券コード:2503)のは、2019年11月7日15:00に自社株買いの開始を公表しました。
このとき、公表された情報はいつ株価に反映されるかについてですが、答えは翌日(翌営業日)の11月8日です。
なぜならイベント日は、その情報が初めて証券市場にもたらされたタイミングだからです。
今回ですと、11月7日15:00に自社株買いを公表しましたが、日本の証券市場の取引時間は9:00-15:00 (11:30-12:30は休憩)であるため、11月7日の市場は閉まっています。
そのため、翌日(翌営業日)の11月8日がイベント日となります。
このように、イベント日は考え方として注意が必要です。
加えて、公表タイミングには様々な考え方があります。
以下が考え方の例です。
- 企業がweb上でプレス・リリースをしたとき
- 企業が記者会見をしたとき
- 朝刊紙に掲載されたとき
- web記事が掲載されたとき
このように、公表タイミングも色々な媒体で行われるため、イベント日や一次情報取得の難しさがわかります。
適時開示の要請
イベント発生したとき、証券取引所では、株価に関連する情報を誰もがすぐに閲覧できるように、企業にTDnetでの公表を要請しています。
東京証券取引所の運営する適時開示情報伝達システム。
これをもとに、株主は自身が保有する株について情報を得ることができたり、アナリストがイベントスタディの対象を観測することができたりします。
ただし、投資家用のサービスなので、アナリストがイベントスタディ用に使う際は、過去情報は使えないなどのトラブルが発生することもしばしばあります。
そのため、TDnetで公表された過去情報はeolで収集することが近年の研究では行われています。
国内株式公開企業を中心とした企業情報データベース
同時公表情報のコントロール
ここでは、イベントスタディをおこなう上でちょっと込み入った話をします。
それは、「同時に公開された情報(イベント)」を分析(スタディ)できるよう制御(コントロール)するためにはどうするか、という話です。
例えば、企業内部のイベントは、しばしば取締役会決議のあった日にTDnet公表されます。
基本的に企業の取締役会決議の大体は1ヶ月に1回程度ですが、そのときに① 3ヶ月に一度の四半期決算短信の公表が被ることが散見されます。
そのとき、株価への影響が相互の情報で入り乱れてしまいます。
この場合、 簡単な解決方法は、同時公表ありの状況を取り除くことです。
つまり、同時公表のない対象イベントの公表のみの状況に限定して分析していくことが有効な対策です。
この際、分析する対象イベント同時公表情報であるか確認するためには以下の方法がオススメです。
下記のサイトは、上場企業の自社株買いなどイベントが観測された日を網羅的にみることができ、イベントスタディをするにはもってこいです。
尚、eolに関しては登録をしないとみることができないので注意が必要です。
まとめ
今回は、
- Pythonをもちいて累積異常リターン(CAR)をもとめる
- イベントスタディについて詳しくなる
という流れをサンプルコードとともに解説をしました!
今回のシリーズをとおし、イベントスタディができるようになったのではと思います!
ここまで読んでくださりありがとうございました!
記事にでてくるコードはLINE@にて配布をしております!
LINEのメッセージ欄に「イベント」とお送りいただければ、ダウンロードリンクを送付いたします!
コード配布はLINE@にて!
