首页 > 编程知识 正文

初学编程入门,ctp交易系统

时间:2023-05-05 07:42:07 阅读:140927 作者:4018

前言:

笔者毕业后一直从事低延迟交易系统开发行业,这几年经历了不可思议的bug,接受了客户的培训,回答了客户奇怪的问题。 在这个过程中,自己的能力有了很大的提高,但有时遇到跳的河马问题时,感叹为什么没有教最简单的入门、降低程序交易门槛的系统性文章,于是产生了写一系列文章的初衷。

目前,国内期货程序化交易条件成熟,入门门槛较低。 证券程序化有逐渐放开的趋势,但现在似乎还有障碍。 因此,这一系列文章以期货程序化交易为例,以期望读者有基本的期货知识,Python语言基础

这一系列文章有:篇

如何通过共享程序入门知识的CTP API申报并获得行情; 如何计算资金、持仓、保证金、手续费如何从Tick数据中获取k线数据; 如何计算目前的手增仓,如何实现一些简单的策略。 因为我的经验有限,所以文章也不可避免地有各种各样的问题。 期待您一起讨论和指出。

一、柜台系统简介根据国内监管要求,客户不能直接连接交易所系统,中途必须经由期货公司(Broker )系统。 这就是柜台系统。

期货公司有多个柜台系统,从功能上可以分为主席和次席系统。 主席系统功能全面,支持存取款、延期结算等,注重高通量和高可靠性,一般客户通过主席系统交易。 例如CTP (comprehensivetransactionplatform,综合交易平台) )是前期子公司前期技术开发的主席系统。

副席系统一般仅用于下单和撤机,注重低延迟透射时间,一般为延迟要求高的大客户准备。 如闪策、CTPmini2等柜台。

柜台系统一般将API (applicationprogramminginterface,APP编程接口)提供给编程的客户访问计数器来使用。 CTP API是CTP系统提供的编程接口,可以直接下载到前期的技术官网上。

官网只提供了C版本的API,但C学习曲线陡峭,对很多初学者来说非常不友好,不适合入门。 我编译了本机CTP Python API。 本系列文章在本Python版API中介绍调试。 所有代码都是完全开源的。

Python版接口函数的用法和数据结构与C版完全一致,用法也相同,使用C的读者也可以按照方法直接使用C版API。

公众号后台回复"PyCTP"可以直接获得Python版本API、demo及使用说明下载链接。

二、程序化登录信息客户需要调用API访问柜台进行程序化交易时,登录时需具备一些基本信息:

1.BrokerID

期商代码是指该期货公司CTP系统上的代码,为4位。 例如海通期货是8000。 2.TradeFront,MarketFront

TradeFront是指CTP系统交易前的IP地址,客户用于连接订单撤销书等; 市场前端是指行情的前置IP地址,用于订阅收取行情。 3.investorid(userid,InvestUnitID ) )。

投资者代码是指其客户在CTP系统上的唯一身份,由期货公司开户后由期货公司分配获得。 UserID为操作码,InvestUnitID为投资单元码,普通投资者遇到要填写这两个值的人,直接填写InvestorID即可。 4.Password

开设账户时设定的密码。 需要注意的是,开设账户后才能登录CTP系统需要更改密码。 在期货公司官网下载快线客户端登录,更改密码即可。 5.AppID

客户的终端软件代码。 6 .自动编码

客户终端软件认证码。 以上1和2对期货公司同一系统的所有客户都是一样的。 开户时哪个期货公司用哪个期货公司的信息? 如果开户时没有得到,可以浏览期货公司的网页或咨询客户后得到。 也可以在后台回复“地址”,获得市场上主要期货公司的期商代码和前置地址。

5和6信息协助透明监管,如何获取请参考公众号文章《什么是穿透式监管,需要投资者做什么?》 3.2.1章节。

三、仿真模拟系统有两种,一种是期货公司提供的,这种后台基本是与对应交易所连接的测试环境,可以查询期货公司是否提供;

另一个是前期技术提供的产品simnow。 在这一系列文章中主要用simnow进行测试。 参照图1,Simnow模拟环境主要分为两个部分:

第一部分是CTP柜台系统,与生产环境相同。 客户可以直接使用官网下载的CTP API在simnow上进行测试,无缝接收期货公司的生产环境; 第二部分是模拟交易所系统,目前这是前期技术在前期系统的基础上自行开发的模拟交易所,而不是真正对应的五个交易所的测试环境。 要在simnow中模拟交易,还需要上面第2节中介绍的凭据。

1和2可以从simnow主页的产品和服务页面上获得。 这里有两个环境。 请注意以下服务时间。 第一套与实际生产同步,只在交易日的交易时段提供服务。

3和4可以从simnow主页的右上角注册账户,注册成功后可以通过邮件获得。

5和6在simnow中默认统一。 也就是说,APPID为simnow_client_test,授权码为00000000000(16个0 )。

提示:

1.

填写账号信息时,柜台选择选“标准CTP”。2.收到的短信中的账号密码即登录系统的InvestorID和Password,首次登录时需要修改密码,可以在simnow主页上点击修改密码。3.注册成功后将会得到100万模拟资金,如果资金亏完后可以去官网上入金。

simnow常见问题:

1.连接不上,没有反应
注意simnow提供了两套环境,服务时间在产品页面都已经写得很清楚。第一套与正式生产环境保持一致,一般来说是早8点开,下午4点停,晚上20:00开,凌晨2:30停。另外因为用户太多,有时前置会因为负载过大而宕机,可以换其他组IP测试,如果还是不行,那就只能联系上期技术客服了。2.simnow的行情哪里来
第一套正式环境行情是直接转发的生产行情,也就是说客户报单成交对simnow的行情没有影响。第二套7*24环境是不间断重播上一交易日的行情。3.支不支持市价单,套利单,部分成交等
因为simnow后台连接的是模拟交易所,功能待开发中。目前还不支持这些。4.其他
可以先参考页面http://www.simnow.com.cn/static/SimNowFAQ.action查看常见问题,如果找不到请咨询客服。
好了,有了API,及测试的地址账号密码等信息,就可以开启程序化交易之路了!

下节预告:
CTPAPI基本架构及初始化

关注公众号,一起学习程序化交易!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。