0

firm id、 、のようないくつかの変数を含む経時的データがあります。ここで、 は各企業による買収発表日であり、event dateは5日間 (-2,+2) のウィンドウにわたる各企業のイベント発表リターンです。ここでは、各サンプル企業が、事前定義された期間にわたって複数の買収に関与しています。abnormal returnevent dateabnormal return

たとえば、1999 年から 2011 年の期間に複数の異常なリターンを観測した企業が 200 社あるとします。したがって、各企業は、この期間中に少なくとも 2 つのそのような観測を持ち、2 つのそのようなイベントの日付で計算されます。

各企業の異常なリターンにランクを割り当てて、その後の (企業による最初の買収後の) 取引をイベントの日付順にランク付けする必要があります。rankそこで、新しい変数を作成し、それを使用して、最初の異常なリターンの後の各異常リターンの企業の増減をさらに分析したいと考えています。

Stata でこれを実行する方法、または使用するコードを教えてください。私が試した:

bysort firm_id event_date: egen rank = rank(abnormal_return), 

しかし、私は欲しいものを手に入れていません。

注意 – a) 私のサンプルでは、​​同じイベント日に複数の取引 (たとえば 2 つ) を実行する企業はほとんどないため、それらの 2 つの取引の異常なリターンはまったく同じです。b) 異常リターンは正または負で、小数点以下 6/7 桁で表されます。たとえば、負の異常リターンは -0.0365089 のようになります。正の 0.0416888。

申し訳ありませんが、投稿で言及する必要があったこのクエリを statalist に既に投稿しましたが、どういうわけかフィードバックを得るために急いでいたため、見逃してしまいました - 心からお詫び申し上げます。

(UPDATE) ついにデータのスナップショットのドロップボックス リンクを共有することができました。ファイル。

https://www.dropbox.com/s/w501upimdgwvzyz/Rank.dta?dl=0

私が今持っているクエリ(これはまだ統計リストで回答されていません。これに基づいて分析を試みているため、ここに再投稿します):

3 年間のウィンドウを見ている場合、つまり、その後の取引が最初の取引から 3 年の間に行われたことに基づいて、異常なリターンを再ランク付けする必要があります。たとえば、私のデータの会社です。id = 13 のファイルには、2000 年、2001 年、2005 年、2006 年にそれぞれ 4 つの取引があります。最初の取引は 2000 年です。2005 年の 3 回目の買収は、2000 年の中心的な取引から 3 年以上経過しているため、2000 年の最初の取引から数えたりランク付けしたりするべきではなく、むしろ 2005 年になります。この会社の新しい最初の取引は、さらに3年間続きます。したがって、この場合、会社 ID で取引をランク付けする必要があります。13 は 0 (2000)、1 (2001) です。0 (2005)、1 (2006)。

ここで再コーディングを手伝ってくれる人はいますか?

4

1 に答える 1

1

コメントで、あなたが望むものは

sort firm_id event_date 
by firm_id : gen rank = _n 
bysort firm_id event_date : replace rank = rank[1] 

に凝縮できます。

bysort firm_id (event_date): gen rank = _n 
by firm_id event_date: replace rank = rank[1] 
于 2014-12-10T18:33:00.600 に答える