Re: Basic programming
- To: mathgroup at smc.vnet.net
- Subject: [mg93589] Re: [mg93576] Basic programming
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sun, 16 Nov 2008 07:04:37 -0500 (EST)
- References: <200811151103.GAA16591@smc.vnet.net>
- Reply-to: drmajorbob at longhorns.com
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: Clear[stdev] stdev[dat_List][n_] /; n < 2 = 0; stdev[dat_List][n_] /; n <= Length@dat := StandardDeviation@Take[dat, n] Array[stdev[data], 100] (results omitted) Bobby On Sat, 15 Nov 2008 05:03:52 -0600, BionikBlue <frankflip at hotmail.com> 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 > > 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 longhorns.com
- References:
- Basic programming
- From: BionikBlue <frankflip@hotmail.com>
- Basic programming