【问题标题】:Converting tick data to OHLC bars using R使用 R 将分时数据转换为 OHLC 柱
【发布时间】:2013-07-30 16:08:43
【问题描述】:

如何使用 R 将刻度数据转换为 OHLC 数据?我在这里看到了几个例子,但我遇到的问题是转换各个时间戳的实际时间。例如,第一个时间戳是2013-07-29 15:30:00

x http://hopey.netfonds.no/tradedump.php?date=20130729&paper=AAPL.O&csv_format=txt")

xx

to.period(xx,"seconds",5)

【问题讨论】:

  • 你试过什么?我不明白第一个时间戳怎么可能是 2013-07-26。而您的问题不在于如何将刻度转换为 OHLC……而是如何将时间戳转换为实际的日期时间对象(例如POSIXct)。
  • 你说得对,我错过了复制刻度数据...第一个时间戳应该是 2013-06-14 15:30:00...我是 R 新手,但从我所拥有的看到这里,我想使用 xts ? & to.分钟
  • @JoshuaUlrich 这里也是一个链接,我相信你也帮助过吗? stackoverflow.com/questions/8830472/…
  • 我强烈建议使用read.delim() 而不是read.csv() - 您下拉的数据似乎是制表符而不是逗号分隔的。

标签: r


【解决方案1】:

创建 xts 对象后,只需使用 to.period(或其中一个包装器)即可。要将time 正确转换为 POSIXct,您必须指定正确的格式(包括“T”)。

xx <- xts(x[,-1], as.POSIXct(x[,1], "UTC", "%Y%m%dT%H%M%S"))
to.period(xx, "seconds")

另外请注意,您应该指定记录time 列的时区。我将其指定为"UTC",因为我不知道要使用哪个时区。

【讨论】:

  • 在转换时间方面效果很好,但是当我添加时我收到一条错误消息:to.period (xx, "seconds") as such...
  • 警告信息:对象的时区 (UTC) 与当前时区 () 不同。 > to.period(xx,"seconds") na.omit.xts(x) 中的错误:不支持的类型
  • 我的代码在此 Q/A 中的数据上运行良好。您没有提供可重现的数据示例,因此我怀疑您的实际数据存在问题。我的猜测是它被强制转换为字符,因为 xts/zoo 对象只能包含一种数据类型。如果您希望我做的不仅仅是猜测,请提供reproducible example
  • 我不会为你做你的工作。简单地提供数据并不是一个可重复的例子。您应该编辑您的问题以从您之前评论中的 URL 读取数据,然后显示您尝试过的内容以及它与您的预期有何不同。
  • @user2634864 尝试用read.delim 代替read.csv,然后用xx &lt;- xts(x[,c(2:3)], as.POSIXct(x[,1], "UTC", "%Y%m%dT%H%M%S"))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多