Stata:通过滞后的 y 变量缩放 x 变量
Stata: Scale x variable by lagged y variable
我正在尝试通过另一个滞后变量来缩放一个变量。
(IB) 按滞后总资产 (AT) = ROA 缩放
我已经尝试了以下来自 here 的这两种方法。
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 |
这很难理解。 1.ta
可能是也可能不是 L.at
的拼写错误。
是gvkey
字符串吗?在 Stata 标签上,有关于如何提供 Stata 数据示例的非常详细的建议,您没有遵循这些建议。
原则上,你的第一种方法是正确的,所以很难知道哪里出了问题,除了
The second one seems to generate
values on the previous entry, even if
it's a different company.
完全正确。先前的观察是先前的观察,该命令中没有任何内容涉及或暗示面板结构或 xtset
或 tsset
信息。
- 您的
foreach
声明只是胡乱猜测,与 foreach
支持的任何形式无关。 foreach
这里根本不需要:滞后运算符意味着在面板内自动工作。
我这样做了,可能会有帮助。
clear
input str6 gvkey Year str3 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
end
egen id = group(gvkey), label
xtset id Year
gen wanted = at/L.ib
list, sepby(gvkey)
+------------------------------------------------------------+
| gvkey Year Ticker at ib id wanted |
|------------------------------------------------------------|
1. | 001111 2006 abc 1000 50 001111 . |
2. | 001111 2007 abc 1100 60 001111 22 |
3. | 001111 2008 abc 1200 70 001111 20 |
4. | 001111 2009 abc 1300 80 001111 18.57143 |
|------------------------------------------------------------|
5. | 001112 2008 www 28777 1300 001112 . |
6. | 001112 2009 www 26123 870 001112 20.09462 |
|------------------------------------------------------------|
7. | 001113 2009 ttt 550 -1000 001113 . |
|------------------------------------------------------------|
8. | 001114 2010 vvv 551 -990 001114 . |
+------------------------------------------------------------+
我正在尝试通过另一个滞后变量来缩放一个变量。
(IB) 按滞后总资产 (AT) = ROA 缩放
我已经尝试了以下来自 here 的这两种方法。
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 |
这很难理解。 1.ta
可能是也可能不是 L.at
的拼写错误。
是gvkey
字符串吗?在 Stata 标签上,有关于如何提供 Stata 数据示例的非常详细的建议,您没有遵循这些建议。
原则上,你的第一种方法是正确的,所以很难知道哪里出了问题,除了
The second one seems to
generate
values on the previous entry, even if it's a different company.
完全正确。先前的观察是先前的观察,该命令中没有任何内容涉及或暗示面板结构或 xtset
或 tsset
信息。
- 您的
foreach
声明只是胡乱猜测,与foreach
支持的任何形式无关。foreach
这里根本不需要:滞后运算符意味着在面板内自动工作。
我这样做了,可能会有帮助。
clear
input str6 gvkey Year str3 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
end
egen id = group(gvkey), label
xtset id Year
gen wanted = at/L.ib
list, sepby(gvkey)
+------------------------------------------------------------+
| gvkey Year Ticker at ib id wanted |
|------------------------------------------------------------|
1. | 001111 2006 abc 1000 50 001111 . |
2. | 001111 2007 abc 1100 60 001111 22 |
3. | 001111 2008 abc 1200 70 001111 20 |
4. | 001111 2009 abc 1300 80 001111 18.57143 |
|------------------------------------------------------------|
5. | 001112 2008 www 28777 1300 001112 . |
6. | 001112 2009 www 26123 870 001112 20.09462 |
|------------------------------------------------------------|
7. | 001113 2009 ttt 550 -1000 001113 . |
|------------------------------------------------------------|
8. | 001114 2010 vvv 551 -990 001114 . |
+------------------------------------------------------------+