浙商证券新一代极速交易系统UST提供API接口,助力满足客户对接口统一、有序可靠、分页查询等功能的需求,同时提供高可用的接入方式和极致性能。目前极速交易API提供C++、PYTHON、JAVA版本SDK,供不同语言偏好的客户接入。
开发包接口头文件包含两类接口
l CHSSecuTradeApi
包含主动发起请求和订阅的接口函数,开发者直接调用即可。
l CHSSecuTradeSpi
包含所有的应答和主推函数,用于接收极速交易系统发送或交易所发送极速交易系统转发的信息,开发者需要继承该接口类,并实现其中相应的虚函数。
开发流程以c++为例。各种语言版本流程一致,详见demo示例。
1. API通过NewSecuTradeApi接口创建API实例,入参需要填写缓存目录。工作区路径会存放api缓存信息、日志等。
2. 创建继承自SPI的回调对象实例。
3. 调用API函数Register注册SPI实例(此SPI对象需要开发者针对自己的业务进行实现)。
4. 调用RegisterFensServer函数设置Fens服务器地址,地址格式规范为:fens://[server-address]:[server-port],比如:fens://192.168.1.1:1001,如果有多个Fens服务器,可以调用多次。
另外,如果不通过Fens方式接入,而是通过前置直连接入,那么得调用RegisterFront函数设置前置服务器地址,地址格式规范为:tcp://[server-address]:[server-port] ,比如:tcp://192.168.1.1:1001,如果有多个前置服务器,可以调用多次。
调用该接口不会跟后台有任何交互,只是API本地缓存一下连接地址,后续连接时生效。
5. 调用RegisterSubModel函数设置回报订阅模式,调用该接口不会跟后台有任何交互,只是API本地缓存一下订阅模式参数,该参数在后续调用ReqUserLogin客户登录接口时生效。
6. 调用Init初始化函数,用于API和服务器建立连接,入参需填写服务器地址安全性校验所需要的内容,包括证书、密码等。
7. 在OnFrontConnected得到响应时,表示连接成功,如果连接失败,通过 OnFrontDisconnected返回错误码(nResult),详细错误信息可以通过错误码调用GetApiErrorInfo函数获取。连接失败时,API内部会一直尝试重连直至成功。
8. 以上步骤完成后,必须先后分别调用ReqAuthenticate接入注册和ReqUserLogin客户登录成功后,才能发起交易、查询等请求。
1. API所有请求均使用异步请求应答的模式。注意在SPI的回调函数中不要处理大量的业务,以免堵塞回调线程。
2. 应答信息CHSSecuRspInfoField:如果ErrorID等于0,表示业务操作成功,数据部分包含本次回调的结果,如果ErrorID不等于0,则详细错误信息记录在ErrorMsg中,数据部分没有意义。
3. nRequestID:与请求时传递过来的nRequestID一致。
4. bIsLast:表示查询是否结束(当bIsLast为true时,返回数据部分指针有可能为NULL,请做好判空保护)。
API使用的示例代码详见demo示例。
由于使用udp组播形式,极速行情API只能在极速行情系统EFH局域网范围内接入。客户一般将策略代码托管于券商机房形式来使用极速行情系统EFH。
头文件 | 头文件说明 |
efh_lev2_define.h | api系统相关定义 |
i_efh_sse_lev2_api.h | 上交所api接口 |
i_efh_sze_lev2_api.h | 深交所api接口 |
sse_hpf_define.h | api对外接口中上交所行情的数据结构定义 |
sze_hpf_define.h | api对外接口中深交所行情的数据结构定义 |
以上交所为例,上交所api包含三类接口:
l i_efh_sse_lev2_api
包含启动、订阅的接口函数,开发者直接调用即可。
l efh_sse_lev2_api_event
包含所有的行情推送回调函数,用于接收订阅自极速行情系统的各类行情数据,开发者需要继承该接口类,并实现其中相应的虚函数。
l efh_sse_lev2_api_depend
包含日志回调函数,开发者需要继承该接口类,并实现其中相应的虚函数。
以上交所接口为例:
1.创建API实例。用户加载动态库DLL_EFH_LEV2_DLL_NAME,获取创建实例函数CREATE_EFH_SSE_LEV2_API_FUNCTION地址并执行来创建API实例。实例对象为i_efh_sse_lev2_api类型。
2.初始化接口。调用init_sse函数初始化接口,通过p_udp_param参数指定需要订阅的行情类型和接收网卡等信息。
p_udp_param参数为socket_udp_param类型的数组指针,通过num参数明确订阅数量。
p_event参数和p_depend参数为回调函数继承类对象。
启动接口。调用start_sse启动接口,nic_type为网卡类型。启动后通过回调函数接受订阅的行情数据。行情的数据结构定义详见接口头文件。
1.API接收订阅自极速行情系统的各类行情数据通过继承efh_sse_lev2_api_event类虚函数回调实现,日志回调继承efh_sse_lev2_api_depend类。注意在回调函数中不要处理大量的业务,以免堵塞回调线程。
2.不同行情类型数据通过不同回调函数接收,详细行情数据结构见接口头文件。
API使用的示例代码详见demo示例。
T2SDK(TCP 2 Software Development Kit),T2SDK 是接入金融基础件 2.0 的客户端开发包,因为该开发包底层采用 TCP 协议,取名为“T2SDK”。T2SDK 以 dll(Windows )、 so(Linux)、JAR、PYTHON包的形式提供给开发者。
投资者使用T2SDK接入极速交易系统UFT。以普通证券业务为例,基本业务流程如下图所示:
l 连接建立
客户端和UFX后端建立网络连接。
l 登录
调用登录接口,传入账号account_content及密码password,若登录成功,会返回令牌号user_token。除登录之外的其他所有接口都需要传入令牌号user_token。
l 业务请求
获取到令牌号user_token之后,就可以开始调用其他接口,如委托下达、委托撤销、委托查询、成交持仓等。
l 心跳维持
令牌号user_token生成之后,在没有相应请求15分钟之后会失效,可以通过心跳接口10000维持令牌号user_token有效性。建议单独起一个线程,每1-5分钟调用一次心跳接口。
数矿DataQuant提供基于Python开发包dataquant SDK。dataquant SDK提供了全面的基础金融数据,包括行情数据,股票数据,基金数据,指数数据,期货数据,期权数据以及债券数据。它安装在本地,为量化工程师们提供了丰富整齐的历史数据以及简单高效的API接口。
立即下载DataQuant是一款面向金融工程的Python数据交互SDK开发包,提供了全面的基础金融数据,包括行情数据,股票数据,基金数据,指数数据,期货数据,期权数据以及债券数据。它安装在本地,为量化工程师们提供了丰富整齐的历史数据以及简单高效的API接口,最大限度地免除了您进行数据搜索、清洗的烦恼。
DataQuant SDK这种使用的鉴权模式为公共服务认证模式,由服务网关对外提供统一的权限控制服务。 用户使用SDK前,需要提前申请好app_key及对应的接口使用权限,用户首次运行时,需要调用init方法进行初始化。
DataQuant的业务流程,操作指南和注意事项请阅读以下文件:
确认环境中已安装了Python环境。如果使用Anaconda或Miniconda等环境管理工具则可建立conda环境或虚拟环境。在环境中,进入工具包所在目录,执行pip install dataquant-版本号-none-any.whl安装DataQuant工具包。
公司内部人员使用DataQuant SDK请联系部门IT人员协助开通内网机到平台接入站点网络,并在该平台申请DataQuant SDK测试环境。申请审核通过后,会将接入授权码信息通过注册手机以短信的形式推送通知。
外部客户使用DataQuant SDK请联系业务对接人员协助开通VPN账号,并在该平台申请DataQuant SDK测试环境。申请审核通过后,会将接入授权码信息通过注册手机以短信的形式推送通知。
DataQuant接口说明请参考DataQuant API接口说明书。
版本1.1.7
新增内容
新增港股k线接口,新增get_deal接口集合竞价时间端数据
修复内容
股票get_kline接口问题修复:现前后复权模式支持查询最早复权日前的数据。
优化内容
后续规划
版本1.1.6
新增内容
新增查询港股快照,港股逐笔成交,港股碎股,港股经纪商队列,港股指数快照接口。
私募基金API新增接口获取所有城市。
修复内容
无。
优化内容
获取交易所交易日日历,证券基本信息的mkt_code新增XHKG:香港联合交易所有限公司。
后续规划
增加更多港股接口:市场成交,k线,货币汇率等接口。
版本1.1.5
新增内容
新增基金的iopv字段数据。
新增获取中金所level2的查询接口。
修复内容
修复了通用SQL的一个返回值为空的bug。
优化内容
获取基金历史统计收益输出参数参数说明顺序错乱,已优化。
后续规划
无
版本1.1.4
新增内容
新增sql语句访问聚源,钢联,私募排排数据库。
新增历史订单簿数据查询接口:get_tree_sum/get_tree detail。
数据视窗新增面板数据转换成时序数据功能。
修复内容
get_kline期货日期返回与入参不一致,已修复。
优化内容
期货主力合约新增合约日期字段(busi_date)。
后续规划
无。
版本1.1.3
新增内容
增加产业链调研数据、证券行情数据接口,新增接口15个。
新增场内债券,基金行情数据。
数据视窗上线产业链调研数据。
修复内容
修复了科创板代码和沪市股票数据缺失。
优化内容
优化了接口文档中的参数说明。
后续规划
增加分钟级别行情因子。
SQL获取聚源数据。
版本1.1.2
新增内容
增加私募指数行情接口-pof.get_index_value。
支持查询K线和L2行情数据,增加场内债券、基金高频数据(L2行情逐步导入中,K线数据等待导入中)。
增加数据可视化工具‘数据视窗’,支持查询产业链数据,访问地址https://fintech.stocke.com.cn/main/productcenter/list.shtml?id=11(仅内网与VPN网络中访问)。
修复内容
修复了私募和产业链数据接口一些问题,包含用户反馈和自测发现。
优化内容
优化了接口文档中的参数说明。
后续规划
增加财务接口和宏观数据。
增加对VNPY的支持。
增加API的ip、机器码访问限制。
增加数据视窗的数据查询范围(宏观)。
版本1.1.1
新增内容
增加期货主力、次主力查询接口,且支持成交量和持仓量两种方式计算的主力合约。
增加私募数据,新增接口38个。
增加钢联指标数据,新增接口3个。
增加指数成分股数据,新增接口2个。
修复内容
修复了kline函数查询合约数量超过10个代码出现报错问题。
修复了kline函数查询浮点型数据异常大的问题。
修复了期货行情数据返回上一个交易日数据的问题。
优化内容
补充完善数据字典中高频行情数据的字段说明。
下一版本规划
增加场内债券、基金高频数据。
增加森浦数据历史与实时接口。
增加DataQuant对VNPY的支持。
增加多源数据对比的财务数据接口。
增加数据可视化工具-数据视窗。
补充股票日频数据。
增加采集机器码功能。
后续规划
增加分钟级别行情因子。
扩充沪深场内LEVEL2数据历史时间范围。
扩充数据视窗数据品种支持范围。
增加投研数据接口。
增加数据加工平台。
版本1.1.0
新增内容
DataQuant SDK将压缩二进制格式用于数据传输,高频数据查询性能提升约10倍。
获取证券基本信息(get_security_info)接口增加支持期货合约基本信息输出。
增加获取期货可交易合约(get_future_contract)接口。
增加期货2010年至现今期货高频与K线数据范围。
调整内容
为维持高速下载时的内网稳定,本版本增加多进程/多线程下高频数据查询的等待机制。
修复内容
修复了SDK可能取到重复行情数据的问题。
修复了SDK多进程调用重复读写配置文件导致系统报错的问题。
修复了大商所交易日规则与其他交易所不同的问题。
修复了get_tick在指定查询字段时,返回数据格式为object的问题。
下一版本规划
优化客户端并发的等待机制。
增加期货主力、次主力合于查询接口。
增加私募接口。
增加场内债券、基金高频数据。
梳理内部运维、监控机制,提高数据质量稳定性。
后续规划
增加森浦数据历史与实时接口。
增加钢联数据接口,覆盖线上以及线下指标。
增加DataQuant对VNPY的支持。
增加多源数据对比的财务数据接口。
增加沪深场内LEVEL2数据历史时间范围。
版本1.0.2
新增内容
新增获取股票复权因子(get_exright_factor)接口。
支持VPN网络访问查询快照(get_tick)接口以获取股票Level1快照数据。(注:因内部技术原因暂不支持获取1~5档的申买/卖价格和数量字段信息)
增加期货2010年至现今期货高频与K线数据范围。
调整内容
获取K线数据(get_kline)接口candle_mode参数默认值调整为None(不复权)。
增加查询快照(get_tick)、获取逐笔委托数据(get_order)、获取逐笔委托数据(get_deal)接口分页跨度。(注:因分页跨度调整为后台行为,采用原DataQuant SDKV1.0.1版本请求数据效率可能会降低,建议进行升级)
修复内容
修复查询快照(get_tick)、获取逐笔委托数据(get_order)、获取逐笔委托数据(get_deal)多日查询场景下开始日期或结束日期为假日时触发后端多日数据请求限制。
下一版本规划
优化DataQuant SDK高频数据交互效率。
从1.1.0版本后,DataQuant SDK将采用新协议提高交互性能,届时1.1.0版本以下SDK将无法与后端交互。
应监管要求,客户交易终端接入证券公司服务进行交易,需采集规范、完整、准确的终端信息。本工具适用于PC端Linux系统的客户终端系统生成固定的终端信息。其中PC端Linux系统终端的必采信息有如下:
业务类型 | 交易委托 / 账户登录 / 银证转账 / 密码修改 |
操作系统 | Linux |
必采信息 | 公网IP、公网IP端口号、 MAC地址、内网IP、硬盘序列号 |
选采信息 | PC终端设备名、CPU序列号、硬盘分区信息、系统盘卷标号、交易终端软件名称及版本 |
终端信息 | 标识信息 | 说明 |
终端类型 | PC端Linux系统终端类型为”OH”。 | |
内网IP | LIP | LAN IP,取值局域网IP地址 |
公网IP | IIP | Internet IP,取值访问互联网时分配的IP地址 |
公网IP端口号 | IPORT | Internet Port,取值交易终端软件访问互联网时对应公网IP的源端口号 |
MAC地址 | MAC | |
硬盘序列号 | HD | Hard Disk,取值硬盘序列号 |
CPU序列号 | CPU | 取值CPU序列号 |
PC终端设备名 | PCN | Personal Computer Name |
硬盘分区信息 | PI | 取值操作系统所在磁盘分区信息,包括盘符、分区序列号、分区格式、分区容量(G)等 |
l 终端类型
PC端Linux系统终端类型为”OH”。
l IIP和IPORT
IIP和IPORT需要根据实际接入券商服务时候的公网IP、端口信息进行填写,工具默认填入”NA”。当终端采用局域网形式接入的时候,IIP和IPORT可填入”NA”。
l LIP
多网卡情况下,LIP为实际交易接入的局域网IP地址。使用工具时指定网卡接口可生成正确的LIP(默认采集第一张网卡信息),详情见使用说明。
l 硬盘信息
多块硬盘的情况下,采集操作系统承载盘区所在的硬盘信息。
l 交易终端软件名称及版本
交易终端软件名称及版本以@起始,具体信息以‘;’进行分隔。
l 终端信息示例
OH;IIP=123.112.154.118;IPORT=50361;LIP=192.168.118.107;MAC=54EE750B1713;SNO=AABBCCDDEEFF;HD=0821DA-F66C-4B79-9433-9C654CEF5EE1;PCN=NA;CPU=NA;PI=NA@Wind;V0.0.0.1
1)使用命令./generator.out -h获取使用帮助。
2)使用命令./generator.out -a获取终端信息。
电话:0571-85083857(客服咨询)
邮箱:zhaodepeng@stocke.com.cn
地址:浙江省杭州市上城区浙商证券大厦
邮编:310000
版权所有©2022 浙商证券股份有限公司
UST极速交易咨询服务:0571-87003150
UFT快速交易咨询服务:0571-87003150
极速行情咨询服务:0571-87003150
Smart-T咨询服务:0571-87003153
数矿DataQuant咨询服务:0571-87902563
扫一扫关注
浙商证券官方微信
客服咨询电话
0571-85083857
邮箱
zhaodepeng@stocke.com.cn
邮编
310000
极速行情
0571 87003150
Smart-T
0571 87003153
数矿DataQuant
0571 87902563
浙江省杭州市江干区浙商证券大厦
版权所有©浙商证券股份有限公司