楼主: silvia317
4753 2

[编程问题求助] 关于循环以及max,min函数 [推广有奖]

  • 1关注
  • 0粉丝

高中生

2%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
1.9162
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
370 点
帖子
15
精华
0
在线时间
16 小时
注册时间
2015-4-2
最后登录
2019-4-26

楼主
silvia317 发表于 2017-2-21 19:34:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
截图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,多谢解答!~~
二维码

扫码加我 拉你入群

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

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

关键词:max Min forvalues forvalue replace replace 换手率 表达式 最大值 local

沙发
夏目贵志 发表于 2017-2-23 11:16:13
t这个变量是什么样的?

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

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

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