回测软件:如何挑选、使用并值得信赖
回测是连接你所信任的想法与你愿意投入资金的策略之间的桥梁。选错软件,你得到的是一条漂亮的资金曲线,却在实盘第一周就崩塌。本指南涵盖了真正重要的标准、会膨胀表观表现的陷阱,以及把研究转化为可部署代码(或无代码)的工作流。

回测是连接你所信任的想法与你愿意投入资金的策略之间的桥梁。选错软件,你得到的是一条漂亮的资金曲线,却在实盘第一周就崩塌。本指南涵盖了真正重要的标准、会膨胀表观表现的陷阱,以及把研究转化为可部署代码(或无代码)的工作流。
回测软件实际做什么
回测器在历史数据上模拟你的规则,并报告原本会发生什么。给定入场条件、出场条件、头寸规模和止损,它会输出交易清单、资金曲线以及统计指标:CAGR、最大回撤、夏普、索提诺、胜率、盈利因子、敞口。
高质量工具不只是画曲线。它们摄取准确的市场数据,对滑点和点差进行成交建模,处理组合规则和风险控制,并允许你检视交易和不同行情阶段的行为。玩具和严肃回测器之间的差别在于真实感 — 模拟与你实盘实际面对的条件的贴合程度。
选择合适工具的八条标准
| 标准 | 需要核实的内容 | 警示信号 |
|---|---|---|
| 数据质量 | 无幸存者偏差的股票数据,外汇/加密的逐笔或精确的日内数据,股息调整 | 数据来源无文档 |
| 成交真实感 | 可配置的滑点、点差、订单类型、部分成交、延迟 | 仅假设按收盘价成交 |
| 速度 | 回测以秒级而非小时级完成 | 简单规则也要跑一个小时 |
| 表达力 | 能结合价格、指标、基本面、新闻、另类数据 | 锁定在一小组指标内 |
| 研究到实盘 | 同一逻辑无需重写即可部署 | 在工具A回测,在工具B实盘 |
| 诊断能力 | 交易清单、热力图、参数敏感性 | 仅有汇总统计,无交易级细节 |
| 易用性 | 面向非工程师的无代码或低代码,面向工程师的SDK | 在产出结果前学习曲线陡峭 |
| 成本与生态 | 价格与你的规模匹配,有模板社区 | 按测试收费扼杀迭代 |
选择能缩短你的迭代循环的工具。最好的回测器是你每周真正用来评估新想法的那一个。
现代工作流
专业的研究大致遵循下面的顺序。跳过步骤,就意味着发布一个会向你撒谎的回测。
- 提出一个可证伪的假设。 "当2小时RSI升至50以上,且2小时和8小时的Supertrend为多头时,EURUSD的多头在扣除费用后具有正期望值。"
- 定义资产范围和时间框架。 具体的资产、具体的K线、具体的日期。至少保留30%的历史数据用于验证。
- 将规则与风险控制代码化。 入场、出场、止损、止盈、头寸规模、组合上限。
- 运行基线测试。 现实的滑点、佣金、延迟。记录表现和失败模式。
- 进行样本外验证。 冻结规则并在预留的历史数据上运行。表现的劣化应少于三分之一。
- 检验稳健性。 前向滚动、参数扫描、对交易序列的蒙特卡洛。
- 模拟交易。 用实时数据和模拟订单进行两到四周。捕捉静态回测会漏掉的运维问题。
- 小规模部署。 第一个月按目标规模的25%运行。监控滑点和成交质量与回测假设的差距。
让真金白银归零的陷阱
数据窥探
你在同一份数据上反复调参,直到曲线看起来完美。你捕捉到的是噪声。保持参数的粗粒度,做样本外验证并前向滚动。
前视偏差
你的信号使用了决策时无法获得的信息。常见原因:用K线的收盘价在开盘时入场,或使用修订后的财报数据而非原始数据。让信号与执行按现实的时滞对齐。
幸存者偏差
你的股票样本剔除了退市或破产的公司。失败者消失了,所以回测结果看起来比现实更好。使用时点指数成分。
不真实的成交
零滑点的收盘对收盘成交。对任何高换手策略都是幻想。建模随流动性变化的点差,以及在波动期扩大的滑点。
过度优化
优化网格上的尖峰通常意味着过拟合。目标是宽阔的参数平台,在适度的参数变化下仍能取得可接受的表现。
回测是你的想法在既定条件下经受过去考验的证据。它不是对未来的保证。为稳健性而构建,而不是为最高的历史夏普。
三个示例策略以及好软件揭示的内容
技术动量
入场:1小时图上50周期SMA上穿200周期SMA,RSI低于70。出场:2 ATR止损,3 ATR目标。优质软件报告的不只是总收益。它显示平均交易持续时间、随时间变化的资金曲线、最差的交易中回撤、对ATR乘数的敏感性,以及跨波动率区制的行为。
事件驱动
入场:当可信的飓风信号出现,且WTI在确认成交量下突破95时买入原油。持仓三天,除非WTI涨破某个阈值。该工具必须摄取带有精确时间戳的事件数据,并与市场数据对齐。现实的成交建模很重要,因为新闻会扩大点差。
组合再平衡
配置:BTC/ETH/USDC 为 50/25/25,以5%的漂移带每周再平衡。优质软件在组合层面计入交易成本,准确建模漂移带,并同时报告组合级回撤和相关性影响 — 而不仅是各资产的收益。
你今天就能跑的30分钟首次回测
| 步骤 | 操作 |
|---|---|
| 1 | 用一段话陈述规则 |
| 2 | 设定现实成本:5 bps滑点,1 bp佣金,保守点差 |
| 3 | 实现入场、出场,以及一个安全规则(若波动率较20根K线基线扩大三倍则平仓) |
| 4 | 保留30%的历史数据用于验证 |
| 5 | 运行基线。记录CAGR、回撤、夏普、盈利因子、胜率 |
| 6 | 对止损与目标比的敏感性检查 |
| 7 | 在3到5折上做前向滚动 |
| 8 | 对交易序列做蒙特卡洛以估计最差情景回撤 |
| 9 | 进行两周模拟交易 |
| 10 | 以目标规模的25%部署 |
Obside的定位
如果你的目标是从想法到实盘的速度,Obside把整个循环压缩到一次对话里。你用简单英语描述规则,引擎在数秒内返回一次回测,同一逻辑无需重写代码即可部署到你连接的券商。
端到端可工作的示例:
- "当2小时Supertrend转多且2小时RSI低于70时,以5 ATR追踪止损买入。Supertrend反转时平仓。"
- "每周一上午10点买入50个比特币。"
- "当EUR/USD的RSI上穿70且MACD转空时提醒我。"
- "若标普500日内下跌10%,卖出所有头寸。"
- "保持50% BTC、25% ETH、25% USDC,每周再平衡。"
该平台在2024年巴黎交易博览会上荣获创新奖,并由 Microsoft for Startups 支持。
诚实的考量
回测是模型,不是现实。市场会变,流动性会消失,相关性会跳跃。过拟合是常在的风险,尤其在参数众多且验证薄弱时。对短期系统而言,成本如同重力。
对运营能力诚实。如果你的优势需要亚秒级执行而你在实盘做不到,结果就不可行。许多"漂亮回测"的策略在生产中死掉,原因在于搭建机器人的工程师并不是真正运行账户的交易员。
准备好在几分钟内从想法到上线了吗?
挑一条你相信的规则。跑30分钟回测。如果它通过了验证,就小规模部署。Obside Copilot 接受简单英语,在数秒内返回回测,并通过你的券商路由订单 — 无需代码。
创建你的免费Obside账户,今天就发布你的第一条经回测验证的规则。
仅供教育用途。此非投资建议。交易涉及风险,包括可能的本金损失。
常见问题
最准确的回测软件是哪一款?
准确性取决于策略与假设。日内或事件驱动系统需要高质量的日内数据、现实的滑点和事件对齐。波段或组合策略需要准确的公司行动与组合模拟。最好的工具是最贴近你实盘执行条件的那一款。
我需要多少历史数据?
对于日线策略,五到十年,覆盖牛市、熊市和震荡市。对于日内,跨多个波动率区制的深度比日历长度更重要。始终保留至少30%用于样本外验证。
我可以回测基于新闻或宏观事件的策略吗?
可以 — 前提是软件摄取与价格序列对齐的带时间戳事件数据。执行建模至关重要,因为新闻时点差扩大、滑点飙升。把数据、逻辑和执行结合的平台在这方面有优势。
样本内和样本外测试有何区别?
样本内数据用于构建与调优策略。样本外数据在验证前保持不动。仅在样本内表现良好的策略是过拟合的。前向滚动测试在时间上交替使用两者。
无代码回测对严肃交易够用吗?
可以。关键问题不在于你是否写代码,而在于工具能否让你清晰表达逻辑、真实建模执行,并在不重写的情况下走向实盘。如今许多无代码平台已经追平甚至超过大多数零售级Python配置的能力。
CAGR之外还有哪些指标重要?
最大回撤与水下时间(你能承受吗?)、夏普与索提诺(收益是否干净地获得?)、盈利因子(以绝对值计的赢者对输者)、敞口(你在市场中的时间占比)、以及交易分布在子周期上的稳定性。
我怎么知道我的回测是否过拟合?
三个征兆:微小参数变化引起巨大的表现波动、样本外结果劣化超过一半、规则在相关资产上不奏效。稳健策略能承受适度扰动。