Я пытаюсь масштабировать одну переменную с помощью другой отстающей переменной.
(IB), масштабируемой по суммированным суммарным активам (AT) = ROA
Я попробовал эти два метода ниже от здесь .
xtset companyid fyear, year
gen at1 = l.at
gen roa=ib/at1
и
xtset gvkey year
gen roa=(ib)/(at[_n-1])
Первый вернулся со всеми нулями для 1.ta
Второй кажется генерировать значения в предыдущей записи, даже если это другая компания. Я думаю, что это правда, потому что только в первом ряду отсутствует значение. Я бы предположил, что должно быть пропущенное значение для первого года каждой компании.
Кроме того, я попробовал этот код ниже, но он сказал неверный синтаксис.
xtset gvkey year
foreach gvkey {
gen roa = (ib)/(at[_n-1]) }
Я использую compustat, так что это похоже на ниже:
gvkey|Year |Ticker | at | ib |
-------|-----|--------|------|------|
001111| 2006| abc |1000 |50 |
001111| 2007| abc |1100 |60 |
001111| 2008| abc |1200 |70 |
001111| 2009| abc |1300 |80 |
001112| 2008| www |28777 |1300 |
001112| 2009| www |26123 |870 |
001113| 2009| ttt |550 |-1000 |
001114| 2010| vvv |551 |-990 |