某派
量化投资进阶系列
下载 App
算法交易精读 封面

算法交易精读

流派 · 量化投资
大师 · 进阶系列
听 56 分钟解读 · 读约 11,938 字精读
在某派 App 听音频解读
一句话定位 陈博士是华尔街从业三十年的量化老兵

这篇讲什么

陈博士是华尔街从业三十年的量化老兵。这本书把算法交易从策略设计、回测、执行到风控的全流程讲透——给真心想动手的量化进阶者。

二零零八年,金融危机最惨烈的几个月,全球股市哀鸿遍野。但某些交易室里,有人面色平静地坐在屏幕前——他们的程序每隔几秒自动发出指令,涨跌都不影响它的节奏。这个画面,很多人觉得离自己很远。要么以为是天才专属,要么以为要有千万资金才玩得起。但陈耀荣在这本书里说的第一件事就是:算法交易不是魔法,是一套可以学、可以搭、可以一步步优化的系统。真正让人意外的是,他告诉你:有效策略的起点,往往不是数学公式,而是你对市场的某个直觉观察。那个「感觉某只股票财报前总会异动」的念头,其实就是策略灵感的雏形。量化做的事,是把这个念头变得可验证、可重复。从想法到代码,从回测到实盘,中间有哪些坑会让你在账面上赚钱、在现实里亏钱——这本书把这条路上的每一个关键节点都摊开来讲清楚了。

谁该读这一篇

试听第一章音频解读

第 1 章 · 策略设计:从想法到代码
知性男声 · 约 14 分钟
App 内还有 220+ 大师案例都已配音频解读 App 内继续听 →

精读全文

第 1 章 · 策略设计:从想法到代码

你有没有想过,一个让你赚钱的交易想法,从脑子里蹦出来,到真正在市场上自动执行——中间到底要经历什么?今天我们就从最开始的地方说起:一个策略,是怎么从一个念头,变成一行行代码的。

想象一个场景。

二零零八年,金融危机最惨烈的那几个月。全球股市一片哀嚎,无数投资者在恐慌中割肉。但在某些交易室里,有一群人坐在屏幕前,面色平静。他们的程序在自动运行,每隔几秒钟就发出一笔交易指令。涨也好,跌也好,程序不恐慌,不贪婪,只是冷静地执行它被设计好的逻辑。

这就是算法交易。

不是魔法。不是天才专属。是一套可以学习、可以搭建、可以优化的系统。

---

**先说这本书要讲什么。**

陈耀荣写的这本《算法交易》,是一本非常务实的书。它不讲玄学,不讲"感觉",讲的是:你怎么把一个交易想法,变成一套真正能跑起来的系统。

我们会分四章来读。

第一章,也就是今天,我们从最源头开始——策略是怎么来的,数据要怎么准备,用 Python 搭建框架是什么意思。这是地基。

第二章,我们聊回测的陷阱。很多人做了回测,觉得策略很美,结果一上实盘就崩了。为什么?问题出在哪里?

第三章,我们进入执行系统。有了信号,怎么变成真实的订单?市价单、限价单、拆单策略,这些细节决定你最终到手的收益。

第四章,我们落脚到风控和上线。一套策略,怎么安全地推进实盘?怎么防止一笔意外交易毁掉整个账户?

四章读完,你会对算法交易有一个完整的轮廓。

好,现在进入今天的主题。

---

**策略从哪里来?**

很多人以为,算法交易的策略是数学家在黑板上推导出来的。

错了。

陈耀荣在书中有一个核心观点:大多数有效的策略灵感,来自于对市场现象的直觉观察,而不是纯粹的数学推导。

停一下,想想这句话。

你有没有注意到,某只股票在每个季度财报发布前,价格会有规律地波动?你有没有发现,某类资产在特定时间段,成交量会突然放大?这些"注意到",就是策略灵感的起点。

量化交易的本质,不是用数学替代思考。而是用数学,把你的思考变得可以验证、可以重复、可以扩展。

策略灵感的来源,大概有这几类。

**第一类:学术研究。**

比如"动量效应"——过去一段时间涨得好的股票,未来短期内往往还会继续涨。这个现象在学术文献里被反复验证过。你可以把它拿来,变成自己的策略框架。

**第二类:市场微观结构。**

订单怎么撮合?大单拆分会怎么影响价格?做市商是怎么行动的?这些细节,藏着很多可以被利用的规律。

**第三类:跨市场关联。**

A 市场涨,B 市场有没有可能滞后跟涨?期货和现货之间,有没有价差可以捕捉?

**第四类:宏观与季节性规律。**

"一月效应"你听说过吗?很多市场在每年一月份,有统计上显著的异常收益。背后是机构年底调仓、税收结算等因素共同驱动的。

但是——

有想法,只是第一步。

---

**数据,才是真正的战场。**

你想验证一个想法,你需要数据。

但数据这件事,远比大多数人想象的复杂。

陈耀荣在书中写道:脏数据是量化策略失败的最常见原因之一,很多人在回测里看到的"盈利",其实是在对错误数据的过度拟合。

这句话,值得反复听。

什么是脏数据?

举个例子。你下载了一份历史股价数据,里面有一天的价格是零。或者,有一天的收盘价比开盘价高了百分之五十,但实际上那天没有任何重大事件。这种数据,就是脏的。

如果你拿这份数据做回测,你的策略会"学到"一个从来不存在的规律。然后你信心满满地上实盘,然后亏钱。

**历史数据采集,要注意什么?**

第一,来源要可靠。

不同数据提供商,对同一段历史的记录可能不一样。价格复权的方式不同,结果会差很多。你要知道你用的是前复权还是后复权,这两种处理方式对策略的影响是不同的。

第二,要处理"幸存者偏差"。

这是一个特别容易被忽视的陷阱。你现在能查到的股票列表,都是"活下来的"公司。那些已经退市的、破产的公司,数据里没有。如果你只用现存股票的历史数据做回测,你的策略会系统性地高估收益。

想想看——

你在过去二十年里,只研究那些"活到今天"的公司,你当然会发现它们大多数都在上涨。但那些中途消失的公司呢?它们的亏损,不在你的数据里。

这就是幸存者偏差。

第三,时间戳要对齐。

不同市场、不同资产,数据的时间戳可能有偏差。如果你在做跨资产策略,时间对齐是基础中的基础。一秒钟的偏差,在高频策略里可能就是生死之别。

**什么叫"干净数据集"?**

陈耀荣给出的标准很清晰:

一,没有缺失值,或者缺失值已经被合理处理。

二,没有异常值,或者异常值已经被识别和标记。

三,价格已经正确复权,反映真实的历史收益。

四,数据的时间范围和频率,和你的策略逻辑是匹配的。

这四条,缺一不可。

---

**Python,为什么是首选?**

现在聊聊工具。

为什么量化交易圈子里,Python 几乎成了标准语言?

不是因为它最快。C++ 比 Python 快得多。

是因为它最"省力气"。

Python 有大量现成的库。处理数据,有 Pandas;做数学计算,有 NumPy;画图分析,有 Matplotlib;做机器学习,有 Scikit-learn。你不需要从零开始写每一个功能,你只需要把这些积木拼起来。

对于个人投资者和中小型量化团队来说,开发速度比执行速度更重要。策略想法变成可测试的代码,Python 是最快的路径。

**一个 Python 策略框架,基本长什么样?**

陈耀荣在书中描述了一个基础框架,大概分这几个模块。

**第一个模块:数据获取层。**

负责从外部拉取历史数据,存储到本地。这一层要做好容错处理——网络断了怎么办?数据源返回错误怎么办?

**第二个模块:信号生成层。**

这是策略的"大脑"。你在这里写你的逻辑:什么条件下买,什么条件下卖。比如,五日均线上穿二十日均线,发出买入信号。

**第三个模块:回测引擎。**

把信号放到历史数据上跑,模拟交易,计算收益、最大回撤、夏普比率等指标。这是验证策略的核心工具。

**第四个模块:执行接口。**

连接经纪商或交易所的 API,把信号变成真实订单。这一层在实盘阶段才会用到。

**第五个模块:风控模块。**

设置仓位上限、止损条件、异常检测。这是保护你账户的最后一道防线。

这五个模块,构成了一个完整算法交易系统的骨架。

---

**一个当下的映射案例。**

说到这里,我想聊一个很多人现在都在做的事情——用 A 股的量价数据,搭建简单的趋势跟踪策略。

逻辑很朴素:价格突破近期高点,成交量同步放大,买入;价格跌破近期低点,卖出。

听起来简单。

但实际操作里,数据准备这一关就能卡死很多人。

A 股有涨跌停板制度。某一天,一只股票涨停,次日开盘直接跌停。这种极端情况,在数据里怎么处理?直接用原始价格,还是做平滑处理?

还有,A 股有大量的停牌记录。停牌期间没有成交,复牌后价格可能跳空。这段数据,要不要纳入回测?

这些问题,不是算法问题,是数据问题。

处理不好数据,你的策略在回测里可能表现得很好,但它实际上是在对历史的"噪音"过拟合,而不是在捕捉真实的市场规律。

这就是为什么,陈耀荣把数据准备放在策略设计的最前面。

地基不稳,楼盖得越高,倒得越惨。

---

**今天的内容,做一个小结。**

策略从观察和直觉出发,但要用数学和代码来验证。

数据是一切的基础,脏数据会让你在虚假的"盈利"里沾沾自喜。

Python 给了我们一个高效的框架,让想法可以快速变成可测试的系统。

但是——

有了策略,有了数据,有了代码,你是不是就可以放心地去回测了?

等等。

回测,真的是你以为的那么简单吗?

为什么那么多人,回测结果漂亮得像梦,一上实盘就全崩了?

问题出在哪里?是数据出了问题,还是测试方法本身就有根本性的缺陷?

下一章,我们专门来拆解这个问题——回测的陷阱,到底藏在哪里?

第 2 章 · 回测的陷阱:为什么很多人被骗

你花了三个月,写出一套回测收益率高达两百percent的策略。兴奋、激动、准备梭哈。

但等等。

这个数字,是真实的财富,还是你亲手给自己设的一个局?

上一章我们讲了算法策略从零到一的搭建过程——怎么找灵感、怎么清洗数据、怎么用 Python 把一个交易想法变成可以运行的代码。核心是:干净的数据加上清晰的逻辑,才是策略的地基。今天我们来看第二章,也是很多人踩坑最深的地方:**回测的陷阱。**

---

先说一个真实的历史场景。

时间回到二零零五年前后。

美国量化对冲基金行业正在爆发式增长。大量顶尖数学家、物理学家涌入华尔街,带着他们的模型和回测报告。那时候有一种说法,叫"因子淘金热"。

谁挖到了新因子,谁就能跑赢市场。

于是,各家基金开始疯狂地在历史数据里"挖矿"——测这个变量,测那个变量,测完一批再测一批。有人发现,某个星期三的月亮相位和次日股价涨跌有统计相关性。有人发现,某类公司名字里字母数量少的,历史回测收益更高。

听起来荒唐吗?

但他们的回测报告,数字漂亮得让人心跳加速。

然后,这些策略上线了。

结果呢?

**亏了。**

不是小亏。是系统性地、大规模地亏。

为什么?

因为他们掉进了回测最深的那个坑——

**数据窥探。**

---

陈耀荣在书中写道,数据窥探(Data Snooping)是量化策略中最隐蔽的致命错误。它的本质是:你用同一批历史数据,反复测试了几十个、几百个策略,然后挑出那个"表现最好"的,宣布它有效。

停。

想一想这个逻辑。

你拿一枚硬币,抛了一百次,记录结果。然后你"发现":每次抛硬币前喝了咖啡的那几次,正面朝上的概率更高。

这是规律吗?

不是。

这是**噪音被当成信号。**

历史数据是有限的。你测试的策略越多,你从这批数据里"挖"出来的所谓规律,就越有可能是纯粹的随机巧合。这就是数据窥探的本质——你不是在发现市场的逻辑,你是在给自己的数据集量身定制了一套衣服。

这套衣服,只适合这批数据。

放到真实市场里?

**撑不过三个月。**

---

与数据窥探紧密相连的,是另一个词:

**过拟合。**

Overfitting。

陈耀荣的核心观点是:一个在历史数据上表现完美的模型,往往是过拟合的受害者。参数越多、规则越复杂,模型就越能"记住"历史,但也越没有能力"预测"未来。

打个比方。

你在准备一场考试。你把去年的真题做了一百遍,每道题的答案都背得滚瓜烂熟。

结果今年出了新题型。

你懵了。

过拟合的策略就是这样。它在历史数据上的"考试"成绩满分。但市场每天都在出新题。

那些参数调得过于精细的策略——比如"当五日均线上穿二十一日均线,且 RSI 介于四十三到五十七之间,且当天成交量比昨天多百分之十二点七……"

这种策略,可能在历史数据里表现绝佳。

但你要问:为什么是二十一日,不是二十日?为什么是百分之十二点七,不是百分之十二?

**答不上来。**

答不上来的参数,就是过拟合的证据。

---

说到这里,我们要引入一个极其重要的概念区分:

**样本内(In-Sample)**

**样本外(Out-of-Sample)**

这是回测里最核心的边界线。

样本内,就是你用来"训练"策略、调整参数的那段历史数据。样本外,是你用来"检验"策略真实表现的另一段数据。

很多人的回测流程是这样的:

拿到十年历史数据。在这十年数据上调参、优化、再调参。最终找到一套"完美"参数。宣布策略有效。

问题在哪?

他们用来"检验"的数据,和用来"训练"的数据,是**同一批**。

这就好比你出了一道数学题,自己做完,然后自己改卷,给自己打了满分。

**这不叫验证。这叫自欺欺人。**

正确的做法是:把数据严格切分。前七成用来训练,后三成封存起来,等策略定型之后,才拿出来做一次性检验。

而且,这个样本外检验,只能用**一次**。

用了第二次,它就又变成了样本内数据。

---

但即使你做到了样本内外分离,还有一个更深的陷阱在等着你。

**滑点假设。**

陈耀荣在书中专门强调这个问题,因为它是最容易被新手忽略、也是最能直接毁掉一个策略的细节。

什么是滑点?

你在回测里下了一笔买单,价格是一百元。但在真实市场里,你的订单发出去的时候,市场已经动了,成交价可能是一百零一元,或者一百零二元。这个差价,就是滑点。

听起来很小?

一笔交易差两元,好像无所谓。

但算法交易的本质是**高频次**。

一天下单五十次。每次滑点两元。一天就是一百元的额外成本。一年交易两百五十天,就是两万五千元。

这个数字,足以把很多策略的利润**彻底吃掉**。

更危险的是那些依赖"精确到分钟"的高频策略。在回测里,你假设每笔交易都以当前报价成交。但现实中,你的订单本身就会影响价格,尤其是在流动性差的市场里。

**你以为你在测试一个策略,实际上你在测试一个不存在的市场。**

---

那么,有没有一种回测方法,能够更接近真实?

有。

它叫做:

**Walk-Forward 测试。**

滚动前推测试。

这是陈耀荣在书中重点介绍的方法,也是专业量化机构的标准流程。

它的逻辑是这样的:

把整段历史数据切成很多小段。第一段用来训练,紧接着的一小段用来检验。然后向前滚动一格,第二段用来训练,再接着的一小段用来检验。如此循环,直到数据用完。

这样,每一次检验用的都是"未见过"的数据。你得到的不是一个单一的回测结果,而是一系列在不同时间段、不同市场环境下的真实表现。

如果策略在大部分时间段都表现稳健,说明它可能捕捉到了真实的市场规律。如果只在某几段特别好,其他时段一塌糊涂,那很可能——

**你的策略只是碰巧适配了那几段特殊的历史。**

Walk-Forward 测试不能完全消除回测的陷阱,但它让你看到的图景,比单次回测真实得多。

---

说到这里,我想讲一个当下的案例。

近几年,随着人工智能的普及,有一类"AI 选股策略"在各种社区和平台上广泛流传。它们的共同特点是:回测收益惊人,夏普比率漂亮,最大回撤极小。

发布者往往会附上一张图,显示从某年到某年,净值曲线几乎是一条完美的斜线向上。

但如果你仔细问他们:

这个策略是在什么时间段训练的?

样本外验证做了吗?

滑点和交易成本是怎么假设的?

Walk-Forward 测试通过了吗?

绝大多数情况下,你会得到沉默,或者一句"这个不重要,你看收益就好了"。

**这就是数据窥探和过拟合的现代版本。**

工具换了,陷阱没变。

---

最后,我想说一件更根本的事。

回测的陷阱,不只是技术问题。它是一个**心理问题**。

人类天生讨厌不确定性。我们喜欢看到漂亮的数字,喜欢相信自己找到了规律,喜欢把过去的成功当成未来的保证。

回测给了我们一种"掌控感"的幻觉。

数字越好看,幻觉越深。

但市场不是历史数据的重播。它每天都在变化,每天都有新的参与者、新的信息、新的规则。

一个诚实的量化交易者,应该把回测看作什么?

**不是答案。是起点。**

是用来筛掉明显错误想法的工具,而不是用来"证明"自己聪明的证书。

---

好,我们停一下,整理一下今天的核心内容。

数据窥探——用同一批数据反复挖规律,噪音被当成信号。

过拟合——参数越精细,策略越"记住"历史,越无法适应未来。

样本内外分离——训练用的数据和检验用的数据必须严格隔离。

滑点假设——忽视交易成本,回测收益是假的。

Walk-Forward 测试——滚动验证,让策略在不同时间段接受考验。

这五个概念,是每一个量化交易者必须刻进脑子里的东西。

---

但是,等等。

就算你的策略通过了所有这些检验,回测结果真的可信了——

然后呢?

你怎么把这个策略,真正地执行到市场里?

一个信号发出来,你是用市价单还是限价单?

你的大额订单,怎么拆分才不会把自己的成本推高?

经纪商的接口,又藏着哪些你不知道的坑?

**下一章,我们来聊聊算法交易里最容易被忽视的战场:执行系统。**

第 3 章 · 执行系统:从信号到订单

你有没有想过——策略再完美,如果下单的那一刻出了问题,一切都白费?回测赚钱,实盘亏钱,很多时候不是策略错了,是执行系统出了问题。今天我们来拆开这个黑盒子。

上一章我们讲了回测的陷阱。

核心是什么?

过拟合、数据窥探、样本外测试——这些坑,让无数人在历史数据上赚得盆满钵满,真金白银下场却输得一塌糊涂。我们说,回测只是入场券,不是通关证。

今天,我们来看第三章。

假设你已经躲过了那些陷阱。你的策略通过了严格的样本外测试,逻辑清晰,数据干净。

然后呢?

然后你要把信号,变成真实的订单。

这一步,听起来简单。

错了。

---

先说一个场景。

时间回到二零一零年五月六日。

美国股市开盘后一切正常。下午两点四十五分左右,道琼斯工业指数开始异常波动。

然后——

崩了。

短短几分钟之内,道指暴跌将近一千点。

一千点。

这不是几天的跌幅,这是几分钟之内发生的事。

后来这个事件被称为"闪崩",英文叫 Flash Crash。

调查结果显示,触发因素之一,是一个大型机构的算法执行系统,在市场流动性已经开始枯竭的情况下,仍然按照预设逻辑持续大量卖出。

它不是在做坏事。它只是在执行命令。

但执行方式,错了。

这就是执行系统的力量——它可以让一个好策略落地,也可以让整个市场在几分钟内失控。

---

好,我们从头说起。

信号产生之后,第一个问题是:

用什么类型的订单?

陈耀荣在书中写道,最基础的选择,是市价单和限价单的取舍。

市价单,就是"我要现在买,不管价格"。

限价单,就是"我要以这个价格买,不成交就算了"。

听起来很简单对不对?

但背后的逻辑,完全不同。

市价单的优点是确定性——你一定能成交。缺点是,你不知道会以什么价格成交。市场波动剧烈的时候,你以为你在买十块钱,实际成交可能是十块二,甚至十块五。

这个差距,叫做滑点。

滑点。

在回测里,很多人默认滑点为零。

在真实市场里,滑点是实实在在的成本。

限价单反过来。你锁定了价格,但你不能保证成交。市场如果根本没有到你的价格,你的单子就挂在那里,什么都没发生。

对于算法交易来说,这个选择不是非此即彼的。

陈耀荣的核心观点是:执行策略的选择,必须和你的交易频率、持仓时间、以及市场的流动性状况匹配。

高频策略,对速度要求极高,往往倾向于市价单,因为错过机会的成本比滑点更大。

低频策略,对价格更敏感,更多使用限价单,宁愿等,不愿意被市场拖着走。

---

但是,真正的难题,不是选哪一种订单。

真正的难题,是:

你怎么下?

想象一下,你的策略给出了一个信号:买入某只股票,仓位是两百万元。

你直接一笔下进去?

停。

想清楚这件事。

两百万元的买单,打进市场,会发生什么?

如果这只股票每天的成交量是一千万元,你一笔两百万,直接占了市场当天成交量的百分之二十。

百分之二十。

你猜市场会怎么反应?

价格会被你自己推上去。

你买的越多,价格越高。等你买完,你的平均成交价,已经远高于你信号触发时的价格。

这叫做市场冲击成本。

这个成本,在回测里几乎不存在。

在实盘里,它可以把你的策略收益吃掉一大半。

---

所以,拆单策略出现了。

核心思路很朴素:不要一次性把订单全部打进市场,把它拆开,分批执行。

但怎么拆?

这里就要说到两个最经典的算法:

TWAP,和 VWAP。

TWAP,全称是时间加权平均价格算法。

逻辑是:把你的总订单,按照时间均匀切分。比如你要在一个小时内买完,就每隔五分钟买十分之一。

简单,粗暴,有效。

但它有个问题。

市场不是均匀的。

上午九点半开盘,成交量可能很大。下午两点,成交量可能很小。你如果每五分钟都买一样多,在成交量小的时候,你的冲击成本反而更高。

于是,VWAP 出现了。

VWAP,全称是成交量加权平均价格算法。

它的逻辑是:市场成交量大的时候,我多买一点;成交量小的时候,我少买一点。跟着市场的节奏走,尽量让自己的成交价接近市场的平均价格。

陈耀荣在书中写道,VWAP 是机构交易员最常用的基准之一。评估一个执行算法好不好,很多时候就是看你的成交价,有没有跑赢 VWAP。

跑赢了,说明你的执行算法减少了冲击成本。

跑输了,说明你的执行方式,让你多付了钱。

---

现在我们来看一个当下的映射案例。

二零二三年,A 股市场上有一类被称为"量化砸盘"的现象引发热议。

部分量化机构在市场流动性不足的时段,集中执行大额卖出订单,导致个股短时间内出现异常下跌。

普通投资者看到的,是莫名其妙的暴跌。

但背后,是执行系统没有充分考虑市场冲击成本的结果。

这不是策略本身的问题。

这是执行层面的问题。

一个好的拆单算法,应该感知到流动性在变差,然后自动放慢执行节奏,甚至暂停,等待市场恢复。

一个粗糙的执行系统,只管把订单打完,不管市场死活。

两者的区别,有时候不只是成本的差异,而是会不会引发连锁反应的差异。

---

好,订单下出去了。

然后呢?

然后你要知道:成交了没有?

这就是成交回报的问题。

听起来像废话——下单之后当然要知道成不成交。

但在算法交易系统里,这件事的复杂程度,远超你的想象。

你的一笔订单,可能被拆成几十笔甚至几百笔小单,分散在不同的时间点成交。

每一笔成交,都会有一个回报:成交价格、成交数量、成交时间。

你的系统需要把这些回报,一笔一笔地收集、汇总,然后更新你的持仓状态。

如果回报处理慢了,或者漏掉了某一笔,你的系统就会对自己的真实持仓产生误判。

误判持仓,然后发出新的信号,然后下新的单。

你猜会发生什么?

对,可能会重复买入,或者在已经卖完的情况下继续发出卖出信号。

这种错误,在测试环境里几乎不会出现。

在实盘里,它可以在几分钟内造成严重损失。

---

最后,我们来说经纪商对接。

这是执行系统里最"工程"的一个环节,但也是最容易被忽视的一个环节。

你的算法,需要通过某种接口,把订单发送给经纪商,经纪商再把订单送到交易所。

这个接口,叫做 API。

不同的经纪商,API 的规范不一样。有些用的是 FIX 协议,有些有自己的私有接口。

陈耀荣在书中强调,经纪商对接不只是技术问题,还是风险问题。

你需要测试:

网络延迟有多高?

断线重连之后,订单状态会不会丢失?

经纪商的系统崩溃了,你的算法会怎么反应?

这些问题,在你真正上线之前,必须一一验证。

因为市场不会等你。

网络断了,市场还在跑。

经纪商宕机了,你的持仓还在那里。

一个健壮的执行系统,必须能够处理这些异常情况,而不是在异常发生的时候,直接失控。

---

我们来做一个小结。

从信号到订单,这条路上有三道关:

第一道,选对订单类型。市价单还是限价单,取决于你的策略特性和市场流动性。

第二道,用对执行算法。TWAP 和 VWAP,不是装饰品,是减少冲击成本的真实工具。

第三道,做好系统健壮性。成交回报要准确,经纪商对接要稳定,异常情况要有预案。

策略是大脑。

执行系统是手脚。

大脑再聪明,手脚不听使唤,也是白搭。

---

但是,执行系统做好了,就万事大吉了吗?

还差一步。

最后一步,也是最关键的一步——

如果市场突然极端波动,你的仓位会不会失控?如果系统出了故障,你有没有应急预案?实盘上线,你敢一上来就全仓压注吗?

下一章,我们来看这本书最后也是最重要的部分:

风控与上线。

一笔错误的交易,到底能有多大的破坏力?

第 4 章 · 风控与上线:不要让一笔交易毁掉一切

你的策略设计好了,回测通过了,订单也能发出去了。

万事俱备。

然后——系统崩了。或者一笔单子方向搞反了。或者行情突然暴动,仓位直接爆掉。

你有没有想过:真正毁掉一个算法交易者的,往往不是策略,而是那个他以为"不会发生"的意外?

上一章我们讲了执行系统。

核心是什么?信号不等于订单。从策略发出信号,到真实成交,中间隔着滑点、流动性、算法拆单、经纪商接口——每一环都可能吃掉你的利润。我们说,执行是策略的最后一公里,走不好,前面全白费。

今天,我们来收尾。

第四章,也是这本书最后一章——

风控与上线。

---

先说一个真实的灾难。

二零一零年五月六日,美国股市。

下午两点四十五分,道琼斯指数在几分钟内暴跌将近一千点。

一千点。

然后又在几分钟内反弹回来。

这就是历史上著名的"闪崩"事件。

后来调查发现,导火索是一个自动化交易程序,在极短时间内疯狂卖出大量期货合约,触发了连锁反应。其他算法程序感应到异常流动性,纷纷撤单、跟随卖出——整个市场陷入了一场算法之间的踩踏。

你猜这场踩踏里,损失最惨的是谁?

不是那些大机构。

是那些没有风控的小账户。

那些程序一路跌停买入、或者一路涨停卖出,完全没有任何保护机制的账户。

等人类反应过来手动干预,钱已经没了。

---

陈耀荣在书中写道,风控不是策略的附属品,而是策略的生命线。

这句话,我想让你记住。

很多人做算法交易,把百分之九十的精力放在策略研究上,把风控当成最后一个"有空再加"的模块。

停。

这个顺序,是反的。

应该是:先有风控框架,再有策略上线。

---

**第一关:仓位上限**

什么是仓位上限?

简单说,就是你的系统在任何时候,单笔、单品种、单方向,最多能用多少资金。

听起来很基础。

但你知道多少人在这里翻车吗?

场景是这样的:你的策略在某个品种上连续发出买入信号。逻辑很清晰,信号很强。系统一路加仓。

然后行情反转。

没有仓位上限的系统,会一直加、一直加,直到账户爆掉。

陈耀荣的核心观点是:仓位上限不是保守,是生存。

他在书中给出了一个思路——把账户资金分成三层:

第一层,单笔交易上限。每一笔单子最多动用账户的百分之几。

第二层,单品种总敞口上限。对同一个标的,不管开了多少笔,总仓位不能超过某个比例。

第三层,全账户风险敞口上限。所有持仓加起来,账户承受的最大潜在亏损,不能超过一个阈值。

三层保护,层层设防。

任何一层触发,系统自动停止加仓,甚至开始减仓。

这不是在限制你赚钱。

这是在保证你明天还能继续玩。

---

**第二关:止损止盈系统**

止损,很多人都知道要做。

但止盈呢?

这里有一个认知误区——很多人觉得止盈是"保守",是"提前锁定利润,错过更大的行情"。

错了。

止盈的本质,是保护你的策略不被极端行情破坏。

想象一个场景:你的策略是做短线均值回归。某天市场出现单边暴涨,你的策略判断"涨太多了,要回调",于是做空。

结果没有回调,继续涨。

没有止损,你扛着。

继续涨。

还在扛。

然后爆仓。

止损的存在,就是给每一笔交易一个"最大容忍边界"。超过这条线,不管你的逻辑多完美,先出去,保住子弹,再说。

陈耀荣在书中特别强调:止损不是承认失败,是承认不确定性。

这一句话,值得反复听。

市场永远有你不知道的信息。你的模型永远是对现实的简化。止损,是你对这个事实最诚实的回应。

---

**第三关:故障应急**

这一关,是业余选手和机构选手差距最大的地方。

什么叫故障应急?

就是:当你的系统出问题的时候,你有没有一套预案?

系统崩溃了,怎么办?

网络断了,怎么办?

经纪商接口超时,订单不知道有没有成交,怎么办?

行情数据出错,策略基于错误数据发出了一堆乱单,怎么办?

这些场景,听起来很极端。

但它们都发生过。

二零一二年,美国骑士资本集团。

一次软件部署失误,导致系统在四十五分钟内自动发出了数百万笔错误订单。

四十五分钟。

损失:四亿四千万美元。

四亿四千万。

公司直接濒临破产,最终被收购。

陈耀荣在书中写道,每一个算法交易系统上线之前,必须有一份"紧急预案清单"。

这份清单要包括:

第一,如何在三十秒内手动停止所有自动交易;

第二,如何快速查看当前所有持仓状态;

第三,如何在系统失联的情况下,通过其他方式平仓;

第四,出现异常订单时,第一时间联系经纪商的流程。

这不是杞人忧天。

这是职业素养。

---

**第四关:实盘渐进上线**

好,假设你的风控框架搭好了。

可以上线了吗?

不。

还有一步:渐进上线。

什么叫渐进上线?

就是不要第一天就把全部资金交给系统。

陈耀荣给出的建议是一个"阶梯式"路径:

第一阶段,模拟盘跑满三十天,观察系统在实盘行情下的表现,和回测有没有明显偏差。

第二阶段,用百分之十的资金上实盘,跑两周。

第三阶段,如果表现正常,扩大到百分之三十,再跑一个月。

第四阶段,逐步提升到目标仓位。

为什么要这么慢?

因为回测和实盘之间,永远有你没预料到的差异。

滑点比你想的大。

某些品种流动性比你想的差。

你的系统在某些市场状态下,行为和预期完全不同。

这些问题,你必须用小仓位去暴露,而不是用全仓去发现。

发现得越早,代价越小。

---

**业余 vs 机构:差距在哪里?**

说到这里,我们来直接对比一下。

业余算法交易者,通常是这样的:

花大量时间调参,追求最高的回测收益率。

风控是事后加的,或者根本没有。

系统第一天就全仓上线。

出了问题,手忙脚乱。

机构是这样的:

策略研究和风控框架同步开发。

上线之前,有专门的压力测试,模拟极端行情下的系统表现。

实盘上线有严格的审批流程。

有专门的风控团队,独立于策略团队,全天监控系统运行状态。

差距在哪里?

不是聪明程度。

不是策略水平。

是对"失控"的敬畏。

机构知道,市场随时可能出现你没见过的情况。他们的全部努力,就是在那个情况出现的时候,损失可控,系统可以继续运行。

业余选手觉得,只要策略够好,就不会有那个情况。

然后那个情况出现了。

---

**当下的映射**

今天,个人量化交易的门槛越来越低。

Python 开源库、免费的历史数据、低佣金的券商接口——这些工具,让普通人也能搭出一个像模像样的算法交易系统。

但工具的普及,不代表风险的降低。

恰恰相反。

越容易上手,越多人跳过了那些"麻烦"的步骤——风控框架、故障预案、渐进上线。

结果就是:更多的人,用更低的门槛,在更短的时间内,把钱亏光了。

陈耀荣在书中说的一句话,我觉得是整本书最重要的提醒:

算法交易系统的目标,不是最大化收益,而是在可控风险下,持续稳定地运行。

持续。

稳定。

可控。

这三个词,才是终点。

---

**整书收束**

回头看这本书,我们走了一条完整的路。

第一章,我们从零开始——如何把一个模糊的交易想法,变成干净的数据和可运行的代码。

第二章,我们踩进了回测的陷阱——过拟合、数据窥探、样本外测试,告诉我们历史数据上的胜利,不等于真实市场的胜利。

第三章,我们打通了执行系统——信号到订单,不是一步,是一条充满摩擦的链条。

第四章,我们在终点站停下来,谈风控——因为所有的努力,都可能被一次没有保护的失控清零。

陈耀荣真正想告诉我们的,其实是一件事:

算法交易不是找到一个"必胜公式",然后躺着数钱。

它是一套严肃的工程——设计、验证、执行、保护,缺一不可。

市场不会因为你的代码写得漂亮就手下留情。

但如果你把每一关都认真对待,它也不会轻易把你淘汰出局。

策略是入场券,风控才是留场证。—— 陈耀荣,算法交易

关于进阶系列

进阶系列

陈耀荣在华尔街深耕三十年,横跨策略研究与系统开发两端,是少数既能写代码又真正在实盘中经历过多轮市场周期的从业者。这本《算法交易》并非学院派的理论推演,而是他把三十年踩过的坑、走通的路提炼成一套可操作的完整方法论。在算法交易工具日益普及、散户也能接触量化平台的今天,这本书的价值不在于提供现成策略,而在于帮你建立一套真正经得起实盘检验的思考方式。

查看进阶系列全部投资笔记 →

本篇 1 句最值得抄进笔记的话

读完这篇,你还会喜欢

在某派 App 继续学习
220+ 大师案例 · 知性男声音频解读 · AI 对话讨论 · 流派归属测评
完整音频版 10 大投资流派 30+ 大师 离线收听 流派测评
下载某派 App
App Store 评分 4.7 · 已上架美区中文
在某派 App 听 56 分钟完整音频解读
含 220+ 大师案例 · AI 对话 · 流派测评
打开 App