在线回测平台(聚宽/优矿):先学会,再离开
先掌握这个答案
四大优点:①零环境(浏览器即IDE——第一天就能跑回测);②数据现成(免了阶段4一半的脏活);③社区策略(读别人代码是高效学习);④模拟盘接口顺滑。三大限制:①黑盒约束(撮合规则/成本模型不可见——q-506六藏身点在别人代码里更难查);②灵活性受限(自定义数据、非标调仓逻辑难实现);③依赖锁定(研究资产沉淀在平台——它停服你的积累搬家成本高)。迁移时机:当你的需求出现「自定义数据管道、非标检验、完全可控的回测协议」三者任一时——通常在完成本课程阶段5后。迁移路径:平台策略→翻译成本地代码(数据从akshare/tushare重拉)→用本地框架复现平台结果→差异归因(这本身就是最好的毕业练习)。简历定位:平台经历=「入门证明」,GitHub本地项目=「能力证明」——两者互补而非互斥。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
每一笔收益都要有可执行时间线
打印数据截止时间、信号时间、订单时间、成交时间和持仓收益区间。收盘信号不能乘当天完整收益;次日开盘成交也不能无条件拿到整个close-to-close收益。用原始价格判断可成交性,并纳入停牌与涨跌停。
本阶段实战方法 · 一条能复现的数据流水线
把接口返回的数据变成可用于因子研究的面板时,先处理时点、主键与单位。
- 建立数据字典:字段、单位、时区、交易日历、数据源、抓取时间、原始价与复权因子。
- 用(date, code)查重,区分停牌、未上市、窗口不足和真实缺失;不要用向后填充把未来值带回过去。
- 保存原始快照与清洗日志,固定随机种子和环境版本;接口字段变化时先核对官方文档。
使用边界
- 报告期不等于公告可用日,盘后公告通常不能用于当天收盘前决策。
- API输出名为“动态市盈率”时不能直接改名TTM;浏览器练习不支持任意原生库或行情抓取接口。
- 平台=玩具:机构也用平台做原型——玩具与否取决于用法(把它当终点是玩具、当跳板是阶梯)
- 平台数据一定对:平台也有口径坑(成分股处理/复权规则)——读平台文档的数据说明页与读本地数据字典同样重要
- 离开平台=否定平台经历:简历两者并写:平台入门+本地工程——完整的学习弧线反而是加分叙事
🛠 本题实践任务
若你有平台策略:完成一次本地复现+归因表(如上模板)。若没有:在任一在线平台注册并复现「20日均线择时」——记下平台的成本与撮合默认值(读文档),为将来迁移存档。
💡 提示(先自己想5分钟再看)
平台文档的「回测设置」页藏着你需要的全部口径默认值——很多人没读过它。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
🤖 AI导师
导师会先检查你的前置知识(回测概念、数据环境),再用案例、公式和代码帮助理解。此功能需要先启用服务。