本文仅用于学习研究与技术交流,不构成任何投资建议。
在本地搭建量化策略和回测框架,灵活高效,调试自如,是很多量化学习者的首选。但有时候—— 当策略在本地的回测表现好得离谱 ,我们难免会产生怀疑:是策略真的优秀,还是我们的回测框架“滤镜”太强?
要验证,就得引入外部平台来“交叉验证”——比如聚宽。
虽然聚宽自身也不是100%完美,但作为业内常用的平台,其回测引擎有较好的稳定性和可靠性。我们可以用它作为“第二视角”,来核查策略的稳健性。 而且,只上传选股结果,不上传策略逻辑,既能验证又能保密,一举多得!
这样做有什么好处?
策略回测更安心
多平台交叉验证,有助于避免“自嗨型策略”,提升对结果的信心。
保密性更强
只上传选股结果(例如每日选中的股票列表),不暴露任何策略逻辑,隐私安全性拉满!
本地选股更高效
本地运行速度快、不限算力,适合跑复杂模型;选股结果传到聚宽回测即可。
实操步骤
本地保存选股结果
将本地模型生成的每日选股结果整理为字典格式,如 {日期: 股票列表},然后保存为 result_all.pkl 文件(或其他通用格式如 .csv、.txt 也可,关键是包含日期与对应的股票列表)。
result_all = {}...# 保存每日结果for day in trade_days: ... result_all[day] = S_stocks ...# 保存为.pkl文件with open('result_all.pkl', 'wb') as f: pickle.dump(result_all, f)
上传文件至聚宽研究环境
进入聚宽的“研究环境”,点击上传功能,将本地生成的 result_all.pkl 文件上传。
感谢聚宽平台,提供了一个便捷窗口,让我们可以轻松将本地结果无缝衔接到云端回测!

聚宽研究环境
聚宽回测环境中加载文件
在回测代码里,使用聚宽提供的 read_file() 函数读取上传的文件,并用 pickle.loads() 反序列化,例如:
import pickleg.result_all = pickle.loads(read_file('result_all.pkl'))
注: 聚宽的文件读取方式和本地略有差异,需使用平台接口。可参考官方说明文档: https://www.joinquant.com/view/community/detail/a9f7577b37265f78ffc2c6bb2467d47e?type=1
编写回测逻辑,设定买入/卖出规则
-
买入逻辑:根据上传的每日选股结果,在对应交易日买入标的。
-
卖出逻辑:可灵活设置,如每月调仓日卖出旧持仓、涨停打开时卖出、触发止损条件卖出等。
这些交易规则的实现代码通常比策略逻辑简单很多。而且聚宽平台上已有丰富的回测模板,稍作修改即可,大大降低代码工作量!

聚宽回测环境
回测结果验证
我们对比了一个策略在“本地框架”与“聚宽平台”上的回测表现,发现两者在年化收益、最大回撤、夏普比率等核心指标上高度一致。这在一定程度上验证了我们自建回测工具的合理性,也让我们对策略的稳定性和可靠性更有底气!

本地回测结果

聚宽回测结果
策略代码本地运行、结果上传平台验证,是一种兼顾隐私、安全与可靠性的方式,适合正在学习或探索本地化量化策略开发的朋友参考借鉴。
免责声明
本文所涉及的内容仅用于学习研究与技术交流,不构成任何投资建议。文中观点、策略及数据仅供参考,投资者据此操作风险自负。我们不对因使用本文内容所产生的任何直接或间接损失承担责任。市场有风险,入市需谨慎。
评论与交流
当前主要通过知识星球和社交媒体交流文章相关问题。
交流入口
如果你想讨论文章里的代码、数据接口或本地运行问题,可以通过知识星球或页脚社交媒体联系我。