Hello
I am working on a number of price series (daily returns) and need to calculate the 90 day standard deviations and correlation with another price series. I have written this code with a for loop to calculate the standard deviation
window = 90;
T = size(Aseries,1);
condstdAseries = zeros(T-window+1,1);
for t = 1:1:T-window+1;
condstdAseries(t,1) = std(Aseries(t:t+window-1,1));
end
datecondste = ddatenumbers(window:end);
But have not managed to work out a similar solution, guess it should be a matter only to add another line of code to solve it but no success so far.
Any suggestion?

 采纳的回答

Use function movstd if you have MATLAB R2016a or later.
rst = movstd(Aseries(:,1),[0 window]);
condstdAseries = rst(1:end - window + 1);

1 个评论

Thank you Andrei. This makes the calculation of the moving standard deviation definately easier but any idea on how to calculate the moving correlation?

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by