3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,如果您在回测模块(Backtest)中调用 get_etf_stock_info 函数,通常会遇到报错或无法获取数据的情况。这是由该 API 的底层设计和适用场景决定的。
根据 ptrade 官方 API 文档的明确规定,get_etf_stock_info 函数的使用场景受到严格限制:
使用场景: 该函数仅支持 Ptrade 客户端可用、仅在股票交易模块可用。
这意味着:
get_etf_stock_info(etf_code, security) 用于获取指定 ETF 中某只或多只成分券的具体信息(如现金替代标志、保证金率、替代金额、停牌标志等)。这些数据通常用于 ETF 申赎和套利交易,而这类交易对数据的实时性要求极高,历史回测难以完美模拟。
is_trade() 函数来判断当前代码是运行在回测环境还是交易环境。如果是回测环境,则跳过该函数的调用,或者使用本地准备好的静态数据进行模拟。def handle_data(context, data):
if is_trade():
# 仅在交易环境中调用
stock_info = get_etf_stock_info('510050.SS', '600000.SS')
log.info(stock_info)
else:
# 回测环境的替代逻辑
log.info("当前为回测环境,跳过 get_etf_stock_info 调用")
总之,遇到 get_etf_stock_info 报错时,请首先检查您的策略当前是否运行在回测模块,并根据官方文档的限制调整代码逻辑。