回测一个均线策略 Backtesting
把规则交给历史数据检验:收益、胜率、最大回撤,一个都不能少。
还没想好?先看看第一课(无需注册)「多指标共振」。
文字版讲解 · 指标实战与回测 第 3 课「回测一个均线策略」
把规则交给历史数据检验:收益、胜率、最大回撤,一个都不能少。
把规则交给历史检验
回测就是用历史数据模拟“如果当时严格按规则交易,会怎样”。成绩单要看收益,也要看最大回撤、胜率、交易次数,并和“买入持有”比较。
不能用你当时还不知道的信息
收盘价算出的信号,只能在下一根开盘成交。用当天收盘信号按当天开盘价成交,就是未来函数——回测会好看得离谱。
别忘了交易成本
每次买卖都要付手续费,还会有滑点。交易越频繁,成本吃掉的越多:一个毛收益不错的策略,扣掉成本可能就不赚钱了。
本课要点
- 回测 = 用历史数据模拟严格按规则交易的结果。
- 看收益的同时,一定要看最大回撤和交易次数,并与“买入持有”比较。
- 计入手续费和滑点;信号用收盘价算出,就只能在下一根开盘成交,避免使用“未来数据”。
- 回测好看不代表未来能赚钱,它只是排除坏主意的第一道关卡。
动手试试
下面这些练习可以在本课的互动模拟里完成:
- 保持「趋势市」和 5 / 20,点「运行回测」:策略收益跑赢买入持有了吗?最大回撤谁更小?
- 看下方例题卡:A 收益 30% 但回撤 50%,B 收益 20%、回撤 10%。按“收益 ÷ 回撤”,哪个更好?
- 打开「未来函数」:作弊版多赚了多少?悬停一笔交易,看看它在哪一根“偷看”了收盘价。
- 切到「震荡市」再回测,并把手续费拉到 0.3%:来回交易的成本如何吃掉收益?
小测与解析
- 1. 策略 A 收益 30%、最大回撤 50%;策略 B 收益 20%、最大回撤 10%。风险调整后通常哪个更好?
- 答案:B。B 每承受 1 份回撤换来的收益高得多。
- 2. 回测中用当天收盘价算出信号,却按当天开盘价成交,犯了什么错误?
- 答案:使用了未来数据。开盘时你还不知道收盘价。
- 3. 单边手续费 0.1%,策略一年完成 200 笔交易(每笔一买一卖)。把手续费简单相加,大约会吃掉多少收益?
- 答案:约 40%。200 笔 × 2 次单边 × 0.1% ≈ 40%。回测里忽略成本,频繁交易的策略会被严重高估。
本课术语
- 回测 (Backtest):用历史数据模拟按规则交易的过程,用来评估策略表现。
- 佣金 / 手续费 (Commission):每次买卖时付给券商的费用,会直接减少你的利润。
- 死叉 (Death Cross):短期均线(或指标快线)从上向下穿过长期均线(慢线)。
- 净值曲线 (Equity Curve):账户资金随时间变化的曲线。
- 金叉 (Golden Cross):短期均线(或指标快线)从下向上穿过长期均线(慢线)。
- 未来函数 (Look-Ahead Bias):回测时不小心用到了当时还不可能知道的数据,会让结果虚高。
- 最大回撤 (Max Drawdown):净值从历史最高点到之后最低点的最大跌幅。
- 盈亏比 (Profit Factor):全部盈利交易之和 ÷ 全部亏损交易之和。
- 滑点 (Slippage):预期成交价与实际平均成交价之间的差。大市价单吃掉多档挂单时产生。
- 止损 (Stop Loss):价格朝不利方向走到预设位置时自动平仓,用来限制最大亏损。
- 胜率 (Win Rate):盈利交易次数占全部交易次数的比例。