Re: Basic programming
- To: mathgroup at smc.vnet.net
- Subject: [mg93578] Re: [mg93576] Basic programming
- From: Carl Woll <carlw at wolfram.com>
- Date: Sun, 16 Nov 2008 07:02:34 -0500 (EST)
- References: <200811151103.GAA16591@smc.vnet.net>
BionikBlue wrote: >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 > > list=RandomReal[1, {100}]; StandardDeviation /@ Partition[list, 10, 1] should do this. >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! > > StandardDeviation /@ Partition[list, 10, 1, {-2, -1}, {}] should do this. Note that the above starts with a standard deviation of the first 2 elements, and not of just the first element, since the standard deviation of a single element list is not defined. Carl Woll Wolfram Research
- References:
- Basic programming
- From: BionikBlue <frankflip@hotmail.com>
- Basic programming