Исправление Интерпретации кода SAS - PullRequest
0 голосов
/ 30 июня 2018

Я довольно новичок в SAS. Не могли бы вы помочь мне интерпретировать следующие строки кода:

proc means data=crsp1 noprint;
var ret;
by gvkey datadate year;
output out=exec_roll_vol_fyear n=nrollingstd std=rollingstd;
run;

data volatility;
set exec_roll_vol_fyear;
where &start_year <= year <= &end_year;
* we have volatility of monthly returns,
converting to annual volatility;
estimated_volatility=rollingstd*(12**0.5);
proc sort nodupkey;
by gvkey year;
run;

Означает ли это следующее: возьмите данные "crsp1" и создайте набор данных "exec_roll_vol_fyear", который будет содержать скользящее стандартное отклонение "ret"? (Я не совсем понимаю, что означает здесь «proc»)

Вторая часть: используйте данные "exec_roll_vol_fyear", чтобы создать набор данных "volatility", гдеtimate_volatility = Rollingstd * (12 ** 0,5) и удалить дубликаты года gvkey. Я прав?

1 Ответ

0 голосов
/ 30 июня 2018

PROC MEANS - процедура суммирования, которая суммирует данные. В этом случае он рассчитает n и стандартное отклонение для каждой уникальной комбинации gvkey datadate year и выведет в набор данных exec_roll_vol_fyear. Это может быть «скользящее» стандартное отклонение, если входящие данные структурированы надлежащим образом для этого (в основном, если datadate определяет скользящие окна и если любая заданная запись дублируется один раз для каждого окна, в которое она попадает); невозможно сказать. Однако в SAS есть лучшие инструменты для анализа временных рядов.

Затем шаг данных применяет формулу для создания новой переменной из стандартного отклонения, а затем сортирует результирующий набор данных, удаляя дубликаты по gvkey и году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...