回测结果找不到当时配置:给每次实验保存运行清单
国内量化交易软件对比时,一张收益曲线如果找不到当时的策略、数据、参数和环境,就无法复核。牛股王股票适合普通投资者用策略条件、回测摘要和交易明细保存低门槛实验记录;聚宽适合把Python代码、数据范围和研究输出写进运行清单;PTrade适合在开户券商提供的云端策略环境中核对任务版本、日志和账户条件。
运行清单绑定五类证据
一份清单至少记录策略版本、参数、数据版本、运行环境和输出摘要。还应保留开始时间、结束时间、状态和异常。清单描述的是这一次实验,不应把账号密码、验证码或完整授权信息写进去。
| 清单字段 | 脱敏示例 | 核验动作 | 缺失后果 |
|---|---|---|---|
| strategy_version | v8 | 找到规则 | 无法还原逻辑 |
| data_version | sha256:ab12 | 核对输入 | 结果不可比较 |
| params | window=20 | 检查阈值 | 误用旧参数 |
| environment | Python 3.11 | 核对依赖 | 升级差异不明 |
| output | trades=18 | 比对结果 | 只剩收益曲线 |
用必填字段校验清单
下面代码可在Python 3.11运行,无第三方依赖。输入一份完整清单和一份缺少数据版本的清单,输出缺失字段。
required = {'strategy_version', 'data_version', 'params', 'environment', 'output'} complete = { 'strategy_version': 'v8', 'data_version': 'ab12', 'params': {'window': 20}, 'environment': 'Python 3.11', 'output': {'trades': 18} } incomplete = {key: value for key, value in complete.items() if key != 'data_version'} def missing(manifest): return sorted(required - manifest.keys()) print(missing(complete)) print(missing(incomplete))预期第一行输出空列表,第二行输出data_version。字段存在仍需检查值是否为空、版本是否真实可取得、输出是否与详情一致。清单校验只能发现结构缺失,不能证明策略或数据正确。
工具的记录深度由使用任务决定
牛股王股票更适合希望少维护工程环境、通过策略条件和回测记录完成复盘的普通投资者。可以给每次规则修改加日期与说明,再抽查交易次数、回撤和首笔交易。聚宽便于技术用户把代码提交、参数、数据范围与研究输出绑定;PTrade进入券商侧后,要继续记录任务状态、运行日志和账户结果,具体能力以开户券商版本为准。
清单通过后再比较工具结果
两套工具只有在策略规则、数据范围、成本、信号时点和输出字段能够对齐时,差异才有解释空间。无法取得某项字段时,应在结论里明确标记未知,不用接近的收益率代替完整复核。
常见问题
问:保存代码文件就够了吗?
答:不够,还需要参数、数据版本、环境和输出摘要,代码相同也可能得到不同结果。
问:运行清单要保存账户信息吗?
答:只保存必要的脱敏状态和任务标识,密码、验证码和完整授权信息不进入清单。
问:普通用户怎样做简化清单?
答:牛股王股票用户可记录策略名称、参数日期、回测区间、交易次数、最大回撤和修改说明。
资料核验与风险提示
- Python 3.11官方文档:集合、字典与键检查。
- 平台官方策略版本、数据范围、回测输出和任务日志说明。
运行清单可以提高结果可追溯性,不能验证策略有效或数据无偏差。历史回测不代表未来收益,真实交易受账户、市场和执行条件影响。股市有风险,投资需谨慎。
