【发布时间】:2015-06-20 21:05:09
【问题描述】:
我有四个变量Name、Date、MarketCap 和Return。 Name 是公司名称。 Date 是时间戳。 MarketCap 显示公司的规模。 Return 是它在Date 的回归。
我想创建一个附加变量MarketReturn,它是市场在每个时间点的价值加权回报。对于每一天 t,MarketCap 加权回报 = sum [ return(i)* (MarketCap(i)/Total(MarketCap) ] (return(i) 是公司 i 在 t 日的回报)。
我这样做的方式非常低效。我想在SAS中一定有一些功能可以很容易地实现这个目标,所以我想问一下是否有人可以改进我的代码。
step1:按date对数据进行排序
step2:计算每天的总市值TotalMV = sum(MarketCap)。
step3:计算每个公司的权重(权重=MarketCap/TotalMV)
step4:创建一个新变量'Contribution' = Return * weight for each company
step5:每天总结Contribution。总和(贡献)
【问题讨论】:
标签: sas