CTP接口的Python封装

这套封装是本人在生产环境使用的,支持穿透式监管。自己封装的主要原因是其他作者经常弃坑,虽然封装得更好吧,但是动不动就不更新了。

考虑到一般在ctp之上还会有应用层的封装,也没必要做得太讲究,尽可能跟C++版保持一致,容易跟上新版本就好。

用前请仔细阅读文档。本人不对使用这套库的任何后果负责。

安装说明

克隆代码到本地

git@github.com:keli/ctp-python.git

cd ctp-python

安装

python setup.py install

目前默认使用的是6.3.15版本。如果需要链接和使用6.3.13版,需要加一点步骤:

修改setup.py中的API_VER的值为'6.3.13'

用swig重新生成一下源码

cd ctp-python

swig -python -py3 -c++ -threads -I./api/6.3.13 -o ctp_wrap.cpp ctp.i

python setup.py install

跑一下测试

pytest -s tests/test_trader.py --front=tcp://180.168.146.187:13030 --broker= --user= --password= --app= --auth=

其他事项

本项目中CTP返回的GBK编码字符串已经全部自动转换为UTF-8

市场数据中的极大值代表无数据,为可读性起见打印整个结构体时会显示为None

目前只支持了Python 3,测试环境Linux

simnow已经启用6.3.15版本

常见问题

为什么报UTF-8和GBK的转码错误?

这个是内存管理的问题而不是转码的问题,ctp库会释放掉它传给你的回调函数的内容,当你打印的时候这块内存已经free掉了,所以就报转码失败了。这个最理想的处理是改swig定义来自动把相应的结构体内容拷到python,但是我还没太搞清楚怎么在swig中做这件事。我自己的代码里面需要缓存起来的ctp结构只有很少的几处,所以直接在用户代码中手动转成自己定义的python数据类型了。

有用的参考链接

python ctp接口_GitHub - keli/ctp-python: 穿透式监管版本CTP接口的Python封装相关推荐

  1. VirtualApi (ctp回测神器穿透式监管版本)Ver2.4发布

    http://www.virtualapi.cn 2019年6月14日开始实行穿透式监管了, CTP也升级了版本,本次VirtualApi的更新就是增加了对CTP穿透式新版本的支持. Ver2.4 提 ...

  2. PHP链接ctp接口,CTP接口穿透式监管升级后对外接入地址变更,适用SIMNOW 模拟账户...

    关于SIMNOW老账户穿透式监管接入授权码和APPID 下周SIMNOW升级到看穿式后,老账户统一APPID为simnow_client_test,认证码为0000000000000000(16个0) ...

  3. CTP穿透式监管怎么实现代码, 穿透测试API

    做量化交易的朋友都支持,2019年6月要开始实行穿透式监管了, 老的代码可能不再能够接入,那么如何将老的CTP程序实现升级到穿透式监管呢?本文就讲一下修改的方法. (1)先替换为最新的CTP api ...

  4. 期货穿透式监管实质(期货看穿式监管)

    期货量化交易编程怎么弄 1.CTP,从程序化接入CTP同时支持四大交易所,并且性能优越. 2.穿透式监管,所谓穿透式监管是对比之前的非穿透式监管,所有的接口都要采用新的标准,即官方公布的穿透式监管AP ...

  5. ubuntu期货穿透式监管相关信息查看

    经期货市场监控中心反馈,您在我司报备使用的第三方外部交易终端软件在生产环境中不满足看穿式监管要求.无法采集到您的私网IP1. 或 但是无法采集到您的硬盘序列号等其他序列号信息. 如何定位问题呢? 提供 ...

  6. 关于地方金融机构穿透式监管的几个观点

    (1)分业式机构监管仍然是主线,但互联互通的金融混业大创新对传统监管模式提出了严峻挑衅,所谓的穿透式功能监管.行为监管和资本监管理念应运而生. (2)穿透式监管,个人的浅薄理解就是矩阵式立方体监管模式 ...

  7. “后文华时代”,Defi能否实现“另类穿透式监管”?

    01 文华财经为何被"围剿"? 1月10日,中信.永安.华泰.海通.南华.广发.招商期货等20多家国内头部期货公司纷纷发布公告,宣布将于1月17-20日暂停文华财经的交易接入,密集 ...

  8. 量化交易期货ctp使用说明(企业版,穿透式监管)(值得收藏)

    1.代码说明 本文章中的期货ctp代码来自分布式高频量化交易系统 联系作者,获取源码:高频量化交易系统的学习交流群 - 简书 (jianshu.com) 2.期货ctp介绍, 2.1 期货账户 要连接 ...

  9. 什么是穿透式监管,需要投资者做什么?

    一. 背景 详细背景可以参考证监会<关于进一步加强期货经营机构客户交易终端信息采集有关事项的公告>及期货市场监控中心<期货公司客户交易终端信息采集及接入认证技术规范>这两篇公告 ...

  10. 转:彻底搞定期货穿透式CTP API接入

    中信期货看穿式监管认证操作指南(CTP系统) https://www.citicsf.com/static/download/soft/%E4%B8%AD%E4%BF%A1%E6%9C%9F%E8%B ...

最新文章

  1. NHibernate学习手记(3) - NH的配置信息
  2. 新手用python2还是3-新手用python2还是3
  3. Jmeter-逻辑控制器
  4. kali-linux下搭建DVWA环境
  5. Linux运维工程师面试题第三套
  6. word公式插件_如何快速输入复杂的数学公式?这里有 3 个实用技巧
  7. springboot和springcloud的基本概念理解
  8. MySQL-快速入门(11)用户管理
  9. 大学英语综合教程三 Unit 3 课文内容英译中 中英翻译
  10. 【Python】调用WPS V9 API,实现PPT转PDF
  11. C#最简单的NetMeeting
  12. 考研计算机320分什么水平,考研320分算什么水平,能上211、985吗?很多人都答不上...
  13. 斑马打印机怎么设置标签纸
  14. ue4 从小到大_UE4 Pak 相关知识总结
  15. javaweb基于JSP开发辛馨墙衣壁纸企业官网宣传网站系统+全套文档+PPT 毕业设计 课程设计 大作业源码
  16. Navicat查看数据库密码
  17. Java开发专业通过swot分析岗位_南昌招聘 | 江西江中食疗科技公司9大岗位招聘(月薪6000+、五险一金等福利)...
  18. arcgis表转excel一直失败_Excel表转换为shp格式时属性值丢失问题
  19. 【串口通信】K210与STM32串口通信、K210与OpenMV串口通信
  20. 计算机二级试题操作题图文讲解,全国计算机二级office考试操作题

热门文章

  1. Android应用开发之统计App时长
  2. 根据坐标采色修改背景
  3. Java Web 学生选课管理系统
  4. 解决mysql客户端中文显示乱码
  5. 网页点击按钮返回顶部代码
  6. java 对错代厔_如何获得汉字拼音的首字母序列
  7. Python运维开发工程师养成记
  8. [20190816]12c执行exec SYS.PRVT_ADVISOR.DELETE_EXPIRED_TASKS()报错.txt
  9. android 百度 tts,百度语音TTS. android 启动时闪退
  10. kodi pvr 不能安装_Kodi看电视直播教程 安装PVR IPTV Simple Client播放m3u8直播源