[R-SIG-Finance] bug on to.monthly?
Ulrich Staudinger
ustaudinger at activequant.com
Mon Feb 4 21:29:44 CET 2013
Works with xts 0.9-3:
> Lines <- "2013-01-30;100
+ 2013-01-31;101
+ 2013-02-01;102"
> require(xts)
Loading required package: xts
Loading required package: zoo
Attaching package: ‘zoo’
The following object(s) are masked from ‘package:base’:
as.Date, as.Date.numeric
> x1 <- read.zoo(con <- textConnection(Lines), sep=";")
> close(con)
> as.POSIXct(index(x1))
[1] "2013-01-30 01:00:00 CET" "2013-01-31 01:00:00 CET"
[3] "2013-02-01 01:00:00 CET"
> to.monthly(x1)
x1.Open x1.High x1.Low x1.Close
Jan 2013 100 101 100 101
Feb 2013 102 102 102 102
>
Thanks!
On Mon, Feb 4, 2013 at 9:25 PM, Ulrich Staudinger
<ustaudinger at activequant.com> wrote:
> Here's my session info.
> I'll upgrade XTS and will let you know if I progress.
>
> sessionInfo()
> R version 2.15.1 (2012-06-22)
> Platform: i686-pc-linux-gnu (32-bit)
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
> [7] LC_PAPER=C LC_NAME=C
> [9] LC_ADDRESS=C LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] quantmod_0.3-17 TTR_0.21-1 xts_0.8-6 zoo_1.7-8
> [5] Defaults_1.1-1
>
> loaded via a namespace (and not attached):
> [1] grid_2.15.1 lattice_0.20-6
>
>
>
>
> On Mon, Feb 4, 2013 at 6:11 PM, Joshua Ulrich <josh.m.ulrich at gmail.com> wrote:
>> Works fine for me, even with your timezone.
>>
>>> Lines <- "2013-01-30;100
>> + 2013-01-31;101
>> + 2013-02-01;102"
>>>
>>> library(xts)
>>> Sys.setenv(TZ="Europe/Berlin")
>>> x1 <- read.zoo(con <- textConnection(Lines), sep=";")
>>> close(con)
>>> as.POSIXct(index(x1))
>> [1] "2013-01-30 01:00:00 CET" "2013-01-31 01:00:00 CET"
>> [3] "2013-02-01 01:00:00 CET"
>>> to.monthly(x1)
>> x1.Open x1.High x1.Low x1.Close
>> Jan 2013 100 101 100 101
>> Feb 2013 102 102 102 102
>>> sessionInfo()
>> R version 2.15.2 (2012-10-26)
>> Platform: i386-w64-mingw32/i386 (32-bit)
>>
>> locale:
>> [1] LC_COLLATE=English_United States.1252
>> [2] LC_CTYPE=English_United States.1252
>> [3] LC_MONETARY=English_United States.1252
>> [4] LC_NUMERIC=C
>> [5] LC_TIME=English_United States.1252
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets
>> [6] methods base
>>
>> other attached packages:
>> [1] xts_0.9-3 zoo_1.7-9
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.15.2 lattice_0.20-10
>>>
>>
>> Best,
>> --
>> Joshua Ulrich | about.me/joshuaulrich
>> FOSS Trading | www.fosstrading.com
>>
>> R/Finance 2013: Applied Finance with R | www.RinFinance.com
>>
>>
>> On Mon, Feb 4, 2013 at 4:58 AM, Ulrich Staudinger
>> <ustaudinger at activequant.com> wrote:
>>> Gents,
>>>
>>> I want to convert the following xts NAV series from daily to monthly.
>>>
>>> Browse[1]> navSeries
>>> [..]
>>> 2013-01-21 1089.233
>>> 2013-01-22 1088.627
>>> 2013-01-23 1086.648
>>> 2013-01-24 1095.522
>>> 2013-01-25 1100.402
>>> 2013-01-28 1098.846
>>> 2013-01-29 1105.938
>>> 2013-01-30 1102.504
>>> 2013-01-31 1102.386
>>> 2013-02-01 1111.651
>>>
>>> So I call ...
>>> monthlyNAV = to.monthly(navSeries)[,4]
>>>
>>> and it yields:
>>>
>>> Oct 2012 1034.037
>>> Nov 2012 1039.267
>>> Dec 2012 1055.666
>>> Jan 2013 1102.386
>>> Jan 2013 1111.651
>>> Browse[1]>
>>>
>>>
>>> As you can see, the Jan2013 exists twice!
>>>
>>> I also had a look at the index already:
>>> Browse[1]> tail(index(navSeries))
>>> [1] "2013-01-25 CET" "2013-01-28 CET" "2013-01-29 CET" "2013-01-30 CET"
>>> [5] "2013-01-31 CET" "2013-02-01 CET"
>>> Browse[1]>
>>>
>>>
>>> For reproduction, I made a little script:
>>>
>>> Here's test.csv:
>>> 2013-01-30;100
>>> 2013-01-31;101
>>> 2013-02-01;102
>>>
>>>> x1 = read.zoo("/opt/reports/etl/test.csv", sep=";")
>>>> index(x1)
>>> [1] "2013-01-30" "2013-01-31" "2013-02-01"
>>>> as.POSIXct(index(x1))
>>> [1] "2013-01-30 01:00:00 CET" "2013-01-31 01:00:00 CET"
>>> [3] "2013-02-01 01:00:00 CET"
>>>> to.monthly(x1)
>>> x1.Open x1.High x1.Low x1.Close
>>> Jan 2013 100 101 100 101
>>> Jan 2013 102 102 102 102
>>> Warning message:
>>> In zoo(xx, order.by = index(x), ...) :
>>> some methods for “zoo” objects do not work if the index entries in
>>> ‘order.by’ are not unique
>>>>
>>>
>>> Can someone shed some light?
>>>
>>> Thanks
>>> Ulrich
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Ulrich Staudinger
>>>
>>> P: +41 79 702 05 95
>>> E: ustaudinger at activequant.com
>>>
>>> http://www.activequant.com
>>>
>>> AQ-R user? Join our mailing list:
>>> http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/aqr-user
>>>
>>> _______________________________________________
>>> R-SIG-Finance at r-project.org 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.
>>
>> _______________________________________________
>> R-SIG-Finance at r-project.org 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.
>
>
>
> --
> Ulrich Staudinger, Managing Director and Sr. Software Engineer, ActiveQuant GmbH
>
> P: +41 79 702 05 95
> E: ustaudinger at activequant.com
>
> http://www.activequant.com
>
> AQ-R user? Join our mailing list:
> http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/aqr-user
--
Ulrich Staudinger, Managing Director and Sr. Software Engineer, ActiveQuant GmbH
P: +41 79 702 05 95
E: ustaudinger at activequant.com
http://www.activequant.com
AQ-R user? Join our mailing list:
http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/aqr-user
More information about the R-SIG-Finance
mailing list