楼主: yuehuatian
2470 7

【求助】急,SAS循环!!!! [推广有奖]

  • 0关注
  • 0粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
31 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3199 点
帖子
43
精华
0
在线时间
132 小时
注册时间
2009-12-5
最后登录
2020-7-2

楼主
yuehuatian 发表于 2010-4-12 16:39:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人正在做论文,遇到一个问题,求高人解决
我现在有29只股票的月收益率数据,现在要对其进行随机等权抽样,
1)先抽取1只股票,求收益率的均值和标准差;
2)再抽取2只股票,求这2只股票的收益率的均值和标准差;
3)···依次···;
4)抽取29只股票,求这29只股票的收益率的均值和标准差;
5)输出1)~4)的结果;
6)重复以上1)~5)步骤30次;
二维码

扫码加我 拉你入群

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

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

关键词:收益率 标准差 求助 SAS

本帖被以下文库推荐

沙发
crackman 发表于 2010-4-12 21:06:06
data a;
do i=1 to 29;
x=ranuni(29);
output;
end;
format x f8.4;
run;
proc surveyselect data=a out=b method=sys sampsize=4 seed=10;
run;
proc means data=c mean std ;
var x;
output out=d (drop=_type_) mean=avg std=std;
run;

藤椅
crackman 发表于 2010-4-12 21:06:35
data a;
do i=1 to 29;
x=ranuni(29);
output;
end;
format x f8.4;
run;
proc surveyselect data=a out=b method=sys sampsize=4 seed=10;
run;
proc means data=c mean std ;
var x;
output out=d (drop=_type_) mean=avg std=std;
run;

板凳
crackman 发表于 2010-4-12 22:19:27
data crackman;
do i=1 to 29;
x=ranuni(29);
output;
end;
format x f8.4;
run;
%crackman;
%macro crackman;
%do m=1 %to 30;
%a(k=&&m.);
%end;
%mend crackman;
%macro crackman1(k=);
%do n=1 %to 29;
proc surveyselect data=a out=b&n. method=sys sampsize=&n. seed=%eval(&k.*&n.);
run;
proc means data=b&n. mean std ;
var x;
output out=d&n. (drop=_type_) mean=avg std=std;
run;
%end;
%do n=1 %to 29;
proc append base=d1 data=d&n. force;
run;
%end;
data m&k.;
set d1;
run;
%mend crackman1;
结果里面的M1-M30为结果
_freq_为每一次抽样的样本个数 AVG为均值 STD为标准差
楼主看哈
我这个程序电脑上跑了几分钟,效率还是有点低 希望高手来补充,优化一下

报纸
crackman 发表于 2010-4-12 22:20:02
data crackman;
do i=1 to 29;
x=ranuni(29);
output;
end;
format x f8.4;
run;
%crackman;
%macro crackman;
%do m=1 %to 30;
%crackman1(k=&&m.);
%end;
%mend crackman;
%macro crackman1(k=);
%do n=1 %to 29;
proc surveyselect data=a out=b&n. method=sys sampsize=&n. seed=%eval(&k.*&n.);
run;
proc means data=b&n. mean std ;
var x;
output out=d&n. (drop=_type_) mean=avg std=std;
run;
%end;
%do n=1 %to 29;
proc append base=d1 data=d&n. force;
run;
%end;
data m&k.;
set d1;
run;
%mend crackman1;
结果里面的M1-M30为结果
_freq_为每一次抽样的样本个数 AVG为均值 STD为标准差
楼主看哈
我这个程序电脑上跑了几分钟,效率还是有点低 希望高手来补充,优化一下
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
bakoll + 3 + 3 精彩帖子
醉_清风 + 1 + 1 SO GOOD

总评分: 经验 + 3  论坛币 + 3  学术水平 + 1  热心指数 + 1   查看全部评分

地板
jingju11 发表于 2010-4-13 08:54:27
5# crackman

So good。

7
醉_清风 发表于 2010-4-13 13:06:48
不错 学习了
从来不需要想起 永远也不会忘记

8
cz851218 发表于 2010-4-14 17:17:38
好好学习  !!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-11 04:01