suketani’s diary

個人的メモ用、どこも代表していない

前澤効果:1億円バラマキ企画はZOZOの株価に影響を与えたのか(調査編)

前澤友作氏の1億円バラマキ企画は結構考察に値する題材だと思うのです。

株主にとっては外生的なニュースであり、かつもし株価が動くとしてどのような経路で株価が動いたのかを考えるとなかなか複雑な現象だったのでは?


2019年1月5日、ZOZOのCEO前澤友作氏がtwitter上で100万円を100人(総額1億円)に配る企画を発表した。

f:id:suketani:20190110025658j:plain
2019_Maezawa


さて、これでZOZOの株価はどのように動いたのか?まずZOZOのリターンと日経平均のリターンをプロットしたものが下の通り。
なお、ここでリターンは当日の終値から前日の終値を差し引いて、それを前日の終値でデフレ―としたものを用いている。
使用している終値は配当調整済みの株価である。

f:id:suketani:20190110030407j:plain
fig1
実線がZOZOのリターンで、破線が日経平均のリターン。これを見ると、上のツイート直後である1月7日の株価が大きく上がっていることがわかる。
具体的には、日経平均のリターンが2.44%であるのに対して、ZOZOのリターンが8.63%であった。


しかしこれだけでは、ZOZOがどれだけ「市場に勝っている」のかが不明瞭である。そこで、ZOZOのリターンから日経平均のリターンを差し引いた、
市場調整済みのリターンを計算する。CAPM等で計算することも考えたが面倒なので簡便法で。
なお、ZOZOはリスクの高い証券であると思われるので、正のリターンの日には市場調整済みリターンが上方に、負のリターンの日には下方にバイアスがかかってる可能性が高いことを配慮したい。

f:id:suketani:20190110030427j:plain
fig2
これを見てもやはり1月7日に株主が儲かっていることがわかる。市場に6.20%勝っている。

この記事を書いている時点では1月9日までの株価までしか手に入らないが、7日から9日までの累計異常リターン(CAR)を計算してみよう。
これは、1月4日の終値でZOZO株を購入し、1月9日の終値で同株を売却した場合の市場調整済みリターンである。
CARは11.9%である。簡便法を用いていることから上方にバイアスがかかっているにしても、かなり大きなリターンを獲得できることがわかる。

*****夜間リターンを用いた調査

前澤氏は休日中にツイートしているため、1月4日にZOZO株を保有していなければこのリターンを得ることはできない。
休日間の取引が停止している間の取引注文を受けて、1月7日に始値が付く。前日の終値から当日の始値の間のリターンを夜間リターン(overnight return)と呼ぶ。

今回のケースでも、このツイートによって株価が上昇すると考えた株主は、1月7日の取引が始まる前に既に注文をしているはずだ。
1月4日の終値から7日の始値までの夜間リターンは、ZOZOと日経平均でそれぞれ4.50%と1.96%である。かなりの買い注文があったと考えられる。

もし私が上のツイートを見てから週末に買い注文をして、初値で株式を購入できたとする。すると、1月7日のリターンは上で計算したほど大きくはなく、3.95%である(1月7日終値と同日始値の差)。

1月7日の初値で株式を購入し、1月9日の終値で売却できた想定でCARを計算すると、9.21%である。
夜間リターンを考慮したとしても、前澤氏のツイートは株主価値を大きく押し上げたことになる。

次回は、「なぜ」株価が上がったのかを考察していきたい。

Stataで交差項のあるモデルでの変数の限界効果をプロット

marginsmarginsplotを使って変数の限界効果をプロットする方法をまとめる。
プロッティングの方法については、このリンクを参照した。


交差項のF検定の方法については次回。


次のような設定を考える。ある要素xyに与える影響を観察したいとする。しかし、この影響は他の要素zに依存していると考えられており、主たる関心がこのxzの相互関係であるとする。

このような仮説を検証するためには、次のような回帰モデルを推定すればよい:
y= \alpha + \beta x + \gamma x*z + \delta z + \varepsilon

この定式化によって、xの限界効果は次のように表現することができる:
\frac{\partial y}{\partial x}=\beta + \gamma z
xの限界効果がzに依存して決定するように定式化されていることがわかる。


結果を解釈する際に重要なのは次の3点である。

  1.  \betaは有意か?
  2. \gammaは有意か?
  3.  \beta + \gamma は有意か?

主に交差項に係る係数 \gammaが有意であるかのみに注意しがちだが、この3つ全体の構造を念頭に置いて結果を解釈することが望ましい。


最も悩ましいのは2のみが有意で、1と3が有意でないケースである。すなわち、x単体の限界効果は有意ではなくzの変化がxの限界効果に与える影響が有意であるものの、その影響を考慮したxの影響が有意でないという場合である。


個人的には、このような場合は解釈不可能な結果であると考えるか、zの値にもとづいたサブサンプル分析を行うのが望ましいと思っている。

どのように対処すべきかはひとまず置いておいて、交差項の分析ではxの限界効果を交差項の結果を含めた全体として解釈する必要があることは確かである。


そこで、xの限界効果を視覚的に示すことはしばしば有益である。特に有益であると考えられるのは、下で見る連続変数同士の交差項を用いている場合とDID分析での前提の確認の際*1である。


以下では、交差項に用いる変数zがカテゴリカル変数である場合と連続変数である場合に分けてプロットの方法をまとめていく。

カテゴリカル変数との交差項を使ったモデルでのプロット

まず、zがなんらかのカテゴリカル変数である場合を見る。zが単純なダミー変数である場合もこちらに入る。
たとえば、zがあるグループに属していることを示すダミー変数であるとする(z=[0,1])。

zが0をとる時と1をとる時のxの限界効果をプロットするためには、次のようなコードを回せばよい:

reghdfe y x c.x#c.z z , absorb(year firm) vce(cl year firm)
margins, dydx(x) at(z=(0(1)1))
marginsplot

\beta = -.02317および \gamma = .05916であった。なお、 \gammaだけ有意であった。この時、 \beta + \gamma =.03599である。またそれぞれの係数について標準偏差が推定されている。


上のコードを回すと次のようなグラフが吐き出される:

f:id:suketani:20181104045621p:plain
カテゴリー変数との交差項を用いた場合の限界効果の視覚的表示

これを見ると、交差項の係数を考慮した上でのzが1をとるグループのxの限界効果が有意であることがわかる。
カテゴリカル変数の場合はプロットよりもF検定の方が有用であるが、このようにxによる偏微分が有意であるかを確認することもできる。

連続変数との交差項を使ったモデルでのプロット

より重要なのは、zが連続変数である場合である:

reghdfe y x c.x#c.z z , absorb(year firm) vce(cl year firm)

*Point plotting
margins, dydx(x) at(z=(1(0.1)5))
marginsplot

*Line plotting
marginsplot, recast(line) recastci(rarea)

このコードを回すと次のようなグラフが吐き出される。

f:id:suketani:20181104051715p:plain
連続変数同士の交差項の限界効果の視覚的表示

これを見ると、zが大きくなるほどxの限界効果が負の方向に大きくなることがわかる。しかし、連続変数の交差項は解釈に十分な注意が必要である。
カテゴリカル変数の場合とは異なり、連続変数の場合はzが1よりも小さい値をとる場合がある。すると、zのxの効果に与える変化は係数よりも小さくなる。
たとえば、xの係数が0.5で交差項の係数が-0.7の場合、zがxの効果を打ち消しているように見える。
しかし、zが0から0.5の範囲をとる変数だった場合、zが最大値だった場合でもxの効果を完全に打ち消すまでにはならない(0.5-0.7*0.5=0.15)。

このように、連続変数の交差項の場合にはzがとりうる数値の範囲がどれくらいであるかに依存して係数を解釈する必要があるのである。
たとえば上のグラフはz=[1,5]という範囲を想定してプロットしているが、同じ結果をz=[1,15]と想定してプロットすると次のようになる:

f:id:suketani:20181104051723p:plain
範囲を変えた場合のプロット

zはxの効果を打ち消した後、xの効果を正の方向に変えることがわかる。このふたつのプロットは大きく異なる印象を与えるだろう。

zの範囲の設定は、基本統計量でどれくらいの範囲をとるかを十分に確認したうえで行う必要がある。
交差項の解釈に役立ててくだせえ。

Stataでマッチングシリーズ:目次編

Stataでのマッチング方法にはいろんな方法がある。一番簡単にできるのは傾向スコアだけど、他の方法を使っている研究も多いのでそれをまとめる。

なんとなくシリーズものにするけど、コードの中身としてはそこまで変わらないものを扱うと思われる。扱う予定のものを挙げると*1

teffect psmatch
teffect nnmatch
psmatch2
nnmatch
kmatch
vmatch

という感じ。特にnnmatchが便利なのでこれを中心的にまとめていくつもり。

主たる目的は、DIDの時に使うような、ある時点でマッチングした後にそれを最後の分析期間まで追跡してコントロールサンプルを構築するコードを作ること。
具体的にはAsker et al. (2015, RFS)*2 のp.350のマッチング方法をリプリケートすることです。さて、完成するかしら。

なお、傾向スコアを使う分析やそれに対する批判については次のような研究を参照ということで:
Shipman et al. (2016, TAR)*3

King and Nielsen (2016)*4

*1:teffect psmatch: https://www.stata.com/manuals13/teteffectspsmatch.pdf, teffect nnmatch: https://www.stata.com/manuals13/teteffectsnnmatch.pdf https://scholar.harvard.edu/files/imbens/files/sjpdf-1.html_.pdf, psmatch2: http://repec.org/bocode/p/psmatch2.html], nnmatch: http://fmwww.bc.edu/repec/bocode/n/nnmatch.html, kmatch: https://www.stata.com/meeting/germany17/slides/Germany17_Jann.pdf vmatch: http://fmwww.bc.edu/RePEc/bocode/v/vmatch.hlp

*2:Asker, J., Farre-Mensa, J., & Ljungqvist, A. (2015). Corporate investment and stock market listing: A puzzle?. The Review of Financial Studies, 28(2), 342-390.

*3:Shipman, J. E., Swanquist, Q. T., & Whited, R. L. (2016). Propensity score matching in accounting research. The Accounting Review, 92(1), 213-244.

*4:King, G., & Nielsen, R. (2016). Why propensity scores should not be used for matching. Working Paper.

Stataで逆ミルズ比を使ったTreatment Effect Model (処置効果モデル)

セレクションバイアスへの対応方法の中で、逆ミルズ比を使ったTreatment Effect Model (処置効果モデル) による対応*1についてコードがあまり充実していないので、情報収集のためにもまとめておく。

右辺の関心変数Cが[0,1]をとるダミー変数であるとし、そのYへの影響を検証したいとする。Cがランダムに振り分けられる場合には、単純なOLSで推定すれば問題ない。
しかし、Cが何らかの意思決定にもとづいて選択される場合、いわゆるセレクションバイアスの問題が生じる。

形式的に、従属変数をY、関心変数C以外の独立変数をXとして、次のようなモデルを推定したいとする:
 Y = C \alpha + X \beta + \varepsilon

Cがランダムに割り振られるような状況では、この係数を推定すればよい。しかし、Cが次のようなルールで選択されるような場合は係数にバイアスがかかってしまう。
WをCを選択する際に考慮する純便益であるとして、これが正である場合にCを選択するとする。つまり:

    C = \begin{cases}
    1 & if & W= Z \omega + \eta > 0  \\
    0 & if & W= Z \omega + \eta \leq 0 
  \end{cases}
であるとする。このときに、もとのモデルで係数を推定すると係数にバイアスがかかることが知られている*2

これを解決するのがHeckmanのTreatment Effect Modelである。Treatment Effect Modelと言った場合、選択Cについての操作変数を用いたものがある。これはtreatreg*3というコードで実行できる。

ただタイトルにもあるように、ここで使いたいのは逆ミルズ比を用いたTreatment Effect Modelでありこれとは異なる。

Heckmanのセレクションバイアスを逆ミルズ比で調整するモデルについては、heckmanというコードがある。しかし、これは観察されるか否かというセレクションバイアス*4を扱えるものであり、

ここで使いたいTreatment Effect Modelではない。いまのところ把握しているのは、一段階目のProbitモデルを推定した後に自分で逆ミルズ比を計算するというもので:

*Step1. Estimating probit model on the choice of C
probit  	C Z , cluster(id)

*Step2. Get each item to compute inverse Mill's ratio
predict 	EVENTPROB
predict 	PROBITXB, xb
gen 		PDFPROBIT = normalden(PROBITXB)
gen 		CDFPROBIT = normprob(PROBITXB)

*Step3. Get inverse Mill's ratio
gen 		imr = PDFPROBIT/CDFPROBIT
replace    imr = 1- imr if treatment == 0
drop 		EVENTPROB-CDFPROBIT

Step1では、選択の有無を示すダミーCをその決定要因であるZに回帰する。つづいてStep2では、Step1の推定結果から逆ミルズ比を計算するための分子および分母を計算している。

Step3でこれらの数値を用いて逆ミルズ比(imr)を計算している。これを二段階目にコントロール変数として加えることでCの選択に関する問題を調整することができる。


今度、も少し理論的背景を分厚くして加筆修正します。
http://economics.mit.edu/files/32

*1:たとえば、Acharya, V., & Xu, Z. (2017). Financial dependence and innovation: The case of public versus private firms. Journal of Financial Economics, 124(2), 223-243.で用いられている

*2:Prabhala, N., & Li, K. (2007). Self-selection models in corporate finance. Handbook of corporate finance: Empirical corporate finance, 1, 37.

*3:https://www.stata-journal.com/sjpdf.html?articlenum=st0240

*4:わかりにくいが、C=1である場合にのみデータが観察される場合を指す。ダイエット食品の実験対象を希望制で集めた場合、その希望者のデータしか観察することができない。

Stataで異なるモデルで推定された係数間の差の検定

いくつかのモデルで推定した係数と係数の差の検定をしたい場合のStataのコードをまとめておく
 

特にサブサンプル間での係数比較が多いかな。シンプルなことなのに計算方法がわかっててもコードでやることがなかったので力技でやってしまっていた、、、
この脚注のサイト*1とStataのsuestのヘルプ*2がおおよそのソースです。
 

分析対象のサンプルをある属性にもとづいて2グループに分けたとする。グループごとに推定するモデルをModel1とModel2として、次のような同じモデルをふたつのグループについて推定するとする:

 Y=f(X_1, X_2, X_3)

注目する変数はX1であるとして、ふたつのグループで推定した係数の差が0であるかを検定(Chowテスト)するためには次のようなステップを踏む:

*Step1: Estimation
***Regressing model 1 and store the results on memory
reg Y X1 X2 X3 if group == 1
est store model1

***Regressing model 2 and store the results on memory
reg Y X1 X2 X3 if group == 2
est store model2


*Step 2: Combining estimation results
predict model12*, scores
suest model1 model2 , vce(cl id)

*Step3: Running Chow-test
test [model1]X1=[model2]X1

Step1では、サブサンプルごとにモデルを推定する。この時に標準誤差の調整等は含まないで推定しなければならない。
それぞれの結果を、est storeコマンドで保存しておく。

Step2では、このふたつの推定の結果を結合させる。使用するコマンドはsuestだが、このコマンドで推定される係数と標準誤差を保存する必要があるため、その前にpredict , scoreを加える必要がある。
また、標準誤差をクラスタリングする等する場合にはここでvce()を指定すればいい。なお、multi-way clusterには対応していないため注意が必要だ。

最後に、Step3でそれぞれのモデルのX1の係数の差の検定をするように指定する。
これでChowテストの結果としてχ二乗値とそのp値を返すことができる。


(※2020年12月9日追記)
固定効果をモデルに加える場合、reghefeを無理やり回していけるかと思っていたけどダメだったっぽい (ソースは下記リンクの6. Postestimation Syntaxの下の方) ので以下の方法は絶対に使わないように
代替的な方法について別記事で対応策を考えます。

scorreia.com


***以下は誤った認識の保存のために原文ママ。絶対に使用しないように!*********************

面倒なのは、モデルで固定効果を入れて推定するとき。固定効果を省くためにaregやreghdfe等を使うことがよくあると思うけど、これらを使っていると固定効果に係る係数の結果が保存されないためsuestでモデルを推定することができない。
固定効果の結果を報告せずに、メモリにのみ結果を保存する必要があるので次のようにする必要がある:

reghdfe Y X1 X2 X3 if group == 1, absorb(FE_FIRM1=i.firm FE_month1=i.month FE_YEAR1=i.year)
est store model1
reghdfe Y X1 X2 X3 if group == 2, absorb(FE_FIRM2=i.firm FE_month2=i.month FE_YEAR2=i.year)
est store model2

なお、multi-wayクラスタリング等まだまだ問題があるため、新しい方法を見つけ次第更新する。

Elon Muskのツイート:事実確認編

SECとElonの喧嘩について騒ぎにったが、この件は証券市場とディスクロージャーについて考察するうえで非常に示唆に富むケースワークなので長めにまとめておきたい。同じ題名でElonのメッセージの解釈とそこから考えられる問題について、ひとつひとつ紐解いていく。

 

8月7日のツイート

この騒動の発端はElonの次のツイート:

 

2018年8月7日、TeslaのCEO Elon MuskがTeslaを非上場化するとツイートした。Elonは取締役会で承認を得る前に、また非上場化が可能であるかが不明なままこのツイートをしていたことがわかっている。

 

このツイートで言及している一株当たり420米ドルでの買収というのは、前日8月6日の価格が342米ドルであることからも破格のプレミアム(23%)がついていることがわかる。株主は株価が419米ドル以下であるときにTesla株を購入しておけば利益を得ることができる。発表直後に株価が跳ね上がるのも当然だ。

 

 このツイートはElonが彼女のGrimesのために冗談をつぶやいただけなどという噂がある。そんなゴシップ的な面白さとTeslaの投資家の財布には重要な問題ではあれど、そうでない人にとってはさして重要な問題には見えないかもしれない。

 

Elonの言い訳

Elonが株価操作や詐欺に当たる可能性についてSECとの協議の末、会長を辞めることになった。ただそれだけの問題であると見ることもできるだろう。では次の文章はどうだろうか。

www.tesla.com

 

これは、Elonがツイッターでのアナウンスの正当性について説明している、従業員向けのメールである。送信日はツイートしたのと同日の8月7日で、Elonは非上場化することがなぜTeslaにとって良いことなのかを訴えている。

 

解題は次回に譲るとして、ここでは主なメッセージを引用しながら確認しておく。なお、ここではツイートの正当性について言及している点のみに焦点を当てるため、今後どのように対応していくかという点についてはこの一連のまとめの最後に触れたいと思うのでしばしお待ちを。

 

ElonはTeslaを非上場化する理由を次のように述べている:

As a public company, we are subject to wild swings in our stock price that can be a major distraction for everyone working at Tesla, all of whom are shareholders. Being public also subjects us to the quarterly earnings cycle that puts enormous pressure on Tesla to make decisions that may be right for a given quarter, but not necessarily right for the long-term. Finally, as the most shorted stock in the history of the stock market, being public means that there are large numbers of people who have the incentive to attack the company.

引用:Taking Tesla Private | Tesla

端的に理由は3つ:

  1. 株主でもあるTeslaの従業員が株価の変動を気にして集中できていない
  2. 四半期ごとの利益を気にしなければならず、短期的な意思決定をするプレッシャーが強く長期的な意思決定ができない
  3. 会社を攻撃しようとするインセンティブを持った人が増える (例えば、ショートポジションの株主)

Elonは株主からの攻撃やプレッシャーから会社を守るために、株式を自由に取引できる証券市場から身を引く非上場化という選択をしたいということのようだ。特に強調しているのは長期的なミッションを達成することへの意識だ。

I fundamentally believe that we are at our best when everyone is focused on executing, when we can remain focused on our long-term mission, and when there are not perverse incentives for people to try to harm what we’re all trying to achieve.

This is especially true for a company like Tesla that has a long-term, forward-looking mission. SpaceX is a perfect example: it is far more operationally efficient, and that is largely due to the fact that it is privately held. This is not to say that it will make sense for Tesla to be private over the long-term. In the future, once Tesla enters a phase of slower, more predictable growth, it will likely make sense to return to the public markets.

引用:Taking Tesla Private | Tesla

逆説的に彼の文章をとらえれば、短期的な利益を追求することのプレッシャーやTeslaに損害を与えようとする人がいることによってTeslaは「(あるべき) ベスト」な状態ではなくなってしまっている、とElonが認識していると考えていいだろう。

 

逆に、彼が今「ベスト」だと考えているのがSpaceXであるということもわかる。SpaceXはElonが創設した宇宙運送を主たる事業としている企業である。Elonはその議決権を過半数所有しており、上場企業=Teslaのように株主からのプレッシャーなどからは遮断されている。彼はこれによって長期的なミッションに集中できており、これが「ベスト」だと考えているのだろう。

 

論点:考えていくこと

さて、これらの一連のElonのメッセージにはどのような意図があったのだろうか。Teslaに特殊に生じた議論だと考えてもいいだろう。実際に、Elonが考えているのはTeslaと彼自身の利益のことであろうし、このニュースはニュース以上の価値はないと考えても問題ないと思う。

 

また、この10日後にトランプ大統領が四半期開示の廃止を議論することをSECに指示したことも、この一連の騒動の重要性を象徴していると考えられる。

 

 

しかし、私はここにある文脈を読み取りたい。すなわち、このElonのメッセージは彼や彼の経営する企業固有の問題ではなく、米国の「ある文脈」にもとづいて発せられたものであり、ひいてはあるべき経済システムを考察するうえで極めて重要な問題提起であると捉えてみたいのだ。

 

私は次のような論点を読み取ってみたい:

  • 論点1:証券市場は企業にとって有用なものなのか?
  • 論点2:ディスクロージャーは企業にとって良いものなのか?
  • 論点3:それらの傾向は昔から存在したのか?

端的にまとめておくと次のようになる。論点1は、上場することで企業に良い影響があるのかという論点である。論点2は、企業が情報開示(ディスクロージャー)することによって本当に恩恵を受けているのかという論点で、論点3はではこれらの問題点はElonがメッセージを発する前から存在したものなのか、21世紀に入ってから突然生じたものなのかを考えたい。

 

それでは次回は、上でも簡単にまとめたElonの従業員へのメッセージを細かく参照し、そこからなぜ上のような論点が出てくるかを考える。

 

 

 

 

メモだぞ

ブログの名前にも特段意味はない。

 

個人的なメモを、一応は外向けに見せられるようにしておくというためだけに書いていくので期待はしないこと。

ネタの内容は金融とか会計とか、経済について。内容についての正当性云々は頑張るけど保証はしませぬ。

間違いなど見つけたらよろしくです。