MATLAB - S & P ежедневная матрица доходности: замена нулевой матрицы внутри цикла for - PullRequest
0 голосов
/ 06 октября 2019

Добрый вечер,

Мне нужно создать дневную матрицу доходности, основанную на 174 дневных ценах индекса S & P. Таблица, из которой я выбираю такие цены, называется "ценами", а объективная матрица, в которую я должен вставить значения, называется "биржевыми возвратами". Я попытался настроить вложенный цикл for после предварительного выделения массива 173 * 500 с нулями (в противном случае процесс занимает более 1 часа), но вывод, который я получаю, является нулевой матрицей.

Кто-нибудь может мне помочь? Это код, который я использую:

    stockreturns = zeros(173,500)
for k = 1:500;
    for h = 1:173;
        stockreturns(h,k) = ((prices{h+1,k}/prices{(h),k})-1)
    end
end

1 Ответ

0 голосов
/ 07 октября 2019

Предполагая, что prices является таблицей 174 x 500, вы можете просто использовать встроенные в MATLAB поэлементные операции.

prices = table2array(prices);
stockreturns = prices(2:end, :) ./ prices(1:end-1, :) - 1;
...