R Quantmod:周中开盘和收盘的周线

时间:2013-10-11 21:04:31

标签: r quantmod

我可以将每日系列转换为每周一次,如下所示:

library(quantmod)
getSymbols("SPY", from="2013-01-01", to=Sys.Date())
chartSeries(SPY)
datW <- to.weekly( SPY)

但是这个系列会在周五创建一个关闭的每周酒吧。 如何更改此项以创建周中栏,以便每周栏显示周三的收盘?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

看起来没有任何简单的方法可以做到这一点。如果您查看to.period的来源,它基本上会包含对.toPeriod的外部调用。 endpoints(x, period, k)

    xx <- .Call("toPeriod", x, endpoints(x, period, k), has.Vo(x), 
        has.Vo(x, which = TRUE), has.Ad(x) && is.OHLC(x), 
        index_at, cnames, PACKAGE = "xts")

endpoints功能也适用于外部呼叫。因此,如果您在星期三结束的每周时段,看起来您要么必须自己编写代码,要么寻找一些不同的库。

作为一个起点,很容易找到星期三发生的数据行,如下所示:

> wednesdayRows<-which(as.POSIXlt(index(SPY))$wday==3)
> head(SPY[wednesdayRows,])
           SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
2013-01-02   145.11   146.15  144.73    146.06  192059000       143.95
2013-01-09   145.87   146.32  145.64    145.92   90745600       143.81
2013-01-16   146.77   147.28  146.61    147.05  104849500       144.92
2013-01-23   149.13   149.50  148.86    149.37  104596100       147.21
2013-01-30   150.64   150.94  149.93    150.07  137447700       147.90
2013-02-06   150.52   151.26  150.41    151.16  138762800       148.97

所以现在你只需要正确地汇总OHLC数据。