【问题标题】:How to index one minute intraday data in xts?如何在xts中索引一分钟的盘中数据?
【发布时间】:2016-11-07 06:07:51
【问题描述】:

我曾使用 quantmod 处理每日股票数据。 Quantmod 自动从 google/yahoo 金融网站下载数据,并自动转换为 xts 对象作为索引的日期。

           AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
2014-10-01    100.59    100.69    98.70      99.18    51491300      97.09741
2014-10-02     99.27    100.22    98.04      99.90    47757800      97.80230
2014-10-03     99.44    100.21    99.04      99.62    43469600      97.52818
2014-10-06     99.95    100.65    99.42      99.62    37051200      97.52818
2014-10-07     99.43    100.12    98.73      98.75    42094200      96.67644
2014-10-08     98.76    101.11    98.31     100.80    57404700      98.68340
2014-10-09    101.54    102.38   100.61     101.02    77376500      98.89877

现在我正在处理一分钟的盘中数据(csv 格式),我将其转换为六列的数据框(df)。

      Date     Time Open High  Low Close
1 20150408 09:17:00 7.15 7.15 7.10  7.10
2 20150408 09:18:00 7.15 7.15 7.15  7.15
3 20150408 09:19:00 7.10 7.10 7.10  7.10
4 20150408 09:20:00 7.10 7.10 7.05  7.10
5 20150408 09:21:00 7.10 7.15 7.10  7.10
6 20150408 09:22:00 7.10 7.10 7.05  7.10 

现在如何将此数据帧转换为时间序列,以便我可以将其与默认的 quantmod 函数一起使用,例如 Cl()、Op()、OHLC() 等。

【问题讨论】:

    标签: r xts quantmod


    【解决方案1】:

    初级,亲爱的 Watson:将日期和时间组合成 POSIXct,使用它。

    未经测试,因为您没有提供可重复的数据:

    pt <- as.POSIXct(paste(X$Date, X$Time), format="%Y%m%d %H:%M:%S")
    N <- xts(X[, -(1:2)], order.by=pt)
    

    这里X是你当前的data.frame,N是一个新的xts对象,由X(减去日期和时间)的数据组成,使用pt作为索引。

    【讨论】:

      猜你喜欢
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多