平安证券量化交易接口怎么用?

企业微信

接口类型与功能

平安证券为量化交易者提供两类接口:REST API和WebSocket接口。REST API适用于低频交易,支持账户查询、委托下单、撤单、持仓查询等基础功能,每次请求需携带签名令牌。WebSocket接口则适合高频交易,提供实时行情推送和快速下单通道,延迟低至毫秒级。两类接口均支持市价单、限价单和条件单,但条件单仅在WebSocket接口中开放。

获取接口权限

开通量化接口并非自动完成。投资者需满足两项硬性条件:账户资产不低于50万元,且通过量化交易知识测试(80分及格)。满足条件后,在平安证券官网下载《量化接口申请协议》,填写后提交至营业部柜台。审核周期约5个工作日。审核通过后,客户会收到一封包含API密钥(App Key和Secret Key)的邮件,密钥用于生成访问令牌。每次请求需在Header中携带令牌,令牌有效期2小时,过期后需重新获取。

平安证券量化交易接口怎么用?

接口文档与开发环境

平安证券提供详细的接口文档,涵盖接口列表、参数说明、错误码和示例代码。文档托管在平安证券开发者社区,需使用API密钥登录后才能访问。开发环境支持Python 3.8+和C++11,官方提供Python封装库(pingsafe_quant)和C++动态链接库。安装Python库只需执行pip install pingsafe_quant,而C++开发需下载SDK并配置依赖。建议使用PyCharm或Visual Studio进行调试,利用官方提供的沙箱环境(模拟交易)测试代码,沙箱环境与实盘数据隔离,但接口逻辑一致。

核心操作流程

  1. 身份认证:在代码中调用get_token(app_key, secret_key)获取令牌。令牌存储于内存或环境变量,避免硬编码在代码中。

  2. 连接行情:WebSocket接口需先建立连接,订阅股票代码(如subscribe("600519")),回调函数实时接收行情快照。

  3. 下单交易:调用place_order(symbol, side, type, price, quantity),其中side为buy/sell,type为limit/market。下单成功返回订单ID,可通过query_order(order_id)查询状态。

  4. 撤单操作cancel_order(order_id)用于撤销未成交订单。

  5. 账户查询get_account()返回资金余额、可用余额和持仓明细。

安全与风控要求

平安证券对量化接口实施严格风控。单笔订单数量不得超过账户净资产的10%,单日最大委托笔数不超过500笔,市价单仅支持限价保护(即设定最大滑点百分比)。接口调用频率限制为每秒20次,超额会触发420错误码,并暂停接口使用10分钟。所有交易行为需符合《证券公司程序化交易管理细则》,避免异常交易行为导致监管处罚。

回测与实盘切换

开发完成后,先在沙箱环境进行回测。沙箱提供历史行情数据(近5年),可模拟撮合引擎,检验策略收益和最大回撤。回测通过后,申请实盘权限:需提交策略说明、风控参数和实盘测试报告。实盘交易初始资金建议不超过总资产的20%,运行期间需持续监控接口日志,使用set_log_level("INFO")记录操作。若连续3个交易日出现亏损超过5%,系统将强制暂停接口并通知用户。

常见错误处理

  • 401 UNAUTHORIZED:令牌过期或密钥错误。重新调用get_token()

  • 403 FORBIDDEN:缺少交易权限。检查合约代码是否正确,或确认是否已开通该股票的交易权限。

  • 429 TOO MANY REQUESTS:超出频率限制。使用sleep函数控制请求间隔,或升级接口套餐。

  • 500 INTERNAL SERVER ERROR:服务器异常。稍后重试,若持续出现需联系运维。

性能优化建议

  • 使用连接池管理WebSocket连接,避免频繁重连。

  • 对高频行情数据采用本地缓存,减少不必要IO。

  • 批量下单时,使用place_batch_orders()一次提交多笔委托,减少网络往返。

  • 部署在券商机房附近或云服务器(如阿里云上海节点),降低网络延迟。

实战案例

一个简单的双均线策略:当5日均线上穿20日均线时买入,下穿时卖出。在Python中实现如下:


from pingsafe_quant import *

# 初始化连接

api = PingsafeAPI(app_key="your_key", secret_key="your_secret")

api.login()

# 订阅股票

defalut_symbol = "600519"

api.subscribe(defalut_symbol)

# 获取历史K线

bars = api.get_bars(defalut_symbol, freq="1d", count=30)

close = [bar.close for bar in bars]

# 计算均线

ma5 = sum(close[-5:]) / 5

ma20 = sum(close[-20:]) / 20

# 交易逻辑

if ma5 > ma20:

    api.place_order(defalut_symbol, "buy", "limit", price=close[-1] * 1.01, quantity=100)

elif ma5 < ma20:

    api.place_order(defalut_symbol, "sell", "limit", price=close[-1] * 0.99, quantity=100)

运行前需在沙箱环境测试,确保策略逻辑正确。实盘时注意设置止损和止盈,避免单一策略过度交易。

持续学习与支持

平安证券定期举办量化交易线上研讨会,分享接口更新、策略实战和风控技巧。遇到问题可参考官方社区的技术帖子,或拨打客服热线,技术专家提供7×12小时支持。建议订阅接口更新日志,及时了解新增功能和参数调整。

量化交易接口是手段,策略和风控才是核心。一旦掌握接口操作,反复打磨策略逻辑,就能在市场中占据优势。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/pingan-zhengquan-lianghua-jiaoyi-250.html