# openctp-ctpopt-python **Repository Path**: yongfuxie/openctp-ctpopt-python ## Basic Information - **Project Name**: openctp-ctpopt-python - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-08 - **Last Updated**: 2024-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

openctp-ctpopt


openctp-ctpopt是由 [**openctp**](https://github.com/openctp) 使用Swig技术制作的CTP股票期权Python版接口。 简化了对接CTP股票期权API的过程,节省精力,快速上手 :rocket: --- * [支持版本](#支持版本) * [快速使用](#快速使用) * [方式一 pip](#方式一-pip) * [方式二 手动配置](#方式二-手动配置) * [代码示例](#代码示例) * [编码增强](#编码增强) * [字符集问题](#字符集问题) * [说明](#说明) --- ## 支持版本 | CTPAPI(C++) | openctp-ctpopt(python) | win x86 | win x64 | linux x64 | | ----------- | ---------------------- | ------------------ | ------------------ | ------------------ | | 3.7.0 | 3.7.0.* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | 3.6.7 | 3.6.7.* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | 3.6.3 | 3.6.3.* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | 3.5.8 | 3.5.8.* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ## 用法 提供了两种安装方式: pip install安装、手动下载安装。 ### 方式一:pip install方式 选择一个版本,如 3.7.0 ```shell pip install openctp-ctpopt==3.7.0.* -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host=pypi.tuna.tsinghua.edu.cn ``` 引用方法: ```python 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` 下载库文件 将下载的文件放在本地同一个目录下 ```PowerShell # 下载文件 _thosttraderapi.pyd _thostmduserapi.pyd thosttraderapi.py thostmduserapi.py soptthosttraderapi_se.dll soptthostmduserapi_se.dll ``` - Linux 选择一个期权ctpapi版本,如: 3.7.0 从目录`3.7.0/linux64`下载所有的文件 将下载的文件放在同一目录下 ```bash _thosttraderapi.so _thostmduserapi.so thosttraderapi.py thostmduserapi.py libsoptthosttraderapi_se.so libsoptthostmduserapi_se.so ``` 将文件所在路径配置库路径(specify_path填写自己的路径) ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: ``` ## 代码示例 参考 td_demo.py / md_demo.py *通过pip安装的可以直接使用代码示例;手动安装配置的,需要修改一下引入方式, 是`import thosttraderapi` 而不是`import openctp_ctpopt`* ## 编码增强 在高级编辑器或IDE中,可以方便的查看接口说明及各字段含义。如下(Pycharm)
.
.
## 字符集问题 Linux下安装后,需要安装中文字符集,否则导入时报错: ```text >>> 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 的方案: ```bash # 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](http://github.com/openctp/openctp) - CTPAPI-Python制作攻略: [swig转换CTPAPI为Python攻略](https://www.jedore.top/blog/post/ctpapi-swig-python/)。 - **用于实盘前请充分测试相应的功能,openctp不对此承担任何责任。**