On Mon, May 13, 2013 at 6:47 PM, Noah Silverman <noahsilverman at
ucla.edu> wrote:> Hello,
>
> I coming across a strange problem doing math on an xts object.
>
> If I have an xts object of stock prices (perhaps 5 minute bars of open,
high, low,close) and want to do some math, the results fail.
>
> For example:
>
> d$close[10] - d$open[10] works perfectly
>
> d$close[10] - d$open[9] fails. I just get an answer of "numeric(0)
Index: numeric(0)".
>
> My guess is that xts is breaking because the two items in my equation have
different time stamps. However, the actual data is correct, and the xts matrix
looks correct.
>
Nothing is broken or strange. xts' behavior is consistent with zoo,
ts, etc. What's strange is expecting a time-series class to do
operations independent of time.
> Note: It works if I do things the loooong way around.
> as.numeric(d$close[10]) - as.numeric( d$open[9] )
>
> But, that is horrendously slow.
>
> Suggestions?
>
Use lag.
Best,
--
Joshua Ulrich | about.me/joshuaulrich
FOSS Trading | www.fosstrading.com
R/Finance 2013: Applied Finance with R | www.RinFinance.com