接口接入期货CTP柜台行情交易接口实现django框架期货自动下单


一直想要做商品期货的自动下单交易. 有这么几种办法,一种直接接FMZ,聚宽等第三方平台. 一种直接使用可以对接交易所的软件,诸如:

Ticktrader,Vnpy,minitrader,Mt5ctp等等 要看直接对接好期货或者股票交易所的下单接口的软件,点击openctp-软件自动化下单

当然主要我这些都不用,因为交易框架是自己用django来搭的,也就是主要是用python实现的. 所以我只能自己来对接交易所的接口.

对接流程如下: 1.先找到一家券商,对方愿意提供API接口下单的服务,并且当然一定要在这个券商开户. 我找的券商挺好,没什么准入门槛,只要开户就可以申请API接口下单的服务了.毕竟人家券商竞争也激烈,赚的也是手续费. 量化自动交易对券商来说,基本就是躺赚. 如果哪天我是开始做高频了,估计券商就会更开心了.

2.开户流程完成之后,需要券商来协调系统测试环境,准备测试账号. 3.测试账号拿到之后,我发现券商直接就是CTP柜台的官方接口.官方的CTP柜台接口主要都是C写的,不兼容我这个python框架.主要C我也不会写啊. 于是乎在市面上寻找到了OPENCTP这一家,一测试简直就是好用到爆.

openctp的python接口包本身就可以和CTP柜台以及支持券商无缝衔接,既有实盘的接口监控也有现在SIMNOW之类的模拟环境的监控. 这个页面可以直接告诉我,测试交易的话,哪个环境可以正常用.

4.安装openctp的python对应的版本包,这个版本号需要跟券商那边确认一下他们用的是哪个版本号的CTP柜台接口. 于是乎开始做行情接口的测试和交易接口的测试了.

5.交易接口的测试工作才刚开始: a.下单交易接口测试.包括限价单,市价单. b.订单查询接口测试.看一下订单的持仓情况. c.撤单接口的测试,看一下撤单的时效性和重试逻辑对不对,是不是你想要的. d.账户基本信息的查询,包括持仓,权益,等等.

6.回来继续搞策略和信号过滤策略,然后调用接口整个前到后端走一遍.

这里比较蛋疼的是,我找的券商的测试环境不是天天运行的,有时候用户少他会关机的. 所以我基本上券商的接口好了以后,我回到simnow来做业务接口的测试. 往往一边是下单接口测试单号了以后,我要回到交易客户端登录进去查看核对一下,这一段蛮费时间的.

继续干活....