使用 IBrokers 和 R,在实时交易时段检索最后交易价格的合适方法是什么?
Using IBrokers and R, what is the appropriate way to retrieve last traded price during live trading session?
所以目前我是这样做的:
contract <- lapply(sym, function(x) twsEquity(x, 'SMART','ISLAND'))
lapply(contract, function(x) reqHistoricalData(tws, Contract=x, barSize = "1 day", duration = "1 D", verbose = FALSE))
sym 只是一个包含 30 个左右股票代码的向量。
这非常慢。
因此,这不是正确的方法。
在我的实时交易时段,我必须监控 100 只股票。
他们最后交易价格的更新必须在滑秒内检索,而不是分钟。
您可以使用函数 reqMktData
并将快照设置为 TRUE
。
sym <- c("AAPL", "MSFT")
contracts <- lapply(sym, function(x) twsEquity(x, 'SMART','ISLAND'))
last_prices <- lapply(contracts, function(x) reqMktData(tws,
Contract = x,
snapshot = TRUE))
忽略您收到的警告。
请注意,lastTimeStamp 是您的本地时间,而不是交易所的时间戳。
last_prices
[[1]]
lastTimeStamp symbol bidSize bidPrice askPrice askSize lastPrice Volume Open High Low Close
1 2020-08-31 18:38:48 AAPL 4 129.46 129.48 3 129.48 1311118 127.67 130.05 126 124.81
[[2]]
lastTimeStamp symbol bidSize bidPrice askPrice askSize lastPrice Volume Open High Low Close
1 2020-08-31 18:38:47 MSFT 1 225.68 225.7 3 225.69 146282 227.1 228.7 224.31 228.91
所以目前我是这样做的:
contract <- lapply(sym, function(x) twsEquity(x, 'SMART','ISLAND'))
lapply(contract, function(x) reqHistoricalData(tws, Contract=x, barSize = "1 day", duration = "1 D", verbose = FALSE))
sym 只是一个包含 30 个左右股票代码的向量。 这非常慢。
因此,这不是正确的方法。 在我的实时交易时段,我必须监控 100 只股票。 他们最后交易价格的更新必须在滑秒内检索,而不是分钟。
您可以使用函数 reqMktData
并将快照设置为 TRUE
。
sym <- c("AAPL", "MSFT")
contracts <- lapply(sym, function(x) twsEquity(x, 'SMART','ISLAND'))
last_prices <- lapply(contracts, function(x) reqMktData(tws,
Contract = x,
snapshot = TRUE))
忽略您收到的警告。
请注意,lastTimeStamp 是您的本地时间,而不是交易所的时间戳。
last_prices
[[1]]
lastTimeStamp symbol bidSize bidPrice askPrice askSize lastPrice Volume Open High Low Close
1 2020-08-31 18:38:48 AAPL 4 129.46 129.48 3 129.48 1311118 127.67 130.05 126 124.81
[[2]]
lastTimeStamp symbol bidSize bidPrice askPrice askSize lastPrice Volume Open High Low Close
1 2020-08-31 18:38:47 MSFT 1 225.68 225.7 3 225.69 146282 227.1 228.7 224.31 228.91