话说在股票市场中盛传,进行程序化交易,得接口者得天下。
编写自动化程序的思路有两个:1、是分析交易软件的app,利用hack的技术模拟下单 2、找到一个稳定靠谱的trade.dll活着tradex.dll
方案
从总稳定性和接口的功能的完整性考虑出发,我们选择以下这种方案。
简单的说,就是利用ZMTradeService在windows机器部署一台交易服务器,利用websocket进行通信,而我们所需要做的就是通过python写一个交易的client,用于其他场景的调用。
实现
由于券商接口本身是异步的形式,不太容易直接被上层策略所直接使用,因此这里的trade-client的主要功能就是将异步封装成同步接口,以下以下单为例:
下订单流程分:
1、下订单指令
2、代理服务器异步返回订单指令已经被成功下单到证券服务器端
3、代理服务器异步返回事件,订单指令已经成功被券商发送到交易市场
因此,trade-client需要合并以上多部操作,增加接口的简易性
整体需要考虑到的问题为:1、对象的单例 2、每个接口的超时异常抛出机制 3、内部状态的维护