是否可以使用TWS / IBpy接口来收集和分析刻度数据?

时间:2016-02-14 16:12:26

标签: ibpy

在搜索模板以测试纸质交易策略时,我偶然发现了IBPy。我已经完成了初始设置,可以从服务器连接和接收更新。我想做的是:

a)在发布新价格(买入价/卖出价)时从1..n符号收集价格 b)暂时将这些存储在一个向量中(我想用vector.append((bid,ask)) c)一旦向量达到计算最大值(我需要30秒或一定数量的滴答),我将计算一些对向量[]的值,并决定一个条目是否合适 d)如果不是pop(0)并继续收集 e)退出止损或追踪利润

我的问题是:

i)我已经读过更新是250毫秒,这对我的分析很好,但程序/系统可以跟上,因为不同的符号在不同的时间更新,因为symbolA每250毫秒更新一次,10个符号更新可能非常频繁 ii)当我停下来进行计算时,我没有丢失更新吗?

如果有这样的骨架代码,那么乱用它会很棒

感谢收听!

1 个答案:

答案 0 :(得分:0)

如果您需要处理100个股票代码,您应该有多个(至少2个)线程。一个线程从套接字中提取传入数据,按消息类型对消息进行排序,并将数据推送到队列。其他线程正在等待各自的队列获取一些数据并处理传入的数据。 我们的想法是调度程序线程确保尽可能快地从套接字中提取所有传入数据。

通常,您的电脑将能够处理IB愿意发送给您的任何信息。如果您的处理不需要太多时间 - 没有锁,调用sleep(),文件操作 - 您可以在一个线程中完成所有操作。