在海洋潜水一段时间了,开始实际行动。打算做一个期货自动交易系统,主要目的是先验证一些自己的想法,尽量节省开发时间,但又留下以后完善系统的空间。请大家指点是否有不合理的地方或更好的方案。 1. 用KDB接CTP C++的行情,按KDB基本思路分成历史DB和日内DB。 KDB在公司天天用,不过不知道license要多少钱,估计付不起。不知有没有破解版。不过他的32位测试版可以连续用4小时。应该可以在中午停盘的时候重起一下。 2. 实时交易策略/信号通过KDB和Python实现,简单的时间序列计算KDB可以完成,复杂的就不会要求速度,可以用Python计算完写入KDB. (R也可以)。由日内KDB触发交易指令。 3. 交易指令触发下单C++系统, 连接CTP C++接口。仓位回KDB. 4. 之所以这样设计,主要用意在于backtesting系统直接用Python+KDB就好了,Python有不错的package如numpy, pandas, statsmodel. KDB可以实现tick replay, simulation,当然还有基础DB功能。 5. 简单的连接KDB的GUI,比如参数设置, 仓位和下单状态监测。 另:请问CTP延迟问题严重吗?有没有数据。各个券商有区别吗?有没有专用接口?大概所少钱? 多谢多谢~
具体策略想做套利单,做市单,对下单系统确实要求高频级别。现成平台大部分都看过了,延迟还没测试过,主要问题在于1)好像下单管理都是为做趋势策略写的 2)回测平台过于简陋 虽然不情愿但是自己写灵活度很高。懂的大侠们给点建议吧。能给点CTP延迟数据(co-location vs not)就很帮助了。
我不是托管的,10兆企业光纤,ping到券商大概10ms,在上期下单round trip大概15~20ms左右,但是我接收到的CTP报价延迟是个双峰分布(最低值10ms左右),就是两个方差差不多,但是均值不同的正态分布的叠加。大概是平均延迟一个要几百毫秒,另一个好像是1秒左右,具体数据及不清楚了。我也不清楚为什么会产生这种结果,我觉得应该不是线路延迟的问题,我的软件整体延迟在1ms以下。
我也不清楚,毕竟不太懂网络方面的问题。如果CTP系统有延迟的话我想对所有使用CTP的用户应该是一样的吧。但是如果使用其他技术可能接收到的数据延迟就不同了。目前除了CTP还有什么其他的解决方案吗? 如果真的是CTP的问题,那我想延迟那么大,托管可能也没什么太大帮助。我测试过一些简单的套利策略,单子一个也抢不到。 我研究了一下,貌似只有会员才能直连交易所?那么我们散户岂不是没有机会了。
我找了一下,当初的数据还在,不是正态分布我记错了呵呵 上海期货交易所cu,ru有点像指数分布和两、三个正态分布的叠加,第一个峰的均值250ms左右,第二个600ms左右,整体数据大概500ms左右。其他地方的交易所分布就不同了,比如大豆(a)是一个正态分布。 我不知道如何发图啊。。。 我仔细想了一下,也有可能是我的券商的服务器太烂了?毕竟我是连接到他们服务器接收数据和发送订单的。于是他的服务器的响应一会高一会低,可能吗?最好有其他人的数据对比一下,我的是申银万国期货。 PS。我ping到券商的数据服务器(UDP)是4ms,之前记错了
1.高频套利:有很多有实力的机构通过席位直连交易所在做高频套利,你不管通过哪家券商的CTP,总之你是间接进入交易所的,没啥速度上的优势去抢单。 2.CTP:如果通过CTP,你的主机要放在券商CTP前置机附近,而不是交易所主机附近,最好连接到主席地址,这样才有速度优势。 3.系统设计:既然用C++在搭建,还用什么KDB呀
To f77, 多谢回复。很有帮助。答复您的三点 1. 我对国内一直不太了解。也一直想有没有办法直接连到交易所。资金量不成问题,但以前一些朋友给的答案是所有机构都要接ctp. 看来不是这样?交易所席位有什么条件吗? 2. 了解,多谢 3. 用Kdb的原因有几个。第一是初期测试想法的时侯可以省去开发c++ analytics的时间。kdb完全可以写出80%的strategy. 后期如果太复杂的model可以用python来写。因为这些估计也不太需要respond to tick. 第二,后期可以直接用kdb做backtesting. 这样production和testing不用写两遍
Keke, 多谢,主要是我有没有团队。自己写一个完善的system还是很花时间的。所以能节省时间的地方就尽量节省。验证了想法再搞复杂的东西。 python做prototyping/research真的很好用。fast (not even high frequency) trading不太行。
交易所席位好像是要期货公司才能申请,注册资金1亿以上,连续3年盈利等等要求。你可以网上查一下。所以对我们来说直连不太可能。我估计最快也就CTP了。 并不是所有的期货公司都使用CTP,但CTP自称80%的客户使用它的系统。主要是期货公司不用开发自己的系统了。 你是做美国市场的吗?