r - 使用 IBrokers 和 R,在实时交易时段检索最后交易价格的适当方法是什么?
问题描述
所以目前我这样做:
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
推荐阅读
- ubuntu - 使用 Ubuntu 的 FluentFTP 连接到 FTP 服务器时出现问题
- delphi - Delphi DrawGrid 只显示第一张图片
- scala - 如何将数据框转换为列表列表(Scala)?
- rust - 在 Rust 中使用 BPF 打印堆栈跟踪时缺少/未知符号
- xcode - 没有 http 请求的 Vapor 4 PostgreSQL CRUD
- javascript - 如何使用 jquery 获取元素的类数?
- powershell - 如何从 PowerShell 通过 wsadmin 运行命令?
- r - 使用 tidyr pivot_wider 传播数据时遇到问题
- asp.net - ASP.NET 在尝试激活控制器时无法解析服务类型
- python - 无法在表单中获取或创建对象