[R-SIG-Finance] problem subsetting xts object with yearmon time index
Joshua Ulrich
josh.m.ulrich at gmail.com
Fri Mar 20 19:43:46 CET 2015
On Fri, Mar 20, 2015 at 12:30 PM, Daniel Cegiełka
<daniel.cegielka at gmail.com> wrote:
> 2015-03-20 18:18 GMT+01:00 Joshua Ulrich <josh.m.ulrich at gmail.com>:
>> I can confirm this behavior with a simplified example using zoo 1.7-12
>> and the latest development xts.
>>
>>> data(sample_matrix)
>>> x <- as.xts(sample_matrix)
>>> y <- to.monthly(x)
>>> y['2007']
>> x.Open x.High x.Low x.Close
>> Feb 2007 50.22448 51.32342 50.19101 50.77091
>> Mar 2007 50.81620 50.81620 48.23648 48.97490
>> Apr 2007 48.94407 50.33781 48.80962 49.33974
>> May 2007 49.34572 49.69097 47.51796 47.73780
>> Jun 2007 47.74432 47.94127 47.09144 47.76719
>>
>>
>> Thanks for the report. I'll investigate.
>>
>> Best,
>> Josh
>
> hi,
> I can not reproduce this error with zoo-1.7-12 and xts-0.8-0.
>
>> getSymbols('MSFT')
> [1] "MSFT"
>> x <- xts::to.monthly(MSFT)
>> x['2015']
> MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
> Jan 2015 46.66 47.91 40.35 40.40 918956900 40.11
> Feb 2015 40.59 44.30 40.23 43.85 656204800 43.85
> Mar 2015 43.67 44.19 40.61 42.29 512133400 42.29
>> x['2014']
> MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
> Jan 2014 37.35 37.89 34.63 37.84 930226200 36.57
> Feb 2014 37.74 38.46 35.69 38.31 705304500 37.30
> Mar 2014 37.92 41.50 37.49 40.99 778425700 39.91
> Apr 2014 41.15 41.66 38.90 40.40 746113500 39.34
> May 2014 40.24 40.97 38.51 40.94 574362900 40.15
> Jun 2014 40.95 42.29 39.86 41.70 555779700 40.89
> Jul 2014 41.86 45.71 41.05 43.16 731616500 42.32
> Aug 2014 43.21 45.47 42.21 45.43 513919700 44.83
> Sep 2014 45.43 47.57 44.53 46.36 860827300 45.74
> Oct 2014 46.27 46.97 42.10 46.95 853235700 46.33
> Nov 2014 46.89 50.05 46.73 47.81 522988700 47.47
> Dec 2014 47.88 49.06 44.90 46.45 626740700 46.12
>
You can't reproduce this with an object returned by getSymbols because
getSymbols sets the index timezone to "UTC". The xts sample_matrix
data, and IntroCompFinR msftMonthlyPrices data do not have an index
timezone, so the machine's local timezone is used when converting the
ISO 8601 string to a datetime.
>
> Daniel
--
Joshua Ulrich | about.me/joshuaulrich
FOSS Trading | www.fosstrading.com
More information about the R-SIG-Finance
mailing list