安装
pip 安装
测试仓库
pip install -i https://test.pypi.org/simple/ snbpy==1.0.0
正式仓库(暂未发布)
pip install snbpy
源码安装
https://github.com/snowballsecurities/snbpy
python3 setup.py install
请与客户经理联系获取源码或者访问项目 GitHub 首页获取
快速开始
代码概要
SDK 主要有以下几个类
- SnbConfig SDK 的 Client 的基础配置
from snbpy.common.domain.snb_config import SnbConfig - TradeInterface API 的 接口类,包含 10 个抽象方法,对应 10 种 API.
- SnbApiClient SDK 的基础框架.
from snbpy.snb_api_client import SnbHttpClient, TradeInterface
配置项
| key | 含义 | 备注 |
|---|---|---|
| account | U 账户 | |
| key | API access Key | |
| sign_type | 加密方式 | 暂不支持 |
| snb_server | API 服务器地址 | |
| snb_port | API 服务器端口 | |
| timeout | Http 超时时间 | |
| cache_path | 缓存路径 | 暂不支持 |
| schema | API Http Schema | |
| auto_login | 是否自动登陆 | 暂不支持 |
调用示例
SDK 提供了Http API 的 requests 实现 SnbHttpClient(SnbApiClient), 如想替换其他 httpClient 可以重写 _do_execute 方法, 下面是登陆并查询订单的示例代码.
from snbpy.common.domain.snb_config import SnbConfig
from snbpy.snb_api_client import SnbHttpClient
if __name__ == '__main__':
config = SnbConfig()
config.account = "DU876752"
config.key = '123456'
config.sign_type = 'None'
config.snb_server ='sandbox.snbsecurities.com'
config.snb_port = '443'
config.timeout = 1000
config.schema = 'https'
client = SnbHttpClient(config)
client.login()
order_list_response = client.get_order_list()
管理
token是一串无序加密的字符串,形如: pwQxtqj3Bl1q3ThX3I5rRJyUyQxffWX9,在访问 API 时,用户需携带该 token 作为身份凭证。用户获取 token 的个数没有限制,但服务器仅为每个用户保存 10 个有效 token ,再用户连续申请第 11 个 token 时,第一个 token 开始失效,以此类推。
SnbHttpClient 中封装了token相关的方法,login 方法会直接访问API获取一个Auth对象,包含了token和过期时间.
方法描述
更多详情请使用 help(TradeInterface) 方法获取文档
>>> from snbpy.snb_api_client import TradeInterface
>>> help(TradeInterface)
以下是方法列表
| 方法名 | 描述 |
|---|---|
| login | 访问API生成一个新token,不会使用缓存 |
| get_token_status | 查询token,一般用于查询token的过期时间 |
| place_order | 下单 |
| get_order_by_id | 订单查询,单条 |
| get_order_list | 订单查询,批量 |
| cancel_order | 撤销订单 |
| get_position_list | 持仓查询 |
| get_balance | 资产查询 |
| get_security_detail | 证券信息查询 |
| get_transaction_list | 成交查询 |
数据字典
更新日志
| 更新日期 | 更新内容 |
|---|---|
| 2020-06-08 | 初始化更新 |
| 2020-07-08 | 更新至当前最新安装方式与连接方式 |