我想测试股票收益的周日影响。我写的stata代码有效,但看起来效率很低。
// 1) Monday effect
eststo:reg return day_dummy2 day_dummy3 day_dummy4 day_dummy5
// 2) Tuesday effect
eststo:reg return day_dummy1 day_dummy3 day_dummy4 day_dummy5
// 3) Wednesday effect
eststo:reg return day_dummy1 day_dummy2 day_dummy4 day_dummy5
等等。 有没有办法编写具有相同功能的代码(一次不包括一天),例如一个foreach循环?
非常感谢你的帮助!
答案 0 :(得分:1)
或许有点笨拙,但您可以使用Stata的宏(请参阅help extended_fcn
)函数迭代地排除您列出的一个变量并生成剩余变量列表。
local vars "day1 day2 day3 day4 day5 day6 day7"
forvalues i = 1/7 {
local varexclude : word `i' of `vars'
local varsout`i' : subinstr local vars "`varexclude'" ""
// insert -estout- command here
}
macro list // to verify the individual `varsout`i'' local macros
您可以使用ds day*
获取初始varlist,该变量列表将变量列表存储在r(varlist)
中。