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配置文件里。

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

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

相关文章

python_巨潮年报pdf下载

目录 前置: 步骤: step one: pip安装必要包,获取年报url列表 step two: 将查看url列表转换为pdf url step three: 多进程下载pdf 前置: 1 了解一些股票的基本面需要看历年年报,在巨潮一个个下载比较费时间&…

量化交易backtrader实践(五)_策略综合篇(3)_经典策略复盘

01_经典策略复盘 在某款股票软件手机版App上,有一项“复盘”的功能,这个功能很强大,它能把这支股票近1年的走势,用设置好的六个策略去回测,得到每个策略的近一年的收益率,并做了从最好到最差的排序。这就能…

蓝桥与力扣刷题(蓝桥 字符统计)

题目:给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字等串 S. 输出格式 若干个大写字母,代表答案。 样例输入 BABBACAC样…

protobuf安装

安装 github官方链接 https://github.com/protocolbuffers/protobuf/ 以protobuf21为例 https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip windows 解压好文件夹后,使用cmake,vs,qt creator等工具打开该项目,进行编译,编译需…

Compose 实践与探索八 —— LayoutModifier 解析

前面几节讲的 Modifier 都是起辅助作用的,比如 Modifier 的伴生对象、CombinedModifier、 ComposedModifier 以及几乎所有 Modifier 的父接口 Modifier.Element。本篇我们开始讲具有直接功效的 Modifier,分为几个大类:LayoutModifier、DrawMo…

stl之string的详解

一,string定义的方式 ,string定义了多种函数重载的方式,常用的构造函数如下: string(); string(const string& str); string(const string& str, size_t pos, size_t len npos); string(const char* s); string(const …

Leetcode-131.Palindrome Partitioning [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-131.Palindrome Partitioninghttps://leetcode.com/problems/palindrome-partitioning/description/131. 分割回文串 - 力扣(LeetCode)131. 分割回文串 - 给你一个字符串 s,请你…

InternVL:论文阅读 -- 多模态大模型(视觉语言模型)

更多内容:XiaoJ的知识星球 文章目录 InternVL: 扩展视觉基础模型与通用视觉语言任务对齐1.概述2.InternVL整体架构1)大型视觉编码器:InternViT-6B2)语言中间件:QLLaMA。3)训练策略(1&#xff09…

【AWS入门】AWS云计算简介

【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算?云计算能干什么?我们如何利用云计算?云计算如何实现? 带着一系列问题,我将做一个普通布道者,引领广…

二分算法刷题

1. 初识 总结:二分算法题的细节非常多,容易写出死循环。使用算法的条件不一定是数组有序,而是具有“二断性”;模板三种后面会讲。 朴素二分二分查找左端点二分查找右端点 2. 朴素二分 题目链接:704. 二分查找 - 力扣…

itsdangerous加解密源码分析|BUG汇总

这是我这两天的思考 早知道密码学的课就不旷那么多了 纯个人见解 如需转载,标记出处 目录 一、官网介绍 二、事例代码 源码分析: 加密函数dump源码使用的函数如下: 解密 ​编辑 ​编辑 关于签名: 为什么这个数字签名没有…

深度解析React Native底层核心架构

React Native 工作原理深度解析 一、核心架构:三层异构协作体系 React Native 的跨平台能力源于其独特的 JS层-Shadow层-Native层 架构设计,三者在不同线程中协同工作: JS层 运行于JavaScriptCore(iOS)或Hermes&…

前端内存优化实战指南:从内存泄漏到性能巅峰

前端内存优化实战指南:从内存泄漏到性能巅峰 一、内存问题引发的场景 1.1 典型内存灾难现场 // 经典内存泄漏示例 const zombieElements new Set();function createLeak() {const div document.createElement(div);zombieElements.add(div); // 元素永不释放div…

【工作记录】pytest使用总结

1、 fixture夹具 可参考: python3.x中 pytest之fixture - 漂泊的小虎 - 博客园 fixture是指夹具(把用例夹在中间),它包括前置工作和后置工作,前置是用例代码的准备阶段,后置是用例执行之后的清理阶段,用…

C++基础笔记

1. C关键字 这个不多说,以后接触得到,但这里做个总结: 2. 命名空间 一般类型: namespace Xianyu {// 命名空间中可以定义变量/函数/类型int rand 10;int Add(int left, int right){return left right;}struct Node{struct No…

生活中的可靠性小案例12:类肤材质老化发粘问题

我一直觉得我买的某品牌车载吸尘器很好用,用了几年,目前性能也是杠杠的。然而它现在有个最大的问题,就是表面发粘了,用起来粘手,非常不舒服。 这一类问题在生活中不少见,尤其是一些用了类肤材质涂层的物件。…

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…

Ollama+OpenWebUI本地部署大模型

OllamaOpenWebUI本地部署大模型 前言Ollama使用Ollama安装Ollama修改配置Ollama 拉取远程大模型Ollama 构建本地大模型Ollama 运行本地模型&#xff1a;命令行交互Api调用Web 端调用 总结 前言 Ollama是一个开源项目&#xff0c;用于在本地计算机上运行大型语言模型&#xff0…

【NeurIPS 2024】LLM-ESR:用大语言模型破解序列推荐的长尾难题

标题期刊年份关键词LLM-ESR: Large Language Models Enhancement for Long-tailed Sequential RecommendationNeurIPS2024Large Language Models, Sequential Recommendation, Long-tailed &#x1f4da;研究背景 在电商和社交媒体的世界里&#xff0c;序列推荐系统&#xff…

C语言_数据结构总结9:树的基础知识介绍

1. 树的基本术语 - 祖先&#xff1a;考虑结点K&#xff0c;从根A到结点K的唯一路径上的所有其它结点&#xff0c;称为结点K的祖先。 - 子孙&#xff1a;结点B是结点K的祖先&#xff0c;结点K是B的子孙。结点B的子孙包括&#xff1a;E,F,K,L。 - 双亲&#xff1a;路径上…