AI助手生成工作流的报错问题
1.1 AI助手生成工作流没有产生交易的问题
- 反复运行了很多次,一直提示没有查验处有效的业绩数据,报错的信息主要是回测相关对象ID的校验错误;
- 可能性有两个,1是期货回测节点输出的回测ID为空或非法,2是回测结果在结果服务中不存在或已失效;
- 如下图所示
根据提示反复校验了很多遍,代码修改中放开了交易的阈值,又反复调整报错的方式,尤其是采用了断绝外部依赖以及报错能忽略后继续运行的方法,然而途中的问题仍然存在。
这说明AI写代码的能力仍存在优化的空间,虽然AI能够很顺利的写代码,但是在排除BUG方面自从AI诞生我就一直遭遇挫折。这次pandaAI也难以例外。
1.2 二级标题
提示词根据老师的教导设置如下:写一个期货因子分析及链接回测的框架,因子以20日动量,回测时根据因子排序结果,选择排序前2的标的,连接主力合约进行交易回测。运行结果是没有交易。运行AI分析后给出以下建议。
整体来看,这次策略回测结果质量偏弱,属于 C–D 之间的水平,需要明显改进后才能具有投资价值。 核心表现概述 策略年化收益为 0,基准上证指数年化约 13%,因此年化超额收益为 -13%,Alpha 约 -4%,说明策略不仅没有战胜基准,反而明显跑输。 信息比率约为 -0.72,Sortino 约为 -0.84,均为负值,代表在风险调整后的回报同样不理想,单位风险带来的是负超额收益。 波动率和最大回撤统计为 0,大概率是因为策略几乎没有真实持仓或交易记录,导致收益曲线接近一条平线,从而在计算上表现为“0 波动 + 0 回撤”。 结果含义与可能原因 回测 run_status=1 表示任务本身执行成功,但从 0 收益 + 0 波动 + 0 回撤的组合来看,更像是“策略没有真正下单/几乎不交易”,而不是一个风险极低且高效的策略。 结合你当前的框架:前面通过“期货20日动量因子 + 主力合约映射”构建因子,再在“股票回测”节点里使用。一种典型可能问题是: 因子数据、标的代码或回测引擎之间的映射不匹配(例如期货因子接到股票回测节点),导致没有符合条件的标的或仓位始终为 0; 回测频率/起止时间与因子数据时间区间不重合,结果没有有效交易; 资金/代码为空或设置错误,也会造成“理论上跑完了,但实际没仓位”。 建议与下一步排查方向 优先在「股票回测」节点检查: 标的代码(代码)、回测起止时间是否与因子输出的数据日期完全重合; 是否更适合改用对应的“期货回测”类节点,而不是 StockBacktestControl。 在因子结果与回测之间,建议增加一个简单检查步骤: 先在画布中查看“线性因子构建”的输出 DataFrame,确认在回测区间内有非零因子值且标的字段与回测引擎要求一致。 若你方便的话,可以告诉我: 因子 DataFrame 的列名(尤其是日期、标的字段), 你期望回测的是股票还是期货标的,我可以结合这次结果,给出更精确的节点参数调整方案,让下一轮回测至少能产生“有实际持仓与波动”的结果,再谈收益优化。
运行结果提示产生10075号错误。在日志处进行AI智能修复。修改如下
运行日志提示错误代码 10075,Factor class load failed,说明上一次提交的代码中没有有效的因子类(或代码为空 / 结构不符合要求),导致系统无法加载。你在问题中没有提供任何原始因子代码片段,因此我采用了最稳妥的方式:给出一段完整、可直接加载执行的示例因子代码,用于消除“因子类加载失败”的报错。
修改后再次运行报错产生10000号错误。经过AI智能修复后成功。运行回测产生日志成功。但是仍然是没有交易记录产生。
AI智能分析回测结果,表明整体来看,这次“策略回测结果”的表现属于明显不合格、需大幅改进的级别(综合评级:D)。
在收益端,策略自身的回测收益、年化收益均为 0,最大回撤也为 0,这在实务中几乎可以确定是“基本没产生任何实际持仓或交易”的状态,而不是一种“稳健零波动”的好策略。同时,基准(上证指数)的年化收益大约在 13%左右,策略完全跟不上市场。
风险调整收益方面,信息比率约为 -0.72,Sortino 比率约为 -0.84,说明在与基准对比时,策略不仅没有产生正超额收益,而且单位风险承受的业绩是负向的,远低于实务中希望看到的 IR>0.5、Sortino>1 这些合格水平。跟踪误差约 0.20,显示收益路径和基准有一定偏离,但这种偏离并没有转化为正收益。alpha 为 -0.04,也反映出对基准的相对表现较差。
从这些特征可以合理推断:当前回测要么是一个“空跑”框架(代码不下单、持仓始终为零),要么是因子或交易条件设置导致长期不满足开仓条件,使得策略在样本区间里几乎没有实质曝险;而在这种情况下,所有有关夏普/波动率/回撤的指标自然趋近于 0 或不可计算。
哎,AI代码路还长着呢。虽然生成代码容易,排查BUG是一环套一环的难。