标的范围:全 A 股 / 某个板块 / 自选 / 沪深300?量价因子大致思路:比如换手率×涨跌幅的交互项、量能加速度、量价背离这类?trial_run: 产生 0 条信号--可能因数据缺失或 API 误用未触达逻辑主体;请确认 pool_ts_codes 已展开为具体成分股(指数代码如 000300.SH 需先调 get_index_constituents 展开,不能直接当个股传入);如确认空仓合法,传 allow_empty_signals=True。诊断:代码含 return [] 早退分支,可能在数据不足时提前退出;检查 get_price 返回的数据量是否满足 lookback 要求;数据接口已调用且 pool 非空,但仍 0 信号;。
从刚才的试跑看,之前生成的代码有两个问题需要修正:一是用到了不存在的接口(trade_date、universe),二是触发了数据不足就提前返回、导致产生 0 条信号的早退分支。我会在重写时避开这些坑。明确了:量价背离 + 波动率非线性因子,沪深300成分股,周度调仓。回测区间:2025-09-19 ~ 2026-09-11(近 1 年)。总收益率:21.66%(年化 23.06%)。最大回撤:-29.60%。
夏普比率:0.84。成交笔数:171 笔。选股逻辑:动量(40%) + 量价背离(40%,缩量回调加分) + 波动率非线性(20%) 综合打分,从沪深300里选动量为正的 TOP 5。确认回测所需的前置都已就绪(策略入库、权益确认、信号预计算 2170 条、代码生成完成),我直接执行历史回测。量价非线性因子策略 历史回测(近1年,2025-09-15 ~ 2026-09-11):总收益:-10.24%(简单年化 -10.78%)。最大回撤:-21.35%。
夏普比率:-0.21。成交:649 笔。量价强度复合打分:把涨跌幅、量能变化、换手、波动率等做非线性组合(比如乘积、比值、log变换)打一个分,取前N只。量能突变类:放量突破(量比突增+价格站上均线)、缩量回踩这类形态买点。动量衰减/加速类:加速度因子(涨幅的二阶导)、量能衰减判断行情尾声。trial_run execution failed: sandbox exited 1: Traceback (most recent call last):
File "/var/folders/7p/v5gyxyn922d3c6z978f2btc80000gn/T/sandbox_hw97v8ec/_runner.py", line 105, in。File "/var/folders/7p/v5gyxyn922d3c6z978f2btc80000gn/T/sandbox_hw97v8ec/user_strategy.py", line 198, in generate_signal。
File "/var/folders/7p/v5gyxyn922d3c6z978f2btc80000gn/T/sandbox_hw97v8ec/user_strategy.py", line 45, in _get_universe。选股逻辑:中期趋势向上(收盘价>MA20 且 MA20>MA60)+ RSI 回落至 32–62 中性区间的强势股,按量价非线性综合得分(RSI 中性偏好 − 乖离率惩罚 + 量能温和放大)排序取前 10。信号预计算:近一年回测区间的每日信号已全部生成(约 2 万条)。
量价非线性因子:动量用符号加权(sign(r)*|r|^0.6 压缩极端涨跌)、量能用对数放量比(log1p(vol_ratio))、再叠加量价配合度,合成综合得分。策略ID:已生成并入库(策略名 9 字,符合命名规范)。策略逻辑:自写 Python 量价非线性因子综合打分,取前 10 只。