openctp-ctpopt是由 openctp 使用Swig技术制作的CTP股票期权Python版接口。
简化了对接CTP股票期权API的过程,节省精力,快速上手 🚀
CTPAPI(C++) | openctp-ctpopt(python) | win x86 | win x64 | linux x64 |
---|---|---|---|---|
3.7.0 | 3.7.0.* | ✔️ | ✔️ | ✔️ |
3.6.7 | 3.6.7.* | ✔️ | ✔️ | ✔️ |
3.6.3 | 3.6.3.* | ✔️ | ✔️ | ✔️ |
3.5.8 | 3.5.8.* | ✔️ | ✔️ | ✔️ |
提供了两种安装方式: pip install安装、手动下载安装。
选择一个版本,如 3.7.0
pip install openctp-ctpopt==3.7.0.* -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host=pypi.tuna.tsinghua.edu.cn
引用方法:
from openctp_ctpopt import tdapi, mdapi
手动下载指定版本的动态库文件,并配置库路径。
-
Windows
因为 windows 下,不同的 python 版本编译的动态库之间不可共用,所以不同的 python 版本需要下载指定版本对应的动态库。
如: 3.7.0-x64, python 3.10
从目录
3.7.0/win64
和3.7.0/win64/py310
下载库文件将下载的文件放在本地同一个目录下
# 下载文件 _thosttraderapi.pyd _thostmduserapi.pyd thosttraderapi.py thostmduserapi.py soptthosttraderapi_se.dll soptthostmduserapi_se.dll
-
Linux
选择一个期权ctpapi版本,如: 3.7.0从目录
3.7.0/linux64
下载所有的文件将下载的文件放在同一目录下
_thosttraderapi.so _thostmduserapi.so thosttraderapi.py thostmduserapi.py libsoptthosttraderapi_se.so libsoptthostmduserapi_se.so
将文件所在路径配置库路径(specify_path填写自己的路径)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<specify_path>
参考 td_demo.py / md_demo.py
通过pip安装的可以直接使用代码示例;手动安装配置的,需要修改一下引入方式, 是import thosttraderapi
而不是import openctp_ctpopt
在高级编辑器或IDE中,可以方便的查看接口说明及各字段含义。如下(Pycharm)
. .Linux下安装后,需要安装中文字符集,否则导入时报错:
>>> import openctp_ctpopt
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Aborted
需要安装 GB18030
字符集,这里提供 ubuntu/debian/centos 的方案:
# Ubuntu (20.04)
sudo apt-get install -y locales
sudo locale-gen zh_CN.GB18030
# Debian (11)
sudo apt install locales-all
sudo localedef -c -f GB18030 -i zh_CN zh_CN.GB18030
# CentOS (7)
sudo yum install -y kde-l10n-Chinese
sudo yum reinstall -y glibc-common
- openctp-ctp库默认只支持CTP柜台,如需连接TTS、XTP、TORA等柜台,可以使用openctp的CTPAPI兼容接口方式,将CTP的dll(如thosttraderapi_se.dll)替换为相应柜台的版本即可,具体见openctp
- CTPAPI-Python制作攻略: swig转换CTPAPI为Python攻略。
- 用于实盘前请充分测试相应的功能,openctp不对此承担任何责任。