全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4703 2
2017-02-21
截图20170221192059.jpg
下的是股票两年的月度数据。想判断每只股票在month=10,11,。。。24时,某月的换手率是否为包括该月及之前9个月的最大值,标记为flag1=1;类似的,若为最小值则标记为flag2=1。写了如下的循环:
. local t
. gen flag1=0
. gen flag2=0
. forvalues t=10/24{
  2. bysort stockcode:replace flag1=(month==t)&(to==max(to[t-9],to[t-8],to[t-7],to[t-6],to[t-5],to[t-4],to[t-3],to[t-2],to[t-1],to[t]))
  3. bysort stockcode:replace flag2=(month==t)&(to==min(to[t-9],to[t-8],to[t-7],to[t-6],to[t-5],to[t-4],to[t-3],to[t-2],to[t-1],to[t]))
  4. }

但是结果是flag1和flag2都没变,请问是调用max和min函数出了问题吗?
还有,求10个换手率均值的表达式是否可以简略一些表达,我试过to in t-9/t 不行?

初学stata,多谢解答!~~
二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-23 11:16:13
t这个变量是什么样的?
二维码

扫码加我 拉你入群

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

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

2017-2-24 13:21:41
夏目贵志 发表于 2017-2-23 11:16
t这个变量是什么样的?
就是csmar下载的换手率月度数据。我后来自己发现了 用[]来表示循环里的to好像不对啊,这是针对所有观测值来排序的了。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群