Загрузить data.table в QuantMod & Quantstrat
У меня есть data.table
с моими собственными данными цены на 3 Isins.
PricesDir= "C:/Downloads/Prices" #With 10 CSVs just with bid-ask info.
files=list.files(PricesDir, pattern="*csv",full.names = TRUE)
prices = rbindlist(lapply(files, fread, fill = TRUE), fill = TRUE) #make the data.table
data.table
выглядит так:
dt <- data.table(
times = as.POSIXct(c("2017-06-15 12:00:00",
"2017-06-21 12:00:00",
"2017-08-15 12:00:00",
"2017-08-21 12:00:00",
"2017-06-15 12:00:00",
"2017-06-21 12:00:00",
"2017-08-15 12:00:00",
"2017-08-21 12:00:00"),
format= "%Y-%m-%d %H:%M:%S"),
isin = c("isin1",
"isin1",
"isin1",
"isin1",
"isin2",
"isin2",
"isin3",
"isin3"),
midprice = c(101.933,
102.121,
98.829,
98.533,
112.145,
112.348,
104.146,
104.343)
)
myticks<-as.xts(read.zoo(dt))
#convert data.table to "xts", "zoo"
myticks<-as.xts(read.zoo(dt))
Warning message:
In zoo(rval3, ix) : some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique
Я хочу разрабатывать стратегии с этой информацией. Однако я не знаю, как использовать эти данные в Quantstrat. Все, что я вижу в документации, это импорт цен с онлайн-серверов. Нужно ли обрабатывать каждый CSV отдельно и преобразовывать его в OHLC, иначе он не работает? Как мне использовать функцию символов?
у меня есть другой data.table
чтобы получить мои сигналы. Эта таблица данных выглядит так:
sgnl <- data.table(
date = as.POSIXct(c("2017-06-15 12:00:00",
"2017-06-15 12:00:00",
"2017-08-15 12:00:00",
"2017-08-15 12:00:00"),
format= "%Y-%m-%d %H:%M:%S"),
date2 = as.POSIXct(c("2017-06-21 12:00:00",
"2017-06-21 12:00:00",
"2017-08-21 12:00:00",
"2017-08-21 12:00:00"),
format= "%Y-%m-%d %H:%M:%S"),
isin = c("isin1",
"isin2",
"isin1",
"isin3"),
name = c("news1",
"news1",
"news2",
"news2")
)
С Quantstrat, как мне загрузить мой DT?:
symbols<- dt$isin
getSymbols.rda(symbols,
env,
dir="",
return.class = "xts",
extension="rda",
col.names=c("times","isin","midprice"),
sep=",")