作者ygzjkx (安安)
看板Statistics
标题[程式] SAS巨集问题!!麻烦高手解惑,感恩
时间Sun Apr 21 00:07:11 2013
[软体程式类别]:
SAS
[程式问题]:
巨集应用
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
%macro aa(name1=rkmv,name2=rkbm,name3=???,n=10,m=10);
%do i=1 %to &n;
%do j=1 %to &m;
%if &name1=&i. and &name2=&j. %then ret=&name3.&&i.bm&j;
%end;
%end;
%mend aa;
巨集内容想表示如下:
if rkmv=1 and rkbm=1 then ret=mv1bm1;
if rkmv=1 and rkbm=2 then ret=mv1bm2;
...
if rkmv=10 and rkbm=10 then ret=mv10bm10;
但我在name3的地方不知道要取什麽!
name3=mv 还是name3=mvibmj 还是mvbm 还是???
麻烦高手解惑,谢谢^^
[程式范例]:
------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.169.198
1F:推 tew:很想告诉你 你不需要 已经有规模和BM的rank 04/21 07:39
2F:→ tew:报酬率直接抓取就好 你在之後还要针对这100个报酬率 04/21 07:41
3F:→ tew:做TSCS的平均数叙述统计 04/21 07:43
4F:→ ygzjkx:文中所提的MV1BM1,MV1BM2...MV10BM10为Fama&French网站 04/22 01:16
5F:→ ygzjkx:下载BM和MV所建构一百组投资组合之各投资组合报酬 04/22 01:24
6F:→ ygzjkx:接着,个股报酬若为缺值,再以相同MV及BM之投资组合报酬取代 04/22 01:25
7F:推 tew:这个报酬率我知道是哪抓的 04/22 10:31
8F:→ tew:读取报酬率用 r1-r100读取 04/22 10:31
9F:→ tew:接着依照时间 将r1-r100转置 04/22 10:32
10F:→ tew:然後 简单的就能得到每个时间都有100笔数据 04/22 10:32
11F:→ tew:而这些资料有规律性 前10是最小规模 然後到最大 04/22 10:33
12F:→ tew:接着每规模组合也有相同的bm排序 04/22 10:34
13F:→ tew:利用retain的语法就可以有mvrank以及bmrank 04/22 10:37
14F:→ tew:接着使用proc sql或者依照时间merge 04/22 10:38
15F:→ tew:就可以完成你想要的 04/22 10:38
16F:→ ygzjkx:哈!了解!!但想说为了自己阅读上方便,用MViBMj比较好理解 04/22 15:45
17F:→ ygzjkx:以後遇到这个情况就用/**/注解一下好了,谢谢tew! 04/22 15:46