0

我正在尝试使用 Interactive Brokers 的自适应算法。似乎 R 的 IBrokers 包(https://cran.r-project.org/web/packages/IBrokers/IBrokers.pdf - pg37 和 38 )没有完成,因为当我执行下面的代码时我的订单没有通过.

  tws <- twsConnect()

  stockEquity <- twsEquity("AAPL")

  parentLongId <- reqIds(tws)

  parentLongOrder <- twsOrder(parentLongId, action="BUY", totalQuantity = 100, orderType = "MKT", transmit=TRUE, 
algoStrategy ="Adaptive", algoParams = "Normal")

我在 GitHub ( http://interactivebrokers.github.io/tws-api/ibalgos.html ) 上找到了 JAVA、Python、C# 和 C++ 的 API 指南。我想知道是否有人知道如何将代码转换为 R。

Java的例子,

  Order baseOrder = OrderSamples.LimitOrder("BUY", 1000, 1);
  AvailableAlgoParams.FillAdaptiveParams(baseOrder, "Normal");
  client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder);
public static void FillAdaptiveParams(Order baseOrder, String priority) {
    baseOrder.algoStrategy("Adaptive");
    baseOrder.algoParams(new ArrayList<>());
    baseOrder.algoParams().add(new TagValue("adaptivePriority", priority));
}
4

1 回答 1

0

我认为 R 用户访问所有 IBALGO 的最简单方法是安装允许您在 R 中使用 Python 的 Reticulate 包。然后安装 ib_insync Python 模块。现在,您可以使用 R 以几乎所有方式管理 IB API,就像在其原生 Python 中工作一样,这要归功于 Reticulate。

请记住,在 R 中使用相当于 Python 的 TagValue 转换的语法如下所示:

algoStrategy = 'Adaptive',
algoParams = list(insync$TagValue('adaptivePriority', 'Normal')))
于 2018-04-25T07:45:01.290 回答