Skip to content

Latest commit

 

History

History
215 lines (179 loc) · 7.06 KB

File metadata and controls

215 lines (179 loc) · 7.06 KB

版本技术差异对比

基于实际API文档分析的四个版本间具体技术差异。

📊 版本信息

版本号 券商/维护方 特点
PBOXQT1.0V202202.03.000 山西证券/恒生投研 最新完整版,功能最全
PBOXQT1.0V202202.01.041 东莞证券 新版功能,较全
PBOXQT1.0V202202.01.016 国盛证券 稳定版本,生产适用
PBOXQT1.0V202202.00.005 社区维护 早期版本,功能丰富

🔧 关键技术差异

1. 委托状态字段类型变化 ⚠️

影响: 代码兼容性问题

# V005 (社区维护版本)
if order.status == 8:  # int类型

# V016/V041 (国盛/东莞证券)
if order.status == '8':  # str类型

2. get_snapshot() 返回字段差异

V005: 基础字段 V016: 新增字段

snapshot = get_snapshot('000001.XSHE')
wavg_px = snapshot['wavg_px']        # 加权平均价
px_change_rate = snapshot['px_change_rate']  # 涨跌幅

V041: 进一步新增

business_amount_in = snapshot['business_amount_in']    # 内盘成交量
business_amount_out = snapshot['business_amount_out']  # 外盘成交量

3. 数据频率支持差异

V005: 基础频率 (1d, 1m) V016/V041: 新增支持

# 新增支持的频率
get_price('000001.XSHE', frequency='5m')   # 5分钟
get_price('000001.XSHE', frequency='15m')  # 15分钟
get_price('000001.XSHE', frequency='30m')  # 30分钟
get_price('000001.XSHE', frequency='60m')  # 60分钟
get_price('000001.XSHE', frequency='120m') # 120分钟

4. 技术指标函数

V005: 无内置技术指标 V016/V041: 新增技术指标

get_MACD(security, fastperiod, slowperiod, signalperiod)
get_KDJ(security, fastk_period, slowk_period, slowd_period)
get_RSI(security, timeperiod)
get_CCI(security, timeperiod)

5. 期权交易支持

V005: 不支持期权 V016: 基础期权支持 V041: 完整期权功能

# V041 支持的期权功能
buy_open(security, amount)      # 权利仓开仓
sell_open(security, amount)     # 义务仓开仓
option_exercise(security, amount)  # 期权行权

6. 版本独有功能差异

东莞证券 V041 独有:

get_cb_info()                 # 获取可转债基础信息 (V025新增)
get_enslo_security_info()     # 融券头寸信息查询 (V025新增)
get_ipo_stocks()              # 获取当日IPO申购标的 (V026新增)

国盛证券 V016 缺少:

# 以下功能在V016中不可用
send_qywx()                   # 发送企业微信信息 (V006新增,V016无)
get_cb_info()                 # 获取可转债基础信息 (V025新增,V016无)
get_enslo_security_info()     # 融券头寸信息查询 (V025新增,V016无)
get_ipo_stocks()              # 获取当日IPO申购标的 (V026新增,V016无)

社区维护 V005 独有:

set_email_info()              # 设置邮件信息
get_frequency()               # 获取当前业务代码周期
fund_transfer()               # 资金调拨
get_business_type()           # 获取当前策略的业务类型
filter_stock_by_status()      # 过滤指定状态的股票代码
check_strategy()              # 检查策略内容
market_fund_transfer()        # 市场间资金调拨

🔄 升级兼容性指南

从 V005 升级到 V016/V041

必须修改的代码:

# 1. 委托状态判断
# 旧代码
if order.status == 8:
    print("已成交")

# 新代码
if order.status == '8':
    print("已成交")

# 2. 检查新增字段可用性
snapshot = get_snapshot('000001.XSHE')
if 'wavg_px' in snapshot:
    wavg_px = snapshot['wavg_px']

从 V016 升级到 V041

新增功能验证:

# 1. 测试期权功能
try:
    contracts = get_opt_contracts('510050.SS')
    print("支持期权功能")
except:
    print("不支持期权功能")

# 2. 测试新增行情字段
snapshot = get_snapshot('000001.XSHE')
if 'business_amount_in' in snapshot:
    print("支持内盘成交量字段")

📋 版本选择建议

生产环境推荐

  • V016 (国盛证券): 稳定可靠,功能完整
  • V041 (东莞证券): 最新功能,需要充分测试

学习开发推荐

  • V005 (社区维护): 功能丰富,文档详细,示例多

功能需求对比

功能需求 V005 V016 V041
基础股票交易 ✅ ✅ ✅
技术指标计算 ❌ ✅ ✅
期权交易 ❌ 基础 完整
企业微信推送 ✅ ❌ ❌
可转债专门接口 ✅ ❌ ❌
多种数据频率 基础 ✅ ✅

⚠️ 重要提醒

  1. 委托状态字段类型变化是最重要的兼容性问题
  2. 不同券商可能有定制化差异,即使版本号相同
  3. 建议在生产环境部署前充分测试
  4. 保留策略备份以便回滚

🔒 平台限制和合规要求

代码限制

限制项 V005 V016 V041 说明
调包限制 ❌ ❌ ❌ 不支持调包和跨策略调用函数
单文件限制 ✅ ✅ ✅ 一个策略只能在一个文件中实现
OS模块 ❌ ❌ ❌ 无法使用os模块
requests库 ❌ ❌ ❌ 不能使用requests

数据库连接限制

功能 V005 V016 V041 说明
本地数据库 ❌ ❌ ❌ 因合规要求不支持
SQLite ✅ ✅ ✅ 可上传db文件使用sqlite
外部API ❌ ❌ ❌ 不支持连接外部数据源

网络和通信限制

功能 V005 V016 V041 说明
邮件推送 ✅ ✅ ✅ 所有版本支持
企业微信 ✅ ❌ ✅ 需要券商开通外网
外网访问 🔶 🔶 🔶 由券商环境决定

文件和存储限制

限制项 V005 V016 V041 限制说明
单文件大小 50M 50M 50M 上传下载限制
文件夹上传 ❌ ❌ ❌ 需逐个上传
定时上传次数 有限 有限 有限 由券商配置决定
本地路径访问 ❌ ❌ ❌ 无法直接交互

交易和回测限制

限制项 V005 V016 V041 说明
并发交易数 5个 5个 5个 默认限制,以券商配置为准
并发回测数 5个 5个 5个 同时进行的回测
账户隔离 ❌ ❌ ❌ 暂不支持子账户
离线回测 ❌ ❌ ❌ 必须保持客户端打开
委托数量 整数 整数 整数 必须为整数

性能基准

指标 V005 V016 V041 说明
批量委托 ~150笔/秒 ~150笔/秒 ~150笔/秒 300笔约2秒
账户更新 6秒 6秒 6秒 理论更新频率
研究环境资源 无限制 无限制 无限制 单个客户无上限

说明: 本文档基于实际API文档对比分析,具体差异以实际测试为准。