Re: Basic programming

• To: mathgroup at smc.vnet.net
• Subject: [mg93590] Re: Basic programming
• From: "sjoerd.c.devries at gmail.com" <sjoerd.c.devries at gmail.com>
• Date: Sun, 16 Nov 2008 07:04:49 -0500 (EST)
• References: <gfmaak\$g6c\$1@smc.vnet.net>

```As always, there will be a multitude of possible solutions. A
functional programming style solution would be:

Map[
StandardDeviation,
Partition[yourData, 10, 1]
]

or, in a more procedural or imperative programming style:

Table[
StandardDeviation[
Take[yourData, {i, i + 9}]
],
{i, 1, Length[yourData] - 9}
]

or even more procedural (and ugly):

result = {};
Do[
b = StandardDeviation[ yourData[[i ;; i + 9]]  ];
result = Append[result, b];,
{i, 1, Length[yourData] - 9}
]
result

yourData should be an array with your data set, e.g. yourData={2.2,
3.7, -1.3, 4.5, 9.0, 2.2, 2.4, 5.6, 9.8, 12.3,3.8} ;

With respect to your second question: are you sure you want to
calculate the standard deviation of a single data point? Doesn't make
much sense to me. Anyway, to do this, the first example can be
modified thus:

Map[
StandardDeviation,
Partition[yourData, 10, 1, {-1, 1}, {}]
]

The others are easy to modify as well, but will become even more ugly
in the process.

Cheers -- Sjoerd

On Nov 15, 1:03 pm, BionikBlue <frankf... at hotmail.com> wrote:
> Hey I'm a beginner in mathematica and I'm trying to code a little somethi=
ng 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 comp=
ute 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 rolli=
ng 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!

```

• Prev by Date: RE: Basic programming
• Next by Date: RE: Basic programming
• Previous by thread: Re: Basic programming
• Next by thread: RE: Basic programming