Stataネタ 変数名一覧をローカル変数に

unab list_var: _all

 

などで、現在のデータフレームのすべての変数名をローカル変数list_varに記憶させることができる。

 

全ての変数名に順番に処理をしたい時で、変数名一覧をいちいち打っていくのがめんどくさいときなど使う。

 

unabって何かと思ったらUNABbreviate variable とのこと。

 

 

 

効率的な実証分析のための手引きを読んだ

Stataでのデータハンドリングについて言及されたnoteを見つけた。
note.com

著者の方が、反応が無かったとおっしゃっていたので何か書いてみる。
shun takagi on Twitter: "stata での生データ整形とかは昔書いたけど特に反響なかったなー
https://t.co/uObll5EWeT

詳しい人誰か書いてくれないものか"



気になったのは2点。

1. データの読み込み範囲

元のExcelファイルは必要な都道府県別情報以外にも、地域別や整形のための無駄な行が多い。上のnoteの方は、こまかくdropしているけど、全体を読み込んでから都道府県名が書かれている行だけに限定しても良いかもしれない。
たとえば、

import excel using f005-01-049.xls, clear cellrange(A9) 
* 都道府県名のついた行だけに限定する。
** 都道府県名がついていたら1のつくフラグ(keep_rows)を作成する。ただこの方法だと北海道と沖縄は、地域別計と都道府県ごとに2回掲載されているのでよろしくない。
gen keep_rows = .
foreach pref_name in 北海道  青森 岩手 宮城 秋田 山形 福島  茨城 栃木 群馬 埼玉 千葉 東京 神奈川  新潟 富山 石川 福井  山梨 長野  岐阜 静岡 愛知 三重  滋賀 京都 大阪 兵庫 奈良 和歌山  鳥取 島根 岡山 広島 山口  徳島 香川 愛媛 高知  福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島  沖縄{
    replace keep_rows = 1 if A == "`pref_name'"
}
keep if keep_rows==1
drop keep_rows

今回のデータの面倒なところは、北海道と沖縄が地域別計と都道府県ごとに2回掲載されている点。そのためにこのあとに重複の削除を行っている。

duplicates, drop 

上のは長ったらしいので、都道府県の範囲が分かっているならimport時にレンジを指定したほうが良いかもしれない。

import excel using f005-01-049.xls, clear cellrange(A9:K87) 

2.  欠損値の置き換え

処理としては2-1 欠損値を("n.a."から"."に)置換、2-2文字列から数値に置換、の2つ。

2-1 欠損値を("n.a."から"."に)置換

欠損値の処理はループを使った方がよさそう。たとえば、以下の感じ。なお元noteでは変数名を書き換えてるけど、ここでは面倒なのでしていません。

foreach var in C    D    E    F    G    H    I    J    K{
    replace `var' = "" if `var' == ""
    replace `var' = "" if `var' == "nc"
}

foreach文で対象の変数名を書くのが億劫な場合は、(強引だけど)、すべての変数に対して欠損値処理を行うという手もある。ただこの場合は、2列目(B列)が数値の変数なのでエラーが出る。必要ないのであらかじめdropする。

drop B
unab foo: _all
foreach var of lobal foo{
    replace `var' = "" if `var' == ""
    replace `var' = "" if `var' == "nc"
}
2-2文字列から数値に置き換え

はじめにdestringのほうから。destringは複数の変数にも対応できるので、なんども書かなくてもloopが終わった後に一度すればOK。

destring, replace

まとめ

すべてをまとめると以下の感じ。ループを使ってるんで行数は少なくなったと思われます。

import excel using f005-01-049.xls, clear cellrange(A9) 

* 都道府県名のついた行だけに限定する。
** 都道府県名がついていたら1のつくフラグ(keep_rows)を作成する。ただこの方法だと北海道と沖縄は、地域別計と都道府県ごとに2掲載されているのでよろしくない。
gen keep_rows = .
foreach pref_name in 北海道  青森 岩手 宮城 秋田 山形 福島  茨城 栃木 群馬 埼玉 千葉 東京 神奈川  新潟 富山 石川 福井  山梨 長野  岐阜 静岡 愛知 三重  滋賀 京都 大阪 兵庫 奈良 和歌山  鳥取 島根 岡山 広島 山口  徳島 香川 愛媛 高知  福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島  沖縄{
    replace keep_rows = 1 if A == "`pref_name'"
}
keep if keep_rows==1
drop keep_rows

duplicates drop // 2回出現している北海道と沖縄の重複削除。今回のデータだとOKだけど似たような形式のデータを複数扱うときはミスにつながる可能性が。

* 欠損値の置き換え
foreach var in C    D    E    F    G    H    I    J    K{
    replace `var' = "" if `var' == ""
    replace `var' = "" if `var' == "nc"
}
** destringは一括で。
destring , replace // destring *, replace でもOK。
br se// リボンから確認しなくてもbrowseでデータを確認できる。

sum

固定効果モデルの一部の変数を一階差分にするのはダメかもしれない。

パネルデータを使ってる分析で、 固体ダミーを入れたうえに(実際にはdemeaning)、yと主要な説明変数についてのみ階差を取るって論文を見かける。

例えば企業の現金比率を被説明変数にするときに、被説明変数を現金比率や負債比率の1年間の差分とし、企業固定効果モデルで推定するといったもの。

ここではそのようなモデルは推計しない方がいいかもしれないというお話をする。 

tl;dr パネル分析のおさらい

複数の個体から複数期間にわたるサンプルを用いた分析のこと。 

Pooled OLSだと固体ごとに存在する観察できない何かを見落とすので、他のパラメタもバイアスが発生する。対処法は大きく2つ。

1.固体固定効果を取り除く

以下の式を推定する。

 y_{it} = a+a_i +  b x_{it} + e_{it}

添え字iは固体、tは期間。 a_iを取り除きたい。細かくは2つの方法がある。

1.1 Demeaning

固体ごとに、すべての変数の平均値を差し引く。つまり

 y_{it}-\hat{y_i} = a+(a_i -\hat{a_i})+ b_1 (x_{it}-\hat{x_{i}}) + e_{it}

 帽子をかぶっているのは平均値。固体内での平均なので添え字iが消える。

(a_i -\hat{a_i})は消えるので、これすなわち

 y_{it}-\hat{y_i} = a+ b_1 (x_{it}-\hat{x_{i}}) + e_{it}

 

 となるのでOLS推定をすることで一致推定量を得ることができる。

1.2 固体ダミーを突っ込む

名前のとおり。ダミーの数だけ自由度が低下する。多くの場合は、1.1 Demeaningと推定値は同じになる。両者のR^2は異なる。

 

2.一階差分を取る

 y_{it}-y_{it-t} = a +  b (x_{it}-x_{it-1}) + (e_{it}-e_{it-1})

 固体ダミー(a_i)は固体内で同じ値なので消える。この場合もdemeaningと同じ推定値が得られる。

 

本題

部分的FDについて

問題にしたいのは、固定効果モデルの推定において固体ダミーを入れたうえで、一部の変数についてのみ一階差分を取るケースです。つまり以下のように、(1)被説明変数と説明変数の一つのみ(すべてではない)を一階差分にしたうえで、(2)demeaningをする(あるいは固体ダミーを入れる)ケースを指している。

 y_{it} - y_{it-1}= a+a_i +  b_1 (x_{it}-x_{it-1})+b_2 z_{it} + e_{it} 

 ここでzは新しく入ったコントロール変数で、これについては一階差分を取っていません。ここでは「部分的FD」と呼びます。

固定効果モデルの2つの方法を中途半端にミックスしているので、そこから得られる推定値が真の値なのか、疑問になりますよね?ならないですか、そうですか。

 

シミュレーション

説明変数が3つある個体数は100で期間は10のバランスドパネルを3776回作成した。推定式は以下のとおり、時間の固定効果も入れた。

 y_{it} = a+a_i +a_t + b_1 x_{it}+b_2u_{it}+b_3v_{it} + e_{it}.

それぞれについて、以下の4つのモデルを回した。すべてにおいて期間ダミーを入れている。カッコ内はあとで用いる略称

  1. Pooled OLSモデル (reg)
  2. 部分FDのPooled OLS (reg_fd)
  3. demeaningによる固定効果モデル (areg)
  4. 部分FD+demeaningによる固定効果モデル (areg_fd)

結果

以下では、真の値と推定値の差の絶対値の基本統計量を掲載している。推定値が真の値に近いと0になるので、大きな値であれば、その推定方法には問題があるということ。

 

モデル 平均 標準偏差 最小値 最大値
reg 2.364 1.767 0.0002 10.523
reg_fd 0.235 0.177 0.0001 1.006
areg 0.028 0.021 0.0000 0.114
areg_fd 0.226 0.170 0.0001 0.970

差が最も小さいのは階差を取らずに固定効果モデルを回したとき(areg)。部分FDモデルはaregと比較して誤差が大きくなる。なお2つの部分FDモデル(reg_fdとareg_fd)の誤差は同じ程度。今回は固体ごとの固定効果をモデルに組み込んだため、それを無視するPooled OLSは大きな誤差をもたらしている。

最後に2つの固定効果モデル(aregとareg_fd)における、誤差の分布をプロットしたのが以下のとおり。場合によっては真の値からかなり大きく外れた推定値を得ることが分かる。

f:id:yamadee:20210416152217p:plain



 

拡張するとしたら
  1. 2方向の固定効果: シミュレーションでは2方向(固体と期間)の固定効果の存在はモデルに組み込んでいない。そのため、2方向固定効果と、固体固定効果+期間ダミーの結果はおおむね一致することを確認している。
  2. アンバランスド・パネル: 
  3. ダイナミックパネル: 冒頭の例の現金保有は被説明変数に系列相関が確認される。GMMまで手を広げたくないので許してください。
  4. DID: 期間中の制度面での変化が、 x_1yに影響するもでるについては考慮していない。ただし"TWFE is not DID"

 

米国のベンチャーキャピタリストがどのようにして意思決定しているか。

VCistがどうやって意思決定しているか。

"How do venture capitals make decision?"というタイトルの論文がJFEにforthcomingになってた。内容はベンチャーキャピタリスト(以下, VC)へのアンケートの結果。過去にも類似研究があるが、ここでは同一の活動の中で、どれがもっとも価値があるかを聞いているところが新しい。面白かったので、イントロの抜粋をリストアップ。

どこから投資先を見つけるか。

30%は専門家ネットワークから、20%は他の投資家から、30%は自分たちで見つけてくる。10%が企業側からの売り込み。

どのようにして投資先を選別するのか

経営陣が大事かビジネスプランが大事かという問題。
多くのVCはチームが重要だとしている。ビジネスモデルは次点。とくにアーリーステージやテック系だとteamの割合が高い。

価値評価の方法

MOIC, Cash on cash returnがもっとも使われる。IRRがその次。DCF, NPVはほとんど使われない。
全体の20%, アーリーステージの31%では将来キャッシュフローの予測を行わない。
全体の9%, アーリーステージの17%ではそもそも価値評価をしない。

契約の条項など

面倒なんで省略

ハンズオンについて

戦略面での助言、投資家紹介、顧客紹介、オペレーション面での助言、新しい取締役の紹介、従業員の紹介の順番。

VCはどのステージで価値付与ができるのか。

deal selection, value-adding, deal flowの順番

投資先企業の成長の源泉

チームがもっとも重要。そのあとにタイミング、運、技術、事業モデルが同じくらい重要視されている。
逆に投資先の失敗の理由は、産業、タイミング、事業モデルなどが挙げられているが、VC自身の貢献が足らなかったという点を挙げている回答は皆無(そりゃそうか)。

ちなみに

対象企業は、Chicago Booth, Harvard, Stanfordの卒業生名簿を主に使って探し出したとのこと。理由は著者らの所属機関であるのと、それらMBAからVC業界に多数人材が流れているから。ただそれらトップ校卒業生は優秀なので、カバレッジにバイアスがあるかもとは申告している(自慢か)。

久々に論文紹介。 ビジネスサイクルと企業の資金調達パターン

久しぶりに論文紹介を。Begenau and Salomao (2019)。

米国だと、boom時に大企業が負債発行と株主還元を増加させる一方、小型企業は株式と負債を発行するとの事実があるとのこと。この論文ではそのような周期性の理論的解釈と現実のデータとの整合性を検討している。

企業サイズによって意思決定が異なる理由の一つは、サイズにより投資機会が異なることが挙げられる。ここは米国以外のデータで検証するときの論点にはなりそう。

 

Juliane Begenau, Juliana Salomao, Firm Financing over the Business Cycle, The Review of Financial Studies, Volume 32, Issue 4, April 2019, Pages 1235–1274, https://doi.org/10.1093/rfs/hhy099

https://academic.oup.com/rfs/article/32/4/1235/5087739

 

その外生的ショックは本当に外生的ですか?

今回紹介する論文はKarpoff教授(ワシントン大学)によるJournal of Finance論文(Karpoff and Wittry, 2017)。 近年の研究の多くは疑似実験による方法が主流となっている。具体的には企業からはコントロール不可能な外生的ショックを用いることによって因果関係の推論を行うことに重きを置いている。よく用いられる手法としては法律の制定などを制度変化が他の企業の変数に与える影響を確認することである。ここで重要な前提としては法律の変化というのが企業によって 決定臆することができないという点にある。しかし多くの場合において企業が政府に対して何らかの働きかけには入るロビングを行うことが可能である。あるいは、制度変化自体はそれ以前の経済環境・経営環境から予測可能である。これらを踏まえると買収防衛策の導入という制度変更は外生的とは言えない。 そのことを踏まえ、当論文では米国での買収防衛策の効果を計測した過去の論文を、上の要素を踏まえた上で再検証した。

結果としては概ね先行研究とは異なるものであり、買収防衛策が企業価値に与える影響は確認されなかった。つまり先行研究で外生的だとされていたものは、実は内生的に決定している、あるいは別の制度変化の影響を含んでいただけであった。

同論文の中では、最近トップジャーナルに掲載されていた論文を丁寧に再検証しており、その過程で、データのエラーが複数あったことが指摘されている。データセットは丁寧に作りましょう。

余談ながらKarpoffは、RFSにコーポレート・ガバナンスでよく用いられる指標(E-indexやG-index)は不正確だとする論文を掲載している。いずれもよく利用される一方で、何を図っているのかわからないなどの批判も多かったため、トップジャーナルに批判論文が掲載されたことは心強い。同時に実証分析の方法論について、先行研究で言われていることを真に受けて分析をすることの怖さも教えてくれる。

 

Karpoff, J. M. and Wittry, M. D. (2018), Institutional and Legal Context in Natural Experiments: The Case of State Antitakeover Laws. The Journal of Finance, 73: 657-714.

doi:10.1111/jofi.12600

https://onlinelibrary.wiley.com/doi/abs/10.1111/jofi.12600