CTP程序化交易入门系列之四:行情订阅常见问题解答

前言

这一章总结了大家订阅行情最常问的一些问题的相关解答,希望能有帮助。如有不对的地方,欢迎指正。后期会在这里更新迭代,欢迎到这底下提问!

更新时间:20201112

1 获取行情的地址在哪里可以查到?

simnow发的即是实时行情,官网上可以看到该行情地址。

期货公司行情地址可咨询期货公司,或者到对应公司官网下载个快期,点击测速就可以看到。主要期货公司的行情地址可以在公众号(微信搜索:QuantRoad2019)后台回复 “地址” 得到。

多提一点,行情订阅不需要密码,但是ReqUserLogin还是要调用的,如下就可以:

CThostFtdcReqUserLoginField reqUserLogin = {0};
m_pUserMdApi->ReqUserLogin(&reqUserLogin, nRequestID++);

2 怎么知道有哪些合约正在交易(有行情)?

行情API里面很坑的一点是没有查询合约的功能。虽然二代行情里面加了ReqQryMulticastInstrument接口,但也仅是查询组播合约,需要咨询期货公司是否连接到相关交易所组播行情。所以有三种做法获取合约号:

1)通过交易API登录调用函数ReqQryInstrument查询;

2)爬交易所网站获得可交易合约;

3)交易所可交易合约有规则,例如上期白银为当前月开始的下个月的连续12个合约,当前为8月,那即是从ag1909到ag2008,找出这些规则生成合约编码即可。

3 API调用init后为啥没有任何反应?

和demo运行没有任何反应或者没有OnFrontConnected回调问题类似。

1)先检查网络链路是否畅通,可以telnet一下行情前置地址,是否通畅。

2)再检查API版本是否正确,连生产或者simnow现必须是6.3.15版本api,版本不正确将没有回调。

提醒:simnow正常地址是交易时间使用,7*24小时地址是非交易时段可以使用。

4 为什么登陆上了订阅显示成功但没有行情?/Simnow订阅期权合约没有行情?

首先确保是否订阅成功。CTP坑的是无论你订阅什么合约id,都会返回你"CTP:No Error",但只有你填对了合约编码才有相应行情。所以:

1)检查编码是否正确。这里坑的是各交易所对命名格式并不统一,

期货合约如下:前面字母代表品种名,后面数字代表合约到期日。

上期/能源所小写+4个数字(rb1909代表rb品种,19年9月份到期)
中金所大写+4个数字
郑商所大写+3个数字(TA001代表TA品种,20年01月份到期)
大商所小写+4个数字

期权合约如下:标的期货合约+看涨/看跌+行权价

上期所小写+四个数字+C(或者P)+行权价,如cu1912C43000
大商所小写+四个数字+ -C-(或者-P-)+ 行权价,如c2001-C-1800
郑商所大写+三个数字+C(或者P)+行权价,如CF001C11200
中金所大写+四个数字+ -C-(或者-P-)+ 行权价,如IO1908-C-2100

组合合约如下:

郑商所跨期

SPD 第一腿&第二腿 例如: SPD TA009&TA011

郑商所跨品种

IPS 第一腿&第二腿 例如: IPS CF009&CY009

大商所跨期

SP 第一腿&第二腿 例如: SP m2009&m2101

大商所跨品种

SPC 第一腿&第二腿 例如: SPC a2009&m2009

2)检查你订阅的行情是否过期。如果现在是19年8月份,那你订阅的是rb1905这种5月份到期的合约那肯定是没有行情的。

3)检查是否订阅的合约是冷门合约,冷门合约行情跳动比较少。可以打开相应客户端看下,找主力合约订阅。

4)目前Simnow不支持期权及组合报单,也没有相关行情。想要获取请参照1直接从生产上获取。

5 CTP提供的是实时tick数据吗?

CTP提供的是实时tick数据,但不是真正的tick数据。tick数据一般是指市场上的逐笔数据,例如一笔委托会产生一笔行情,一笔成交也会产生一笔行情。目前国内期货交易所还不支持推送这种逐笔的数据,只推送切片(快照)数据。切片数据是指将一定时间内的逐笔数据统一成一个快照发出,一般是1秒2笔。但郑商所有点特殊,可能是1s多笔,就不展开来讲了。

6 TradingDay和ActionDay有什么区别?

在CTP的设计里,TradingDay用来表示交易日,ActionDay表示当前实际日期。期货交易分为日夜盘,这两个日期在日盘的时候是一致的,但在夜盘就有了区别,是因为当天夜盘是属于第二天这个交易日。例如20190830(周五)晚上21点开始交易,交易日TradingDay是20190902(周一),但实际日期ActionDay是20190830。

这是设计的初衷,但事实上夜盘各交易所这两个日期很混乱。我们以20190830晚上夜盘交易举例:

 tradingday actionday
上期/能源2019090220190830
大商所2019090220190902
郑商所2019083020190830

总结就是,大商所夜盘两个日期都是tradingday,郑商所日夜盘都是当天日期。

7 可以通过CTP API获得K线,现手等数据吗?

没法直接获得k线数据,需要根据ctp推送的行情数据自己合成。如何合成,参考上篇文章。同样无法获得现手增仓等数据,需要自己计算,后面会讲。

8 CTP支持股票/股票期权行情么?

一般提及CTP是指CTP期货柜台,只提供国内五大期货交易所期货行情。但CTP也有股票及股票期权柜台,这些柜台是与期货柜台独立的。也就是说,期货,股票,股票期权在上期技术是三套系统。目前股票系统已经停止维护了,股票期权系统仍然有维护,客户不多,具体哪些期货公司上线了这套系统,需要自行咨询上期技术或者期货公司。

9 可以通过CTP API获得历史行情吗?

不可以,CTP只提供实时行情。获取历史行情,目前免费的可以从天勤获取,仅提供所有期货合约。收费的可以和作者联系沟通(联系方式见置顶文章),提供国内股票,期货及美国股票及期货相关所有历史数据。

10 CTP提供level2行情吗?

level2行情是指深度行情,不同于level1只有1档,level2有多档。但除上期和能源外,一般交易所多档行情是收费行情,所以深度行情需要咨询相应期货公司。

目前上期和能源的level2行情对期货公司是免费的,但各个期货公司用哪家系统转发,要不要收费就要看他们自己了。所以最好去咨询期货公司,可以多咨询几家。至于在有些客户端上为啥能看到五档行情,因为那些客户端是接了自己公司的行情服务器,不一定是连CTP收的。

11 非交易时段收到行情是怎么回事?

日盘盘前可能会收到行情,是因为CTP日盘起动时会重演夜盘的流水,所以有可能会将夜盘的行情再推送一遍。日盘结束后也会收到行情,这是交易所结算完成发出的行情,这里面的结算价字段是当日结算价,一般推送时间在3点~3点半。建议按照交易时间过滤掉这些非盘中行情,以免影响交易逻辑。

12 组合合约行情如何获得?

CTP是不会去计算组合合约的行情的,只是转发交易所行情,所以要看交易所推不推。事实上直接以组合合约号订阅行情的话,郑商所和大商所都会推,但比实际情况下少不少。所以建议订阅各个单腿合约的行情,计算价差自己得到组合行情。

13 如何获取当前切片内的成交量?

Volume字段是累计成交量,这里是指这个交易日内的累计成交量。如需要这个切片内的成交量,需要用这个切片的该字段值,减去上个切片相应值,差额即是这个切片内成交量。

14 UpdateMillisec毫秒时间戳字段有效吗?

上期/能源/中金三个交易所会出现0和500两种值,大商所值是切片时真实毫秒时间,郑州该值都是0。

15 为什么有的字段值特别大?

行情中常看到有数值是1.7976931348623157e+308,这是double类型的上限值,在CTP内部是表示无效的。例如盘中的时候,本次结算价字段SettlementPrice即为无效值。

16 行情均价AveragePrice字段有什么坑?

AveragePrice这个字段除郑商所可以直接拿过来用之外,其它四大交易所要除以合约乘数,才是真正的均价。至于合约乘数是什么百度吧,可以通过用交易API查询合约获得,或者去交易所网站上查询获得。

17 CTP上可以查到什么是主力合约吗?

查不到,自己根据持仓量和成交量筛选,注意换月时逻辑。

18 行情里面的Exchange ID字段为空?

是的,发过来就是空值,需要自己维护,可以从交易接口查询合约ReqQryInstrument得到。

19 行情中UpdateTime和UpdateMillisec字段不是每500毫秒一次连续的,是缺数据吗?

首先,不连续不代表就是缺失数据,行情如果没有更新就不会回调OnRtnDepthMarketData函数,这个时间自然不是连续的。其次,通常来说,在simnow同时在线用户多,卡顿的情况下有可能缺失数据,但是在生产上不大可能。请参考第1问,不能说的更直接了,能连生产数据为啥还要连simnow呢?不过也不排除生产上会丢数据,不放心的话可以同时接入几路生产地址互相比对。

20 期货合约是每500ms都推送行情吗?为何同一时期主力和非主力合约一个交易日tick数量相差巨大?

以下图2020年11月份rb为例,主力rb2101和非主力rb2105的tick数量两个交易日相差将近8000个。这其实和19问相似,因为CTP只有行情有更新时才推送,否则不推送,所以主力合约会多不少。行情更新是指行情回调接口中相关字段有所变化。

往期推荐

● CTP程序化交易入门系列之一:准备

● CTP程序化交易入门系列之二:API基本架构及初始化

● CTP程序化交易入门系列之三:获取实时行情及K线合成

 

下节预告:

交易所行情知多少?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43161.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优质的客户期货开户交易所返还高

优质的客户交易所返还高 期货公司排名 期货公司的资质:除了平台安全性外。期货业协会、证监会有关部门、中国期货市场监控中心等组成的评审委员会会以期货公司风险管理能力为基础,结合公司服务实体经济能力、市场竞争力、持续合规状况,每年对期货公司进…

您应该知道的重要外汇交易术语!

如果您曾经以新人的身份参加过商务会议或研讨会,您就会知道聆听看似陌生的讨论是什么感觉。过道两边的人使用术语、首字母缩略词和缩写来指代您对他们知之甚少或一无所知的人和事件。 这是一个令人尴尬的位置,但你不能让它变得更好。不要让您缺乏对外汇交…

对GPT的一些思考观点

站在个人角度,对于GPT是否意味着革命机会我觉得需要做一些更具体的尝试才行。上次看老板在群里分享了一张图片,大意是说GPT意味着如下几个机会:生产工具(写代码,生成内容、生成报告)、对话引擎(…

php基于宝塔环境搭建部署企业微信会话存档服务

基于宝塔环境-安装企业维护会话扩展 WxworkFinanceSdk 环境要求:php-cli 版本 >7.4 先看文档,看完后不清楚的可以微信 vx:q576313851 php,java,go 版本的企业微信会话都做过。上家公司是企业微信服务商,也可以协助购买会话存档服务-优惠 …

ps 蒙版抠图更换背景色或背景图片

参考文章:复杂背景下ps如何快速抠图换背景?蒙版快速抠图 打开图片,点选“快速蒙版工具”在这里插入图片描述。在这里最好先复制一个原始图层隐藏,以备不时之需。 选择“画笔工具”,实心的画笔画里边; 虚边…

抠图换背景用什么软件好?快把这些软件收好

在数字时代,抠图换背景已经成为了广泛使用的一种技术。随着摄影技术的不断提升和人们对图片的要求不断提高,很多人开始使用抠图换背景来让自己的图片更加美观、生动。抠图换背景是一种将图片中的主体与背景分离的技术,它可以让人们轻松地将一…

一键抠图怎么弄?图片怎样变透明色背景?

通常在抠图的时候我们都是用ps来处理,但很多小伙伴都不会使用ps,用压缩图的在线抠图工具(抠图 免费AI抠图 一键在线抠图工具-压缩图)来一键抠图就很简单了,快来看看是怎么把图片背景变透明的吧! 1、使用浏…

图片如何抠图换背景?怎样将图片抠成透明底图片?

如果想让图片背景透明化,大家可以通过抠图(https://www.yasuotu.com/koutu)方法来进行操作。现在网上有很多抠图换背景的工具,操作复杂还需要下载,非常耽误大家的时间。今天可以使用小编分享给大家的在线智能抠图工具&…

PS图片背景透明(抠图)

适用于简单的边界明显的图片,使用版本PS2022。 1、图片准备 2、套索工具圈住要扣的对象 3、ctrlj 将套索出的对象复制为新图层 4、打开通道,选择对比对最大的通道,并右键该通道,复制出一个新通道。 5、点击此通道按下ctrlL&#…

利用Python轻松实现抠图,背景色更换

只需要3行代码,5秒实现高精度抠图 介绍一款工具remove.bg,通过调用此工具的API实现,API获取方式很简单,注册这个工具账号,就可以免费获得了 话不多说,老规矩,直接上代码: import os from rem…

超强实时人像抠图算法开源,随心所欲背景替换!

谈到人像抠图想必大家都不陌生。在影视剪辑、直播娱乐、线上教学、视频会议等场景中都有人像分割的身影,它可以帮助用户实时、精准地将人物和背景精准识别出来,实现更精细化的人物美颜、背景虚化替换、弹幕穿人等,进一步提升视觉应用体验。 人…

大家都在用的抠图换背景软件,这些软件你知道几个?

最近跟朋友们出去游玩,拍摄了一些具有纪念意义的照片。但是当我回来挑选照片,准备分享到社交平台的时候,发现有一些照片人像好看,但是背景有点模糊,有的拍不出当时天空的美。难道只能丢弃这些照片了吗?其实…

物品抠图怎么更换背景?快来get这个方法

物品抠图怎么更换背景?相信从事图片编辑,新媒体文案的小伙伴经常会使用到抠图吧。有些图片想要保留物品更换背景的话就需要进行抠图操作,如果手动抠图的话很容易在细节上处理不当,物品的边缘不好把握,抠出来会显得不自…

怎样抠图怎么把背景换成白色?几个步骤教你轻松掌握

有时候我们一些照片背景色比较杂乱需要想要换成纯色,或者一些证件照需要更换白色底该怎么操作呢?相信一些制作简历,或者从事电商图片制作的小伙伴可能都遇到过这种问题,但是很多在线处理的小网页也不敢上传图片怕会泄漏出去&#…

人物抠图换背景怎么做?教你几种抠图方法轻松抠出人物

怎么把图片中的人像抠出来换背景呢?在现代社会,照片已经成为人们生活的常见元素,而照片的后期处理也越来越受到人们的关注。当人们拍摄一张照片时,常常会想要将人像从背景中抠出来,以便更好地突出主题。此时&#xff0…

如何抠图人像换背景?教你一个在线操作的方法

如何抠图人像换背景?抠图是图像处理中常见的一种技术操作,是将一张图片的一部分截取出来作为单独的图层与另外的背景信息进行设计合成。一张没有背景的图片我们可以通过反复用到各种不同场景中,现在电脑上有很多抠图工具,可以充分…

抠图,扣掉背景图片

Remove Image Backgrounds, Free HD, No Signup - Pixian.AI https://pixian.ai/ 从电脑本地选取图片,然后会自动扣掉背景,点击DOWNLOAD就可以了 第一个:Pixian.AI 这是一款国外的在线抠图网站,把需要扣除背景的图片拖拽进来&am…

GPT+金融:和产学研专家碰撞AIGC在金融行业的无限可能

前言 ChatGPT的出现引发了大众对大模型的关注和探索,它展现的强大能力,让其成为近几年最受关注的科技热点。站在金融行业的角度,我们尝试从宏观趋势出发,理解LLM在金融行业为什么会获得高关注度?它在金融行业应该如何…

外包公司“混”了2年,只因我认真做了5件事,如今顺利拿到Vivo Offer

最近有一些读者私信我,说工作贼难找,能不能先去一个软件外包公司先苟着,之后的事情等行情好些了再说。 去外包公司当然没什么不可以,成年人能基于实际做出判断和选择,并承受相应的结果就行。 环境会改变一个人&#…

贾扬清从阿里毕业了!

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来前有QQ空间技术负责人毕业,现在更高级别的技术人贾扬清从阿里毕业了! 贾扬清在朋友圈发文,表示将正式辞任阿里技术副总裁等一系列职位。 贾扬清是谁? 最开始认识大家…