CTP交易系统,ctp交易开发
前言:
作者毕业后一直从事低延迟交易系统开发行业。近年来,她经历了令人难以置信的bug,接受了客户培训,回答了客户的奇怪问题。在这个过程中,我的能力得到了很大的提升,但是有时候遇到跳河马的问题,我就感叹为什么没有系统的文章来教最简单的入门,降低程序交易的门槛,于是就有了写系列文章的初衷。
目前国内期货程序化交易条件成熟,准入门槛低。证券程序有逐步自由化的趋势,但似乎仍有障碍。所以本系列文章以期货程序化交易为例,期望读者有基本的期货知识,Python语言基础
这一系列文章包括:文章
如何通过分享程序介绍知识的CTP API申报并获取报价;如何计算资金、仓位、保证金和手续费,如何从分笔成交点数据中获取k线数据;如何计算当前的手增益,如何实施一些简单的策略。由于我的经验有限,文章不可避免地存在各种问题。期待大家的讨论和指出。
一、柜台系统介绍根据国内监管要求,客户不能直接接入交易所系统,必须中途通过期货公司(券商)系统。这是柜台系统。
期货公司有多个柜台系统,可分为董事长和副座系统。董事长系统功能全面,支持存取款、延期结算等。并注重高吞吐量和高可靠性。一般客户通过主席系统进行交易。比如CTP(综合交易平台)就是早期子公司早期技术开发的董事长制。
助理坐席系统一般只用于下单和退机,注重低延迟传输时间,一般为延迟要求高的大客户准备。如闪存策略、CTPmini2等计数器。
通常,柜台系统提供API(应用编程接口)给编程的客户访问柜台使用。CTP API是CTP系统提供的编程接口,可以直接下载到之前的技术官网。
官网只提供了C版的API,但是C学习曲线比较陡峭,对于很多初学者来说非常不友好,不适合入门。我编译了原生CTP Python API。本系列文章介绍了Python API中的调试。所有代码都是完全开源的。
Python接口函数的用法和数据结构与C版完全相同,使用C版的读者也可以按照方法直接使用C版API。
公众号后台回复"PyCTP"可以直接获得Python版本API、demo及使用说明下载链接。
二。程序化登录信息当客户需要调用API访问柜台进行程序化交易时,登录时需要具备一些基本信息:
1.经纪商编号
商代码是指期货公司CTP系统上的代码,有4位数字。比如海通期货是8000。2.贸易前沿,市场前沿
TradeFront是指交易前CTP系统的IP地址,客户用来连接订单取消等。市场前端是指报价的前置IP地址,用于订阅和收集报价。3.investorid(userid,InvestUnitID).
投资者代码是指其客户在CTP系统上的唯一身份,由期货公司在开户后获取。UserID是操作代码,InvestUnitID是投资单位代码。普通投资者遇到要填写这两个值的人,可以直接填写InvestorID。4.密码
开户时设置的密码。需要注意的是,开户后需要修改密码才能登录CTP系统。在官网,某期货公司下载快递客户端,登录,修改密码。5.应用编号
客户终端软件代码。6.自动编码
客户端软件身份验证代码。以上1和2对于期货公司同一系统的所有客户都是一样的。哪家期货公司开户用的是哪家期货公司的资料?如果开户时没有拿到,可以通过浏览期货公司网站或者咨询客户来获取。也可以后台回复“地址”获取市场上各大期货公司的期货代码和前台地址。
5和6信息协助透明监督。请参考微信官方账号Art第3.2.1节
另一个是之前科技提供的产品simnow。在这一系列文章中,simnow主要用于测试。参见图1,Simnow仿真环境主要分为两部分:
第一部分是CTP计数器系统,与生产环境相同。客户可以直接使用官网下载的CTP API在simnow上测试,无缝接收期货公司的生产环境;第二部分是模拟交换系统。目前这是之前的技术在之前的系统基础上开发的模拟交换机,而不是真正与之对应的五个交换机的测试环境。为了在simnow中模拟交易,您还需要上面第2节中描述的凭证。
1和2可从simnow主页的产品和服务页面获得。这里有两种环境。请注意以下服务时间。第一套与实际生产同步,仅在交易日交易时间内提供服务。
3和4可以从simnow首页右上角注册账号,注册成功后可以通过邮件获取。
在simnow中,默认情况下5和6是统一的。即APPID为simnow_client_test,授权码为000000000 (16个零)。
提示:
1.
填写账户信息时,柜台选择“标准CTP”。2.收到的短信中的账户密码是登录系统的投资者ID和密码。首次登录时,您需要更改密码。您可以在simnow主页上点击更改密码。3.注册成功后,将获得100万模拟资金。如果资金丢失,可以去官网进行存款。simnow常见问题:
1.无法连接,无响应
注意,simnow提供了两种环境,服务时间已经明确写在产品页面上了。第一组与正式的生产环境一致。一般来说,早上8点开始,下午4点停止,晚上20点开始,凌晨2点半停止。另外,因为用户太多,有时候前端会因为负载过大而宕机,可以换成其他组的IP测试。如果还是不行,只能联系上一个技术客服。2.2.simnow的市场从哪里来?
第一套正式的环保报价是直转生产报价,也就是说客户的申报和交易对simnow的报价没有影响。第二套7*24的环境,就是连续重播前一个交易日的行情。3.支持市价单、套利单、部分交易等吗?
因为simnow在后台连接的是模拟交换机,所以功能需要开发。目前不支持这些功能。4.其他的
请参考http://www.simnow.com.cn/static/SimNowFAQ.action页面查看常见问题。如果找不到,请咨询客服。
好了,有了API,以及测试过的地址、账号、密码等信息,就可以开启程序化交易的方式了!下一节通知:
CTPAPI的基本架构和初始化
关注微信官方账号,一起学习程序化交易!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。