问题描述
/
解决方案
在 ptrade 量化平台中遇到报错 “无法获取到000300.SH对应的数据,设置基准失败”,通常是因为代码后缀使用错误导致的。
报错原因
ptrade 平台对证券和指数的代码后缀有严格的规范。对于上海市场(上交所)的证券或指数,ptrade 不支持使用 .SH 作为后缀。沪深300指数在 ptrade 中的正确代码应该是 000300.SS 或 000300.XBHS。
解决方法
请检查您的策略代码中调用 set_benchmark 的地方,将 000300.SH 修改为正确的后缀:
错误写法:
def initialize(context):
set_benchmark('000300.SH') # 这里会报错
正确写法:
def initialize(context):
# 使用 .SS 后缀
set_benchmark('000300.SS')
# 或者使用 .XBHS 后缀
# set_benchmark('000300.XBHS')
附:ptrade 策略中支持的代码尾缀规范
为了避免后续在获取行情或下单时出现类似错误,请参考以下 ptrade 支持的市场品种代码尾缀:
| 市场品种 | 尾缀全称 | 尾缀简称 |
|---|---|---|
| 上海市场证券 | XSHG | SS |
| 深圳市场证券 | XSHE | SZ |
| 指数 | XBHS | (部分指数也支持SS/SZ) |
| 中金所期货 | CCFX | |
| 上海股票期权 | XSHO | |
| 深圳股票期权 | XSZO | |
| 上海港股通 | XHKG-SS | |
| 深圳港股通 | XHKG-SZ |
提示: 如果在策略中不调用 set_benchmark,ptrade 默认也会选定沪深300指数 (000300.SS) 的每日价格作为判断策略好坏和一系列风险值计算的基准。