Re: [程式] sas跑迴歸問題
※ 引述《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
推
01/27 22:04, , 1F
01/27 22:04, 1F
討論串 (同標題文章)