Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nooperpudd/ctpwrapper
上海期货交易所CTP接口 Shanghai Future CTP Interface CTP Python API Wrapper
https://github.com/nooperpudd/ctpwrapper
ctp futures shfe trading-api
Last synced: 2 months ago
JSON representation
上海期货交易所CTP接口 Shanghai Future CTP Interface CTP Python API Wrapper
- Host: GitHub
- URL: https://github.com/nooperpudd/ctpwrapper
- Owner: nooperpudd
- License: other
- Created: 2017-12-09T03:28:24.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-05T03:49:57.000Z (over 1 year ago)
- Last Synced: 2024-04-23T14:43:25.592Z (9 months ago)
- Topics: ctp, futures, shfe, trading-api
- Language: Python
- Homepage:
- Size: 59.8 MB
- Stars: 446
- Watchers: 23
- Forks: 153
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ai-in-finance - ctpwrapper - Shanghai future exchange CTP api. (Exchange API / Crypto Currencies)
README
# CTP期货 API Python Wrapper
[![build action](https://github.com/nooperpudd/ctpwrapper/actions/workflows/build.yaml/badge.svg?branch=master)](https://github.com/nooperpudd/ctpwrapper/actions/workflows/build.yaml)
[![Build status](https://ci.appveyor.com/api/projects/status/gvvtcqsjo9nsw0ct/branch/master?svg=true)](https://ci.appveyor.com/project/nooperpudd/ctpwrapper)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/9ed5d0e55ed84dfeba30a7630ab5c160)](https://www.codacy.com/app/nooperpudd/ctpwrapper?utm_source=github.com&utm_medium=referral&utm_content=nooperpudd/ctpwrapper&utm_campaign=Badge_Grade)
[![pypi](https://img.shields.io/pypi/v/ctpwrapper.svg)](https://pypi.python.org/pypi/ctpwrapper)
[![status](https://img.shields.io/pypi/status/ctpwrapper.svg)](https://pypi.python.org/pypi/ctpwrapper)
[![pyversion](https://img.shields.io/pypi/pyversions/ctpwrapper.svg)](https://pypi.python.org/pypi/ctpwrapper)
[![implementation](https://img.shields.io/pypi/implementation/ctpwrapper.svg)](https://pypi.python.org/pypi/ctpwrapper)
[![Downloads](https://pepy.tech/badge/ctpwrapper)](https://pepy.tech/project/ctpwrapper)[CTP Website](http://www.sfit.com.cn/5_2_DocumentDown_1.htm)
Version: v6.7.0
Platform: Linux 64bit, Windows 64bit
Python Requirement: x86-64
**Especially Support PyPy3-3.6 Linux 64bit**
Inspire By lovelylain
# Install
Before you install ctpwrapper package, you need to make sure you have
already install cython package.>>>pip install cython --upgrade
>>>pip install ctpwrapper --upgrade# Donate [捐助]
## ⚠️⚠️ notice ⚠️⚠️
sometimes quote the market futures data, but there is no trading data from the API stream,
better just add `time.sleep(2)` func call after `Init()` method invoked, this could help to solve no data response issue.
## Demo
sample code [samples](samples/)## issues
https://github.com/nooperpudd/ctpwrapper/issues/62
this is a temporary solution for the UnicodeDecodeError issue.
```
Traceback (most recent call last):
File "ctpwrapper/TraderApi.pyx", line 1402, in ctpwrapper.TraderApi.TraderSpi_OnRspQrySettlementInfo
File "/root/python/futures/trader_main.py", line 149, in OnRspQrySettlementInfo
print(pSettlementInfo.Content)
File "/root/python/futures/.venv/lib/python3.9/site-packages/ctpwrapper/base.py", line 28, in __getattribute__
return value.decode("gbk")
UnicodeDecodeError: 'gbk' codec can't decode byte 0xd2 in position 499: incomplete multibyte sequence
```
```pythonerror_message = ""
def OnRspQryTradingAccount(self, pTradingAccount, pRspInfo, nRequestID, bIsLast):
print("OnRspQryTradingAccount")
print("nRequestID:", nRequestID)
print("bIsLast:", bIsLast)
print("pRspInfo:", pRspInfo)
print("pTradingAccount:", pTradingAccount)
# need to check is last message from the server.
global error_message
if not bIsLast:
error_message+=pRspInfo.ErrorMsg
else:
error_message+=pRspInfo.ErrorMsg
if isinstance(error_message,bytes):
error_message.decode("gbk")
```# Documentation
CTP documentation can be found in the [docs](doc/ctp/)# Contact
If you have any question about the ctpwrapper API, contact [email protected]