楼主: sduruc
2142 8

【请教大神】SAS proc sql [推广有奖]

  • 7关注
  • 23粉丝

已卖:3419份资源

学科带头人

71%

还不是VIP/贵宾

-

威望
0
论坛币
8283 个
通用积分
20.2860
学术水平
29 点
热心指数
40 点
信用等级
31 点
经验
98263 点
帖子
592
精华
0
在线时间
4068 小时
注册时间
2011-9-24
最后登录
2025-11-20

楼主
sduruc 发表于 2015-11-12 13:03:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
使用proc sql求国泰安中的年度个股收益率,程序如下:
proc sql;                                                                                                                              
create table annual_return as select distinct a.stkcd,a.year,a.month,sum(b.Mretwd) as annual_return                                       
  from  monthly_return as a,monthly_return as b                                                                                                                  
   where a.stkcd=b.stkcd   and a.year=b.year                                                                                                            
    group by a.stkcd,a.year;                                                                                                            
quit;  


其中monthly_return是月度个股收益率数据,Mretwd是月度收益率。sas没有报错,但是算出的结果特别大有5000……
我知道设置a和b有点冗余,就是求问大神,程序错在哪里啊~~~不胜感激

二维码

扫码加我 拉你入群

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

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

关键词:proc sql ROC sql Distinct Monthly

沙发
huyiustc 发表于 2015-11-12 13:12:22 来自手机
应该按stock和year分组sum就行了吧,where和把同一数据集赋给AB有点冗余吧,甚至不对比如一年一直股票有12个月数据你这样就重复算了12遍

藤椅
sduruc 发表于 2015-11-12 13:19:40
huyiustc 发表于 2015-11-12 13:12
应该按stock和year分组sum就行了吧,where和把同一数据集赋给AB有点冗余吧,甚至不对比如一年一直股票有12个 ...
但是请问即使冗余,运算的结果也不对啊。

板凳
孤单的我们 发表于 2015-11-12 13:37:48
sum是求和 mean是均数
年度个股收益率和月度个股收益率应该不是求和吧

报纸
sduruc 发表于 2015-11-12 14:09:37
孤单的我们 发表于 2015-11-12 13:37
sum是求和 mean是均数
年度个股收益率和月度个股收益率应该不是求和吧
只是举个例子。原版是sum(log(monthly+1))然后exp()-1的嵌套。

地板
孤单的我们 发表于 2015-11-12 14:18:02
sduruc 发表于 2015-11-12 14:09
只是举个例子。原版是sum(log(monthly+1))然后exp()-1的嵌套。
是否因为收益率应该是百分数 而LZ忽略了%?

7
teqel 发表于 2015-11-12 23:00:22
多写了一个a.month

8
sduruc 发表于 2015-11-13 10:54:12
teqel 发表于 2015-11-12 23:00
多写了一个a.month
您好……去掉a.month也不行……

9
teqel 发表于 2015-11-13 12:07:16
sduruc 发表于 2015-11-13 10:54
您好……去掉a.month也不行……
proc sql;                                                                                                                              
create table annual_return as select distinct stkcd, year, month, sum(Mretwd) as annual_return                                       
  from  monthly_return group by stkcd, year;                                                                                                            
quit;  

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 17:13