Skip to content

a simple system which use ctp API for future arbitrage trading

Notifications You must be signed in to change notification settings

hawkinggg/easyctp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easyctp

a simple system which use ctp API for future arbitrage trading

关于策略

策略是同品种的跨期贝叶斯统计套利

参考广发证券的一份交易策略研报,详情参见doc

关于实战

这是一个低延迟策略,需要速度抢单,并且尽量少的裸头寸

我们经过一系列调整

  • 更换物理机location,由**期货提供的上期所机房附近的服务器
  • 更换CTP版本,由**期货提供的去除一些冗余api后的ctp-mini版本

将速度提到了10ms以内,但实盘测试发现能抢到的有效交易有限(传说厉害的高频交易都是用微妙做计量单位的),最终放弃了- -!

所谓有效/无效交易,用业界的一句流行语:你能抢到的单子都是赚不了钱的,能赚钱的单子你都抢不到,哭哭

关于失败的回忆

为什么还是不够快?

套利策略并不复杂,从收到行情到计算出信号实测都不到1ms,主要的瓶颈还是在于网络,大约2-10ms的波动范围

其实一次完整的流程可以分为三个阶段

  1. 交易所更新行情 到 程序接收到此次行情
  2. 程序接收行情后进行信号计算,如果是有交易的信号,下单请求
  3. 下单请求 到 成交

关于阶段1,我们是500ms接收一次行情更新,这个是业界标准,但传闻有更频繁的接收方式,100ms刷新啥的,这个不得而知

关于阶段2,代码肯定有可以优化的地方,但当时觉得并不是主要矛盾,所以优先级就靠后了,结果后面这个项目就没了...

阶段1和阶段3,都涉及网络传输,这也是前面提到的更换服务器位置/ctp版本的目的

首先,服务器肯定不是最好的,最好的服务器应该就是把交易软件装在上期所的服务器上吧,然后就是虽然不是一台机器,但是同一个机房,走内网,再然后是啥啥啥的,还有说把程序写到FPGA上啥的

然后,不知为何,这个交易程序是Windows版本的,可能是当时提供给我们的服务器是win server系统吧...

总之,两个高频交易菜鸟在摸索折腾了一番之后,时间和金钱都耗不起(本工程生命期:17年7月 - 8月),这条路无果而终,然后目光转向了当时大爆发的比特币世界^-^

About

a simple system which use ctp API for future arbitrage trading

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published