名为 XXXZZZ.csv 的货币对的 OHLC(开-高-低-收)和交易量数据(格式为 DD.MM.YYYY HH:mm 的每小时数据)的 csv 文件:
Date;Open;High;Low;Close;Volume
02.01.2009 07:00;1,5326;1,539785;1,52896;1,5369;1083497,742
02.01.2009 08:00;1,5375;1,5379;1,53105;1,537;1191678,162
我加载 quantstrat 包并初始化:
library(quantstrat)
Sys.setenv(TZ="UTC")
currency(c('XXX', 'ZZZ'))
exchange_rate('XXXZZZ', tick_size=0.0001)
我用 read.zoo 读取了 csv 文件(因为我无法使 quantmod::getSymbols 工作):
XXXZZZ <- as.xts(read.zoo("XXXZZZ.csv", sep=';', tz='', header=TRUE,
format='%d.%m.%Y %H:%M',
index.column = 1
)
)
这会产生一个“xts”和“zoo”对象,其中一个索引列是日期列,其他 5 个列是 OHLC 和卷。
chart_Series(XXXZZZ)
结果是:
Error in chart_Series(XXXZZZ) : 'x' must be a time-series object
那么如何将 XXXZZZ 操作为时间序列对象呢?如果不同,答案是否不仅涵盖每小时数据,还涵盖从 1 秒到每月的数据?
Suggestion.1:将小数点由逗号改为点,问题依旧。
XXXZZZ <- gsub(",",".",XXXZZZ)