library(quantmod)
library(rusquant)
library(tseries)
library(timeDate)
startDate <- as.Date('2018-01-01')
endDate <- as.Date('2020-04-14')
tickers <- c("TATN", "TATNP")
getSymbols(tickers, src = 'Finam', period = '30min', from = startDate, to = endDate)
TATN <- data.table(time = index(TATN$TATN.Open), TATN$TATN.Open, TATN$TATN.Close)
TATNP <- data.table(time = index(TATNP$TATNP.Open), TATNP$TATNP.Open, TATNP$TATNP.Close)
我正在从金融下载股票报价,我面临丢失其中一种证券的一些数据的问题。在代码示例中,价格数据以 30 分钟为增量下载,因此,我得到不同长度的帧,因为其中一个帧中丢失了一个或多个报价,这导致接收到的数据长度不同例如,在我的代码中,股票代码 TATN 的长度为 10366 ,TATNP 的长度为 10364 ,分别掉了 2 个引号。
为了解决这个问题,我需要找到不匹配的数据,即一帧存在而另一帧不存在的时间索引,并将其删除,这样这个时间和这个时间对应的数据就不会在一次两个数据帧,但只有那些具有相同时间索引的报价。
我怎么解决这个问题?
表中数据引用示例
由于没有提供示例数据,我将举一个抽象的例子。
假设有两个
data.table
:仅获取匹配 from的
t1
那些行:V1
V1
t2
并且反过来,只获取与 from匹配的
t2
那些行:V1
V1
t1