全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9129 10
2013-02-16
請問怎麼算股票的累計收益率啊??謝謝
二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-16 18:20:31
我有的數據
附件列表

TRD_Index.xls

大小:815.5 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

2013-2-17 00:32:14
我来看看,尝试一下
Indexcd
股票代码
Trddt
  交易日期
Daywk
weekday
Opnindex
开盘价 (昨收)     
Hiindex
最高价(当日)
Loindex
  最低价(当日)
Clsindex
最新 (今收)
Retindex
收益率,单位%(这是你要使用计算的变量)
  
我理解的对吗?

还有,weekday 里的值,1-Monday 2-tuesday 3-Wednesday 4-Thursday 5-Friday
是这样吗?


还有,你打算怎么累加收益率?
一个交易周内?一个月内?还是一年内?
还是全部累加?
二维码

扫码加我 拉你入群

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

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

2013-2-17 02:41:10
下面的程式是 计算每年收益率累加(很单纯的将retindex加起来)
/*your xls file has been imported and translated to sas data file*/
libname stock "C:\****(路径path)*****\stock";
/*define library where stores new data set which we will used in proc freq procedure
                              and the translated data metioned above.
                       stores the output report*/  
data stock.TRD_Index (drop=x);
set stock.stock;
by trddt;
retain y 1990;
x=input(trddt, yymmdd10.);
year=year(x);
if y=year then cumR+retindex;
else if y ^= year then do;
cumR=0;
cumR=cumR+retindex;
y=year;
end;
run;
/*To easy understand, I use two data steps to seperate the function of display and calculation;*/
data stock.display (keep=year cumr);
set stock.TRD_Index;
by year;
if last.year;
run;
/*only display the final cumr of the month, which is also the annual cumr*/
proc print data=stock.display;
run;
也许我对你的意图理解的不是很好,水平不高,程式也许不对
希望能帮助你
二维码

扫码加我 拉你入群

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

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

2013-2-17 18:21:30
是全部累加..我上網找到公式應該是cumR*(1+retindex)..但是就是寫不了
二维码

扫码加我 拉你入群

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

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

2013-2-18 09:08:50
WUTeng 发表于 2013-2-17 18:21
是全部累加..我上網找到公式應該是cumR*(1+retindex)..但是就是寫不了
累积收益率不就是收益率吗?用期末比期初减1就好了
日收益率的累加得到的值没意义(除非用于计算平均日收益率),要用累乘,而这样就等于期末比期初了
一般只有累积超额收益率,没有累积收益率
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群