MATLAB Answers


How can I create a vector of rolling Standard Deviations

Asked by Nico
on 21 Jul 2014
Latest activity Commented on by Nico
on 21 Jul 2014
Hi !
I'am sure this is an easy question for most of you...
I have a timeseries 'T' and I wanted to convert this into a vector 'V' of rolling Standard deviations. So every element of 'V' is the Std of the previous 30 elements of 'T'. The first thirty elements of 'V' are NaN then, right?
Could someone pleas help me with this problem?
Thanks, Nico


Sign in to comment.


1 Answer

Answer by Shashank Prasanna on 21 Jul 2014
 Accepted Answer

It is preferred if you give it a shot first and then seek help,
w = 30;
y = NaN(100,1)
x = randn(100,1);
for ii = w+1:100
y(ii,1) = var(x(ii-w:ii-1,1));
The first 30 need not be NaN, you can make them zero if you prefer.

  1 Comment

Thank you - that helps !

Sign in to comment.