SAS: стандартное отклонение для нефиксированного подвижного окна

Я думаю, что я отправил подобный вопрос раньше. Но на этот раз я борюсь с данными ID.

Мои данные выглядят как

 date        Stock    value    standard_deviation
01/01/2015    VOD      18       ...
01/01/2015    VOD      15       ...
01/01/2015    VOD       5       ...
03/01/2015    VOD      66       ...
03/01/2015    VOD       7       ...
04/01/2015    VOD      19       ...
04/01/2015    VOD       7       ...
05/01/2015    VOD      3        ...
06/01/2015    VOD      7        ...
 .....          ...     ...     ...
01/01/2015    RBS      58       ...
01/01/2015    RBS      445      ...
01/01/2015    RBS      44       ...
03/01/2015    RBS      57       ...

Мне нужно отработать скользящее среднее / стандартное отклонениеза каждую акцию основано на (-3, + 3) торговых днях.

Поскольку это торговые дни (а не календарные дни), а количество сделок в каждом дне различно, я создал подзапрос и применил следующий код.

data want;
set input;
by   date;
retain gdate;
if first.date then gdate+1;
run;

proc sort data=want; by stock gdate ; run;


proc sql;
create table want1 as
select   
h.stock,
h.date,
h.value,
( select std(s.value) from want s
where h.gdate between s.gdate-2 and s.gdate+2) as std
from
 want h 
 group  by  stock;
  quit;

Я старалсяgroup by stock, Тем не менее, кодпроигнорировал группу акций и дал мне только стандартную динамику за весь период, Мне нужен движущийся стандартныйдля разных акций.

Кто-нибудь может дать мне идею? Спасибо !

Ответы на вопрос(1)

Ваш ответ на вопрос