我希望通过如下代码计算换手率的一周滚动平均
因为存在股票停牌的问题,所以在原始数据的基础上做了笛卡尔积
比如股票1在04年6月30日停牌,则这一天股票1有一个除了股票代码外全空的观测值。
我希望实现的效果是:
如果滚动窗口(6个交易日)内有n个缺失的观测值,则用剩下的6-n个观测值计算滚动平均,并且通过对全一列求和(全一列在停牌的那一天也是缺失的)记录使用的观测值个数6-n.
但是实际运行结果很奇怪,当窗口里包含缺失值时,滚动平均的结果既不是6-n计算出来的,也不是用扩大窗口直到观测值等于6计算出来的。在调试过程中发现了如下结果
这是把窗口长度改为2之后的计算结果,在这个停牌的第二天居然算出了结果,而滚动窗口为2时这一天的窗口内应该只有两个缺失值。
sas帮助文档里面提到了nomiss命令,并没有起到作用
数据的结构如下