[R-SIG-Finance] Subject: Re: Standard Deviations using Sliding window?

Brian G. Peterson brian at braverock.com
Fri Mar 5 17:22:21 CET 2010


I think Josh's earlier suggestion of runSD is more along the lines of 
what you want.

While you can certainly do what you want via rollapply, your original 
example will work via

getSymbols('AAPL')
AAPL$STDDEV = runSD(Cl(AAPL), 20)
AAPL$SMA = SMA(Cl(AAPL), 10)

Regards,

    - Brian

Robert Nicholson wrote:
> Yep that's where I am now
>
> When I try
>
> getSymbols('AAPL')
> closes = Cl(AAPL)
> change = rollapply(closes['2010-02-25::'],width=2, function(x) { log(x[2]/x[1])}, by=1, align = "right", na.pad = TRUE)
>
> I end up with
>
> Error in switch(deparse(substitute(FUN)), mean = return(rollmean(data,  : 
>   switch: EXPR must return a length 1 vector
>
> this was what I expected
>
> rollapply(zoo(1:10), 2, sum, na.pad = TRUE, by = 1, align="right")
>  1  2  3  4  5  6  7  8  9 10 
> NA  3  5  7  9 11 13 15 17 19
>
> On Mar 5, 2010, at 9:17 PM, Judson m wrote:
>
>   
>>> Here was a naive attempt to do standard deviation with sliding window
>>>       
>>>> require(quantmod)
>>>> getSymbols("AAPL")
>>>> AAPL$STDDEV = sd(Cl(AAPL), 20)
>>>> AAPL$SMA = SMA(Cl(AAPL), 10)
>>>> AAPL
>>>>         
>> I am pretty sure that rollapply in the ZOO library would work for you. 
>>
>>
>>     
>
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-SIG-Finance at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
>   


-- 
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973
IM: bgpbraverock



More information about the R-SIG-Finance mailing list