{"repo":"keli/ctp-python","free":true,"listed":false,"github":"https://github.com/keli/ctp-python","clone":"git clone https://github.com/keli/ctp-python.git","description":"Python版CTP期货接口，支持Linux/Mac/Windows","language":"C","stars":122,"topics":["ctp","python","futures","china","finance","api"],"license":"BSD-2-Clause","category":"api-integrations-sdks","readme_excerpt":"Python版CTP期货接口 这套接口使用swig为官方C++版CTP接口提供Python版API，同时支持Linux/Mac/Windows。 注意事项 - 本项目出于个人兴趣及分享目的，与上期所CTP官方无任何关系。本人不对使用这套库的任何后果负责。 - 本人生产环境使用Linux，其他平台仅编译测试通过 - 已通过github workflow编译好发布至pypi - Linux已测试环境：Debian stable amd64 - Mac已测试环境：Mac OS 15.x（M1 Mac Mini，API版本6.6.9以上，Intel Mac未测试） - Windows已测试环境：Windows 11 64位（API版本6.6.9以上）+ MiniConda3 - api目录中结尾带 .c 的版本号为测评版 - CTP返回的GBK编码字符串已经全部自动转换为UTF-8 - 市场数据中的极大值代表无数据，为可读性起见打印整个结构体时会显示为None 快速安装 如果在Windows下推荐使用miniconda3环境 Windows下使用ctp前还需要安装libiconv 直接使用pip安装 - 只支持6.6.9以上的CTP版本，如需使用评测版本请自行编译 - 已编译的二进制版本支持Python3.7 - 3.13 - 已编译的二进制版本支持平台：Windows amd64，Linux amd64，MacOS arm64 和 amd64 - 其他版本请自行尝试编译（前提是有对应的CTP C++链接库），具体方法见下 测试 打开python shell，检查是否能正常import ctp 跑一下测试（以simnow服务器为例，需要在simnow网站注册用户） 自行编译 （可选） 编译环境准备 Windows 11 1. 安装编译环境 然后菜单栏搜索并打开Visual Studio Installer，修改Build Tools的配置，将使用C++的桌面开发勾选上并安装 2. 安装Python（以miniconda为例） 3. 安装swig命令，以及iconv库 可能需要关闭并重新打开命令行 Mac OS 1. 安装Xcode和命令行工具 在弹出的窗口确认 2. 安装Python（推荐使用pyenv） 3. 安装swig命令（以homebrew为例） Linux - 使用系统自带包管理器安装swig和gcc/g++编译器 - 推荐使用pyenv安装管理python版本 编译方法 1. 克隆代码到本地 2. 编译安装 或 3. 版本选择（可选） 目前默认使用的是6.7.7 版本。如果需要链接和使用其他版本，只需要在编译安装前，设置API VER环境变量为相应版本即可。 以6.6.9.c版为例: Linux/Mac(bash/zsh)： Windows： Linux下穿透式监管信息采集常见问题 - 到底需要不需要LinuxDataCollect.so? 自写CTP程序直连是不需要的，如果你不确定，那就是不需要 - 报错Decrypt handshake data failed CTP版本与服务器端不一致，首次跟期货公司采集的时候可能需要使用\"评测版本\"如6.6.9.c，后续生产环境请用\"生产版本\"如6.6.9 - 报错 dmidecode not found 通常默认都有装，加一下dmidecode命令的相关路径到PATH，一般是/usr/sbin - 报一堆 permission denied 给dmidecode加下权限 sudo chmod a+s","default_branch":null,"files":null,"tree":[],"storefront":"/r/keli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/keli/ctp-python/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}