Я пытаюсь сохранить матрицу дисперсии-ковариации 10 портфелей акций. Данные представлены столбцом доходностей для 10 акций. То естьКак получить матрицу дисперсии-ковариации в Matlab?
Stock A Stock B
Return 1 Return 1
Return 2 Return 2
Etc Etc
Когда я загрузить мои данные, которые я попробовал функцию cov(data)
, но он не будет работать. Я продолжаю получать это сообщение:.
«Неопределенная функция„сумма“для входных аргументов„набора данных“типа
Ошибка в соу (строка 154) хс = bsxfun (@ минус, х, сумма (х , 1)/m);% Удалить meanUndefined function «sum» для входных аргументов типа «набор данных».
Ошибка в cov (строка 154) xc = bsxfun (@ минус, x, сумма (x, 1)/м),% Удалить среднее значение "
Вопрос: как я могу продолжить поиск средней доходности каждого запаса и переменной ance-ковариационная матрица?
Пожалуйста, добавьте код, создающий эти ошибки. – Adriaan
Источником ошибки является то, что 'data' является набором данных вместо матрицы. –
Я нашел способ обойти его, указав мой ввод данных как числовую матрицу, а не векторы столбцов. Проблема в том, что Matlab не будет читать мою первую строку в каждом столбце (то есть имена акций). Что мне теперь делать? – Calum