MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Basic programming

Here's a bit of data:

data = RandomReal[{0, 1}, 100];

Here's the moving standard deviation, 10 elements at a time:

StandardDeviation /@ Partition[data, 10, 1]

(results omitted)

and here's the StandardDeviation applied to 1,2, .... ,100 elements:

stdev[dat_List][n_] /; n < 2 = 0;
stdev[dat_List][n_] /; n <= Length@dat :=
  StandardDeviation@Take[dat, n]
Array[stdev[data], 100]

(results omitted)


On Sat, 15 Nov 2008 05:03:52 -0600, BionikBlue <frankflip at>  

> Hey I'm a beginner in mathematica and I'm trying to code a little  
> something but can't seem to be able to make it work... I know its pretty  
> basic and that's exactly my problem since the mathematica help is a bit  
> overkill for what I need.
> I have daily stock prices for a stock on a 100 day period, I want to  
> compute the standard deviation for a rolling 10 days period for the  
> whole list of data.
> So basically, I would like to do something like this :
> stdev(1;;10)
> then stdev(2;;11)
> until stdev(91;;100)
> and get the results in a list
> Id also like to get it another way, by starting with only one  
> observation and building my standard deviation calculation until I have  
> my whole rolling period built up, for example :
> stdev(1)
> stdev(1,2)
> stdev(1,2,3)
> until stdev(1;;10)
> then same as before, roll the period until the end of dataset and  
> produce a list of the results.
> Thanks for the help, if what I wrote is not clear enough let me know,  
> Ill try to explain it in more details!

DrMajorBob at

  • Prev by Date: Re: Complement ...
  • Next by Date: Re: Fourier Transform
  • Previous by thread: Re: Re: LatticeReduce
  • Next by thread: RE: Basic programming