Thanks Jeff and Brain! I'm still having issues... I did the following:
My starting object is SMH, which was created by result of a query of the bar function in the RBloomberg package. My machine's timezone is EDT. > Sys.timezone() [1] "EDT" > head(SMH) time open high low close 2011-09-19T13:30:00.000 2011-09-19T13:30:00.000 30.52 30.550 30.460 30.49 2011-09-19T13:31:00.000 2011-09-19T13:31:00.000 30.48 30.520 30.470 30.50 2011-09-19T13:32:00.000 2011-09-19T13:32:00.000 30.49 30.590 30.480 30.56 2011-09-19T13:33:00.000 2011-09-19T13:33:00.000 30.56 30.610 30.530 30.53 2011-09-19T13:34:00.000 2011-09-19T13:34:00.000 30.53 30.545 30.525 30.53 2011-09-19T13:35:00.000 2011-09-19T13:35:00.000 30.53 30.540 30.495 30.53 numEvents volume 2011-09-19T13:30:00.000 319 105000 2011-09-19T13:31:00.000 198 63700 2011-09-19T13:32:00.000 260 98800 2011-09-19T13:33:00.000 106 20900 2011-09-19T13:34:00.000 89 24900 2011-09-19T13:35:00.000 648 159000 1) strptime(SMH[,1], format="%Y-%m-%dT%H:%M:%S") -> date_time 2) rownames(SMH) <- date_time 3) now the row label is in the format YYYY-mm-dd H:M:S > head(SMH) open high low close numEvents volume 2011-09-19 13:30:00 30.52 30.550 30.460 30.49 319 105000 2011-09-19 13:31:00 30.48 30.520 30.470 30.50 198 63700 2011-09-19 13:32:00 30.49 30.590 30.480 30.56 260 98800 2011-09-19 13:33:00 30.56 30.610 30.530 30.53 106 20900 2011-09-19 13:34:00 30.53 30.545 30.525 30.53 89 24900 2011-09-19 13:35:00 30.53 30.540 30.495 30.53 648 159000 > str(SMH) 'data.frame': 48694 obs. of 6 variables: $ open : num 30.5 30.5 30.5 30.6 30.5 ... $ high : num 30.6 30.5 30.6 30.6 30.5 ... $ low : num 30.5 30.5 30.5 30.5 30.5 ... $ close : num 30.5 30.5 30.6 30.5 30.5 ... $ numEvents: num 319 198 260 106 89 648 190 171 221 255 ... $ volume : num 105000 63700 98800 20900 24900 ... 4) Create an XTS object: as.xts(as.data.frame(SMH)) -> SMH.xts.1 Notice that the tzone = null. Also notice that the time has NOT changed > str(SMH.xts.1) An ‘xts’ object from 2011-09-19 13:30:00 to 2012-03-30 20:15:00 containing: Data: num [1:48694, 1:6] 30.5 30.5 30.5 30.6 30.5 ... - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:6] "open" "high" "low" "close" ... Indexed by objects of class: [POSIXct,POSIXt] TZ: xts Attributes: List of 2 $ tclass: chr [1:2] "POSIXct" "POSIXt" $ tzone : chr "" > head(SMH.xts.1) open high low close numEvents volume 2011-09-19 13:30:00 30.52 30.550 30.460 30.49 319 105000 2011-09-19 13:31:00 30.48 30.520 30.470 30.50 198 63700 2011-09-19 13:32:00 30.49 30.590 30.480 30.56 260 98800 2011-09-19 13:33:00 30.56 30.610 30.530 30.53 106 20900 2011-09-19 13:34:00 30.53 30.545 30.525 30.53 89 24900 2011-09-19 13:35:00 30.53 30.540 30.495 30.53 648 159000 5) create another XTS but specify the tzone in the creation of the xts object since as per RBloomberg documentation the time specified in the bar function (used to extract the data in the first place) is in UTC: --snippet from RBloomberg documentation --- Period start and end times must be expressed as strings in UTC time. bar <- function(conn, security, field, start_date_time, end_date_time, interval) --end snippet------- as.xts(as.data.frame(SMH), tzone="UTC") -> SMH.xts.2 > head(SMH.xts.2) open high low close numEvents volume 2011-09-19 17:30:00 30.52 30.550 30.460 30.49 319 105000 2011-09-19 17:31:00 30.48 30.520 30.470 30.50 198 63700 2011-09-19 17:32:00 30.49 30.590 30.480 30.56 260 98800 2011-09-19 17:33:00 30.56 30.610 30.530 30.53 106 20900 2011-09-19 17:34:00 30.53 30.545 30.525 30.53 89 24900 2011-09-19 17:35:00 30.53 30.540 30.495 30.53 648 159000 Warning message: timezone of object (UTC) is different than current timezone (). Notice that the time changes..... the PROBLEM I have - at least this is what I believe the problem to be - is that the time specified in the original object is already UTC. This is why I want to force the tzone field to UTC in my call to as.xts. But by doing so it actually performs a conversion, which I believe is from EDT to UTC since my machine's timezone is EDT. The first data point in the original object occurred at 13:30. By forcing UTC, the new time changes to 17:30 because it thinks I want to convert from EDT to UTC when in fact I just want to tell R that the object is UTC time so I can convert it to EDT regular trading hours. Any thoughts on how I can achieve this without changing the timezone on my machine? Greatly appreciate your help. -- View this message in context: http://r.789695.n4.nabble.com/R-Bloomberg-for-intraday-prices-tp4261687p4535793.html Sent from the Rmetrics mailing list archive at Nabble.com. _______________________________________________ R-SIG-Finance@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.