作者jasonlian ()
看板Statistics
标题Re: [程式] sas跑回归问题
时间Wed Jan 27 17:59:38 2010
※ 引述《loswin (loswin)》之铭言:
: [软体程式类别]:SAS
: [程式问题]:回归
: [软体熟悉度]:新手(不到1个月)
: 问题一:
: 跑CAPM求得β,Ri=a+βRm+e
: 资料期间:1990~2009的日资料
: 跑每一年日资料,求得每一年的β(即每间公司一年跑一次,共20年故每间公司跑20次)
: 共有6000多间公司。
: DATE CUSIP company name Ri Rm
: 19900101 010203456 A 0.033 0.052
: 19900102 010203456 A 0.044 0.021
: : : : : :
: : : : : :
: 19901231 010203456 A 0.064 0.136
: :
: :
: :
: 20090101 010203456 A 0.013 0.047
: 20090102 010203456 A 0.062 0.042
: : : : : :
: : : : : :
: 20091231 010203456 A 0.012 0.032
: --------------------------------------------------------
: 19900101 010203337 B 0.021 0.052
: 19900102 010203337 B 0.042 0.021
: : : : : :
: : : : : :
: 19901231 010203337 B 0.054 0.136
: :
: :
: :
: 20090101 010203337 B 0.023 0.047
: 20090102 010203337 B 0.064 0.042
: : : : : :
: : : : : :
: 20091231 010203337 B 0.052 0.032
: 问题二:
: 最後整理成
: DATE(只需年资料) CUSIP company name β
: 1990 010203456 A 0.52
: 1991 010203456 A 0.35
: : : : :
: : : : :
: 2009 010203456 A 0.42
: 1990 010203337 B 0.13
: 1991 010203337 B 0.29
: : : : :
: : : : :
: 2009 010203337 B 0.32
: [程式范例]: 有试着翻书找,不过书只有写同一间公司A,在年度不一样的情形下
: Data capm;
: set capm;
: yy=YEAR(date);
: run;
: data sas.capm;
: set sas.capm;
: proc reg outest=sas.beta;
: model Ri=Rm;
: by yy ;
: run;
: 我知道这样写是错的...会把所有资料当做同一间公司再跑,最後只会跑出20笔
: 是不是要写什麽回圈之类的,没接触过不太懂
: 请高手帮忙谢谢!!
: -----------------------------------------------------------------------------
Data capm;
set capm;
yy=YEAR(date);
run;
proc sort data=capm;
by cusip yy;
proc reg data=capm outest=sas.beta;
model Ri=Rm;
by cusip yy ;
run;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.112.245
1F:推 loswin:可以了耶 原来不用写什麽回圈,太感谢了!! 01/27 22:04