Как создать ковариационную матрицу в PLSQL - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь создать ковариационную матрицу, используя plsql, но значения ковариации, заданные в моем запросе, не такие, какими они должны быть.

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

select a.COMPANYCODE, b.COMPANYCODE, covar_pop(a.SHRRET, b.SHRRET)COVAR
from RM_EQBETA  a, RM_EQBETA b
group by a.COMPANYCODE, b.COMPANYCODE;

Ковариация, обеспечиваемая этим запросом, равна 0 для всех наблюдений.Этот запрос выполняется для данных временного ряда между двумя датами, и каждая балансовая единица будет иметь SHRRET для каждого дня между указанными датами.Ковариация требуется для каждой компании со всеми остальными компаниями, поскольку SHRRET указывается между датами.

Я предполагаю, что мой существующий запрос не учитывает весь временной ряд SHRRET для каждой компании, а рассчитывает на одну дату, что дает 0 ковариаций.

Представление имеет еще одно имя столбца R_DATE, которое содержит дату для SHRRET для каждой компании.

...