【问题标题】:Getting OHLC format from forex data从外汇数据中获取 OHLC 格式
【发布时间】:2016-09-25 21:55:24
【问题描述】:

我正在尝试从仅具有每日值的时间序列中获取有关一周数据的统计信息。有人可以解释如何正确地将每周值传递给 ddply (或使用其他方法)以获得如下所示的输出吗?

library(quantmod)
symbols<-c("USD/EUR")
data<-getSymbols(symbols, src="oanda",index.class="POSIXct",env=NULL)
symbols<-gsub("/","",symbols)
data<-as.data.frame(data)
weekly.data<-as.Date(cut(as.Date(rownames(data)),breaks = "week"))
library(plyr)
ddply(weekly.data, .(weekly.data), function(x)paste0(x))

> head(data,14)
           USD.EUR
2015-01-14  0.8489
2015-01-15  0.8535
2015-01-16  0.8621
2015-01-17  0.8645
2015-01-18  0.8645
2015-01-19  0.8630
2015-01-20  0.8635
2015-01-21  0.8639
2015-01-22  0.8658
2015-01-23  0.8855
2015-01-24  0.8923
2015-01-25  0.8923
2015-01-26  0.8913
2015-01-27  0.8855

第一个完整周的目标(周一至周日 19 日至 25 日):

           Open   High   Low    Close
2015-01-19 0.8630 0.8923 0.8630 0.8923

注意事项:

  • 日期是一周的第一天(总是星期一)
  • 一周有 7 天(周一至周日)
  • Open 是一周第一天的价格
  • 最高价是本周最高价
  • 最低价是本周最低价
  • 收盘价是一周的最后价格

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    在我发布此内容后,我立即找到了答案。我所要做的就是使用来自 quantmod 包的to.weekly(data)

    【讨论】:

    • 很高兴你解决了你的问题。但是外汇 O/C 价格很难以一致的方式定义。外汇对在全球范围内交易,与具有明确开盘和收盘时间的主要股票和商品市场不同,外汇汇率在不同时区几乎 24/7 进行交易。
    猜你喜欢
    • 2014-08-04
    • 2016-06-17
    • 1970-01-01
    • 2017-05-29
    • 2017-08-10
    • 2019-12-30
    • 2014-05-22
    • 1970-01-01
    • 2016-05-23
    相关资源
    最近更新 更多