这是代码:编辑:请参阅下面的可复制代码
>require("quantmod")
>
> corn <- as.xts(read.zoo("~/CORN.csv", sep=",", format ="%m/%d/%Y", header=TRUE))
>
> head(corn)
[,1]
1962-01-03 4.03
1962-01-04 3.99
1962-01-05 4.02
1962-01-08 4.03
1962-01-09 4.05
1962-01-10 4.07
>
> corn <- to.weekly(corn)[,4]
>
> head(corn)
corn.Close
1962-01-05 4.02
1962-01-12 4.08
1962-01-19 4.11
1962-01-26 4.11
1962-02-02 4.08
1962-02-09 4.05
你如何从每周二开始?类似的东西
indexAt='startof("Tuesday")'
其中 indexAt 是 to.weekly() 函数中的参数变量。
这样做的目的是与每周的 COT 数据对齐。
编辑 ##################
由于不提供可重现的代码,我造成了一些混乱,所以这里有一些根据 J. Winchester 的建议合并的部分解决方案:
> getSymbols("GLD")
[1] "GLD"
> GLD <- GLD[,4]
> head(GLD, n=2)
GLD.Close
2007-01-03 62.28
2007-01-04 61.65
> tues <- weekdays(time(GLD)) == "Tuesday"
> gold <- merge(GLD, tues)
> head(gold, n=5)
GLD.Close tues
2007-01-03 62.28 0
2007-01-04 61.65 0
2007-01-05 60.17 0
2007-01-08 60.48 0
2007-01-09 60.85 1