当前位置: 首页 > news >正文

CTP开发爬坑指北(九)

CTP API开发中有很多需要注意的小细节,稍有不慎就会出问题,不然,轻则表现与预期不符,重则程序崩溃影响策略盈利。本系列将容易遇到的坑列出来,以供开发时参考,如有疑义之处,欢迎指正。

  在国内期货市场中, 可以使用上期技术(上海期货信息技术有限公司(Shanghai Futures Information Technology Co., Ltd.)(以下简称“上期技术”))提供的官方CTP API接口进行期货和期货期权合约的交易。这里讲述以下CTP行情中常见的一些问题, 希望能帮助到CTP API开发者们.

01

CTP行情中的Turnover成交额为啥会减少?

郑商所(CZCE)的Level1行情(即CTP使用的郑商所行情来源)中, 不推送当日成交金额, 因此CTP中郑商所的成交额Turnover, 是通过当日均价(AveragePrice)计算合成的近似值, 且会按价格最小变动价位(PriceTick)四舍五入。因此, 可能会发生新的快照中当日均价下降从而导致成交额反而比此前快照中成交额更低的情况。

郑商所的成交额 = 当日均价 × 成交量 × 合约乘数

例如下图中,菜粕RM409合约的当日均价从2751元下降到2750元(PriceTick为1.0),由于成交量Volume增加量不太多, 出现了后一个快照中的成交额比此前下降(从18203367下降到18199500)的情况。

当然, 郑商所的Level2行情中, 是包含成交额字段且是由交易所推送的, 它则是准确的. 而CTP使用的是郑商所Level1行情, 因此有成交额可能减少的情况。

郑商所

非郑商所的

其他交易所

当日成交金额 Turnover

Level1 中不推送

(CTP中 Turnover 是根据AveragePrice自行计算(注1)),

Level2中 推送.

推送
当日成交均价 AveragePrice

推送

(会四舍五入到最小变动价位)

不推送

(CTP中 AveragePrice是根据Turnover自行计算, 它要除以合约乘数, 才是真正的均价)

注1: CTP中, 由于郑商所Level1行情中,不推送成交金额,CTP会自行计算成交金额。对于普通行情前置front,CTP后台版本6.7.1之前: 成交金额=成交均价*成交数量;  后台版本6.7.1及之后: 成交金额=成交均价*成交数量*合约乘数。 对于组播行情前置mdfront,仍保持: 成交金额=成交均价*成交数量。(交易所官网公布的成交金额=成交均价*成交数量+合约乘数)

由上表可以看出, 其实CTP中的Turnover AveragePrice 的赋值逻辑有一些复杂, 不同交易所的赋值规则稍有区别, 甚至Turnover 是否已包含合约乘数在内还取决于CTP柜台后台版本. 建议用户在使用时多加留意.

02

 期货Level2行情比Level1多出了哪些内容?

Level2行情又称多档行情或收费行情,一般买卖档位会更多, 推送频率更高, 有一些交易所的Level2行情还包含总委托买/卖量等额外数据. 相较于免费的Level1行情而言, Level2行情一般是需要收费的.

虽然CTP中一般无法获取到Level2行情, 但投资者可以通过其他行情柜台获取到Level2行情. 下表中列出了Level2行情和Level1行情的比较:

期货交易所Level1/Level2行情
郑商所大商所/广期所中金所上期所能源中心
Level1Level2Level1Level2Level1Level2Level1Level2Level1Level2
行情发布间隔

250毫秒

 (注1)

250毫秒500毫秒250毫秒500毫秒500毫秒500毫秒500毫秒500毫秒250毫秒
交易所实时推送频率1秒4次1秒4次1秒2次1秒4次1秒2次1秒2次1秒2次1秒2次1秒2次1秒4次
基础行情数据合约编码、前收盘、前结算、持仓量、昨持仓量、当日开盘价、当日收盘价、当日最高价、当日最低价、最新价、结算价、当日均价、涨停板、跌停板、当日成交量、一档或五档深度委托行情(申买价、申卖价、申买量、申卖量)
买卖委托档位数一档五档一档五档一档五档一档五档一档五档
Level2的额外行情数据-委买总量、委卖总量、当日成交金额等数据-最佳买卖价位上前10笔分笔委托量、加权平均委买/卖价格、实时结算价、分价位成交量统计等数据-无额外数据-无额外数据-无额外数据
传输形式-TCP或UDP组播-TCP、UDP点播及组播-TCP或UDP组播-TCP或UDP组播-TCP或UDP组播

注1: CTP中郑商所的行情可以配置为4Tick/秒(即间隔为250毫秒)或2Tick/秒(即间隔为500毫秒),该配置在CTP的郑商所报盘ini配置文件里。

相关文章:

  • spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)
  • [蓝桥杯]花束搭配【算法赛】
  • Ubuntu从源码安装Webots
  • 网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
  • MySQL相关参数
  • 【C++多线程】thread
  • SDL3 游戏开发 Windows 环境搭建
  • 介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测
  • Matlab 矢量控制和SVPWM的感应电机控制
  • 算法——图论——关键活动
  • Blender插件NodeWrangler导入贴图报错解决方法
  • Docker生存手册:安装到服务一本通
  • Razor C# 变量
  • 数据结构(全)
  • 机器学习 [白板推导](二)[线性回归]
  • 第四章-PHP文件包含
  • JavaScript性能优化的12种方式
  • 【开原宝藏】30天学会CSS - DAY1 第一课
  • SOA(面向服务架构)与微服务架构的区别与联系
  • GreenKGC: A Lightweight Knowledge Graph Completion Method(论文笔记)
  • 珠海网站建设培训学校/品牌推广包括哪些内容
  • 建设国家标准官方网站/知名的网络推广
  • 上海英文网站建设/企业培训方案
  • 网络规划设计师和网络工程师/搜索引擎优化面对哪些困境
  • 企业网站管理系统c/网站数据查询
  • 网站建设仟首先金手指13/网站定制