LESSON 08 · BEGINNER

什么是回测引擎

回测引擎不是在历史里挑出最赚钱的参数,而是把交易想法变成可重复、可检查的实验。

预计 12 分钟1 个互动实验4 道自测
完成后你将能够
  1. 1区分回测与最大回撤
  2. 2解释 Cerebro 和四个核心模块
  3. 3按历史顺序完成一次双均线回测
01
BACKTEST VS DRAWDOWN

回测和最大回撤不是一回事

PROCESS

回测

用历史数据按时间顺序模拟策略的信号、订单、成交和资金变化。

RISK

最大回撤

净值从历史高点下跌到后续低点时,出现过的最大跌幅。

02
TIME MACHINE

回测引擎是一台交易时光机

逐根播放

按当时已知的数据向前推进,每出现一根新 K 线,策略就判断是否下单,再由模拟账户处理成交和资金。

03
ENGINE COMPONENTS

Cerebro 调度四个核心模块

DATA FEED

数据源

加载日线、分钟线或其他已知数据,并检查复权与交易日。

STRATEGY

策略

定义开仓、平仓、仓位和策略停止条件。

BROKER

模拟账户

管理现金、持仓、订单、成交、手续费和滑点。

ANALYZER

分析器

输出收益、胜率、回撤、交易次数和其他绩效指标。

04
EVENT DRIVEN

一次完整回测的七步

  1. 01

    创建 Cerebro

    建立负责调度整个回测的引擎实例。

  2. 02

    加载历史数据

    确认数据时间、价格口径和当时是否已经可知。

  3. 03

    加入交易策略

    把双均线或其他策略的信号与订单规则交给引擎。

  4. 04

    配置账户与成本

    设置初始资金、仓位、手续费、滑点和目标市场约束。

  5. 05

    加入分析器

    明确要检查的收益、风险、稳定性与交易统计。

  6. 06

    逐根运行

    引擎按时间顺序推进,只允许策略使用当时已经出现的信息。

  7. 07

    读取报告

    对照资金曲线、交易记录和风险指标,检查策略是否可信。

05
DOUBLE SMA

双均线如何被引擎执行

先计算快线和慢线,再把交叉信号转成可执行订单。

例如用 10 个交易日的收盘价计算快线,用 30 个交易日计算慢线。快线上穿慢线时形成开仓信号,下穿时形成平仓信号。

发出信号不等于立即成交。订单可能处于已提交、已接受、已成交、已取消等不同状态。回测需要明确使用哪个时点的价格成交,并防止订单重复提交。

06
ANALYZER REPORT

不能只看最终收益

RETURN

收益率

回答账户最后赚了多少,但不能单独证明策略可靠。

DRAWDOWN

最大回撤

检查净值在历史中最深的下跌,判断风险是否可承受。

WIN / LOSS

胜率与盈亏比

胜率高不代表一定赚钱,还要看每次盈利和亏损的相对大小。

COST

交易成本

手续费、税费、滑点与冲击成本会持续侵蚀频繁策略的账面收益。

07
RESEARCH TRAPS

一条漂亮曲线仍然可能是错的

OVERFIT

参数过拟合

9/19 在某段历史上更好,可能只是记住了这一段答案。

FUTURE DATA

未来数据

当时还不知道的成分股、收盘价或财报数据,不能提前进入策略。

REGIME

市场环境

双均线属于趋势策略,在震荡环境中可能频繁交叉并连续产生小额亏损。

SURVIVOR

幸存者偏差

只使用今天仍然存在的公司,会忽略历史上退市和失败的样本。

EXECUTION

成交假设

信号价格和真实可成交价格不一定相同,还要考虑市场制度与流动性约束。

08
RESEARCH BOUNDARY

好的回测不是为了证明自己对

它是为了尽早发现策略可能错在哪里,并说清策略赚的是什么钱、在什么环境下有效。
实验
INTERACTIVE LAB

双均线回测引擎

切换 10/30 与 9/19 两组参数,开关交易成本,观察同一份历史样本的收益、回撤、成交和交易记录。

固定教学样本逐根 K 线运行双均线回测
01Data Feed历史行情
02Strategy双均线规则
03Broker订单与成本
04Analyzer绩效报告
上涨 K 线下跌 K 线SMA 10SMA 30
正在载入回测图表
基准参数 10 / 30
初始资金 100,000 元100 股整数交易信号次日开盘执行手续费与滑点已开启

切换参数或成本设置,观察同一份历史样本的结果怎样变化。

运行后将看到金叉与死叉次日开盘成交手续费和滑点收益、回撤与交易记录
测验
QUICK CHECK

随堂自测

全部答对,才算掌握本课最重要的逻辑与边界。

01回测和最大回撤的区别是什么?
02Backtrader 里的 Broker 主要处理什么?
03为什么 9/19 在某段历史上更好,仍不能证明它是最佳参数?
04为什么开仓信号不等于已经成交?
ONE PAGE SUMMARY

本课总结

  1. 01回测是验证策略的过程,最大回撤是评估风险的指标。
  2. 02Backtrader 通过 Cerebro 调度数据、策略、模拟账户和分析器。
  3. 03事件驱动回测按时间顺序推进,信号、订单和成交是不同状态。
  4. 04胜率必须和盈亏比、最大回撤、交易次数和成本一起看。
  5. 05历史最优参数不等于未来答案,要检查过拟合、未来数据、样本偏差和市场环境。
LESSON COMPLETE

完成这一课

不是看完就算学会。完成实验和自测,才说明你真正走过了这条推理链。

  • 完成一次双均线回测实验
  • 通过随堂自测
数据口径量化学习训练营教学样本

固定合成 K 线教学样本,实验按收盘信号、次日开盘执行,并可切换手续费与滑点。

风险边界

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。