楼主: drz2021
1223 1

[数据管理求助] (动量策略)Stata 中如何按月求并排序不同股票平均值 [推广有奖]

  • 0关注
  • 0粉丝

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
1
精华
0
在线时间
13 小时
注册时间
2021-11-9
最后登录
2024-2-6

楼主
drz2021 发表于 2021-11-9 07:39:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有无数只代码不连续的股票,目的是从2007年6月底开始,求前六个月的股票回报(return)的平均值并对所有股票进行排序,每个月循环求(比如六月底求1-6月的,7月底求2-7月的,以此类推),一直求到2015年12月。每个月排序结束之后选前二百分之一和最后二百分之一的股票组合,然后再买入最高组合卖出最低组合,持有一个月,全部卖出,得到收益。

我目前写了前六个月股票循环求平均的部分,但是得到了108组数据(应该得到103组,因为第一年是6月才开始),而且结果没有按年分开,所以觉得不太对。后面的步骤知道用 gsort -m_return 和gen g_stocks=group(200),但也不知道放在哪,而且是不是还需要把之前的表格合并在一起?要如何操作呢?求助!

local j=2007
while `j'<2016 {

drop if Year<`j' & Year>`j'
local i=1
while `i'<6 {
preserve
   drop if mon>`i' & mon<`i'+7
   replace Year=Year+1 if mon>`i'+6
   collapse (mean) meanReturn=Return, by(FirmIdentifier Year)
   summarize
   local i=`i'+1  
restore
}   
while `i'>5 & `i'<13 {
preserve
   drop if mon>`i' & mon<`i'-6
   collapse (mean) meanReturn=Return, by(FirmIdentifier Year)
   summarize
   local i=`i'+1
restore
}

local j=`j'+1

}



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata 动量策略 tata 平均值 RETURN Stata 动量策略 STATA循环命令 平均值 资产组合

沙发
黑桃皇后 发表于 2021-11-13 11:02:15
建议将数据一起放上来

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-10 03:03