RSI输出技术交易规则(TTR)包

时间:2017-09-24 10:49:13

标签: r

我正在学习使用R的技术交易能力与技术交易规则(TTR)包。假设加密投资组合和BTC作为参考货币。使用cryptocompare.com API收集历史小时数据(60个周期)并转换为zoo个对象。目的是为每个加密创建一个14周期的RSI(并且可能在一个画布中可视化)。对于每个加密,我希望RSI输出为14 NA,然后是46个计算值。但我得到了360输出。我在这里缺少什么?

require(jsonlite)
require(dplyr)
require(TTR)

portfolio <- c("ETH", "XMR", "IOT")

for(i in 1:length(portfolio)) {
  hour_data <- fromJSON(paste0("https://min-api.cryptocompare.com/data/histohour?fsym=", portfolio[i], "&tsym=BTC&limit=60", collapse = ""))
  read.zoo(hour_data$Data) %>%
    RSI(n = 14) %>%
    print()
}

此外,我的时间序列数据采用以下形式(第一列时间戳):

            close   high    low   open volumefrom  volumeto
1506031200 261.20 264.97 259.78 262.74    4427.84 1162501.8
1506034800 258.80 261.20 255.68 261.20    2841.67  735725.4

TTR是否使用更传统的OHLC(开放,高,低,收盘)?

1 个答案:

答案 0 :(得分:3)

RSI()函数需要一个单变量的价格序列。你传递了一个有6列的对象,所以它将它转换为单变量向量。您需要对read.zoo()的输出进行子集化,以便只将"close"列传递给RSI()