← 返回教程库

量化做不到的四件事,也就是你必须亲自站的四班岗

最后更新 2026-08-19
📚 量化与 AI 投研 📖 量化认知与边界 ⏱ 约 20 分钟 R2 · 注意风险
你将学到
  • 说得出量化方法的四条能力边界各自因何而来,而不是笼统一句「没有圣杯」
  • 拿到任何一套量化方案,能分清哪些格子由机器填、哪些格子只能你自己填
  • 事前写出一份「什么情况下我人工接管」的清单,而不是等事情发生了再临时决定

你去问一个做量化的人「这套东西能干什么」,他大概能讲一小时:能不带情绪地执行、能同时看几百个品种、能把一条规则在十年历史上重放一遍看结果。

你接着问一句「那它不能干什么」,气氛通常会变一下。你会得到一句很体面的回答:市场上没有圣杯。

这句话听着谦虚,其实等于没说。它把「不能」糊成了一团雾,你既没法拿它去检查一份方案,也没法拿它去安排自己该在哪儿使劲。一条真正有用的边界,应该是能点名的:它长什么样、为什么必然长这样、遇到了我该怎么办。

这一篇就点四条。每条我都会讲三件事——先打个比方让你抓住直觉,再说它对你的决策意味着什么,最后说它在真实的量化系统里以什么形式露头。讲完四条,我会花一整节讲这篇真正想说的那件事:边界不是缺陷,边界是分工表。 它告诉你哪些格子交给机器填是安全的,哪些格子你必须自己拿笔填。

先划清这一篇不讲什么。「什么样的人不适合做量化」是性格和处境的问题,归 什么样的人不适合做量化;「上手要跨过哪几道坎」是资源和技能的问题,归 散户做量化,真实门槛在哪几道。这一篇只谈方法本身的能力天花板——就算你性格合适、门槛全过了,下面这四件事它依然做不到。

边界一:它没见过的事,它不会算

先打个比方

你雇了一个开了二十年本地出租的司机。他熟到什么程度?哪个路口早高峰会堵、哪条巷子能穿、哪段路雨天积水,全在他脑子里。你坐他的车,闭着眼都放心。

某个月,市政把主干道改成了单向通行,还新开了一条高架。

这时候会发生一件微妙的事:这位司机原来最值钱的那部分能力,短时间内变成了负债。 因为「熟」的本质是把路线固化成了反射动作,他会下意识往老路上拐。一个刚来的新司机反而不会犯这个错——他没有可依赖的记忆,只能老老实实看路牌。

请注意,司机没变笨,他的经验也没有作废。变的是他的经验所描述的那个世界

这对你的判断意味着什么

量化系统的全部本事,来自对历史数据的统计。回测就是拿过去的行情把一套规则重放一遍算成绩;模型训练就是让程序从过去的数据里找出重复出现的模式。两者的共同前提是一句话:未来这段路,和我学过的那段路,长得差不多。

所以任何回测数字、任何模型的准确率,正确的读法都不是「它有多准」,而是「它在那一段历史里有多准」。这两句话之间隔着一整个假设。

顺着这个逻辑往下,你就有了几个非常具体的追问,而且不需要懂代码就能问出口:

  • 你测的那段历史里,都包含哪几种日子? 有没有一次真正的暴跌,有没有一段长到让人绝望的横盘,有没有跨过一次利率环境的翻转。如果这套东西只在一段单边上涨里被验证过,那它对下跌的应对能力是完全未知的——不是「较弱」,是未知。
  • 这段历史里有没有发生过制度层面的改动? 交易规则、涨跌幅限制、做空工具的可得性、信息披露要求,这类东西一变,靠某种市场摩擦活着的规律可以当场死掉。跨过这种断点的历史数据,前后两段其实不是同一个市场。
  • 它对「没见过的日子」的默认反应是什么? 这是最关键的一问。人碰到没见过的路口会减速,程序不会。程序会把陌生的输入代进原来的公式,输出一个格式完全正常、看起来很有底气的数字。它不会告诉你「这个我没学过」,它只会给你一个答案。

最后这一点值得多说一句:极端行情之所以危险,不只是因为跌得多,而是因为它天然属于「样本里很少见」的那一类——正因为少见,历史统计对它的刻画最粗糙,偏偏它对你的账户杀伤力最大。这个错位本身就是一类专门的风险,尾部风险:VaR 说「95% 的日子最多亏 2%」,剩下那 5% 呢 把这件事拆得更细。

它在系统里长什么样

我读了本地留存的开源交易框架 freqtrade 的文档快照。它在讲回测的那一页,专门列了一节「回测所做的假设」,一条一条写清楚模拟成交时都当作什么成立。列完之后,作者自己写了两句收尾的话,大意是:即便做了这些努力,回测永远不能替代先用模拟盘跑一遍;另外请记住,过去的结果不保证未来的成功。

我想让你注意的是这两句话出现的位置——它们不在免责声明里,是在技术文档的正文里,紧跟着一长串技术细节之后。写这套系统的人,把「我的成绩单不能外推」当成了系统说明书的一部分。

还有一处更硬的证据。这个框架的机器学习模块里有个函数,功能是判断当前这个模型是不是「过期」了:拿模型训练完成的时间戳和现在比,算出中间隔了多少小时,超过你在配置里写的那个上限就返回「已过期」。而这个上限的处理方式很有意思——如果你没填,它就不做这个检查(具体的默认行为以你手上那个版本为准)。

这个设计等于在说两件事。第一,模型是有保质期的东西,跟牛奶一样,不是造出来就永远能用;第二,保质期多长,系统不替你决定,你自己填。

这一条边界的成因,说到底只有一句话:统计只能描述它见过的世界,而未来永远保留着长得不一样的权利。

边界二:它不会替你决定「你能亏多少」

先打个比方

你要装修,找了三家公司。它们都很专业:能出效果图,能把每一项材料的用量和单价列成表,能告诉你选这个牌子的地板比那个贵多少、耐磨多少、能多用几年。这些活儿它们干得比你强得多。

但有一个数字,三家公司谁也没法替你填:你打算花多少钱。

这个数不是算出来的,是从你的处境里长出来的——你手上有多少现金、这笔钱后面还有没有别的用处、你能不能接受为了好看多背两年债。同样一套户型,一个人填三十万,另一个人填十万,两份方案会长得完全不同,而且两份都是对的,因为填的人不同。

装修公司能给你的是「这个预算下最好的方案」。它给不了你「你的预算」。

这对你的判断意味着什么

量化能算的东西非常多:每个品种买多少、止损放在哪个距离、几个仓位之间怎么分配才不会同涨同跌。止损就是「跌到某个价我就认输出来」的那条线,仓位就是这笔钱占你总资金的比例。这些全都能算,而且算得比拍脑袋强。

但你要看清楚一件事:这些计算全都是在你给定的某个前提之上进行的,而那个前提叫「你能承受多大的亏损」。 这个数一改,所有输出跟着改。

所以有三个非常实用的推论:

第一,同一套信号,两个不同的风险偏好,会跑出两条完全不同的资金曲线。 有人会觉得「那不还是同一套策略吗」——不是。判断买什么的部分相同,但决定亏多少的部分不同,而后者对你的实际体验影响更大。你受不受得了这套东西,往往不取决于它选得准不准,取决于它敢让你亏多深。

第二,你从别人那儿抄来的参数,是别人的疼痛阈值。 这可能是散户最常犯又最不自知的错。一个管着长期资金、五年不用赎回的人,和一个下个月要用这笔钱付首付的人,就算看好同一个东西,合理的仓位也不该一样。参数可以复制,处境不能复制。

第三,顺序不能反。 正确的顺序是:先想清楚这笔钱的性质和你能忍的最深回撤(回撤就是账户从最高点往下掉过多少),再去看方案能给你什么。而多数人是反的——先被一条漂亮曲线勾住,然后回过头给自己凑一个能接受这条曲线的心理预算。这个顺序一反,风险偏好就从「输入」变成了「事后合理化」。

它在系统里长什么样

这一条在系统里的证据,比我预想的要直白。

freqtrade 的配置文档里有一张参数表,其中有几项被明确标注为「必填」:最多同时持有几笔交易、每笔投多少钱、止损设为多大比例、以及一组「赚到多少就了结」的阈值。也就是说——在你回答完这几个问题之前,这个框架根本不启动。 它没有默认值可以让你糊弄过去,因为这几个问题没有客观正确答案。

再看另一边。qlib 是一套用来做量化研究的开源工具,它的组合优化器里有一个入参叫 lamb,源码注释直接写明这是「风险厌恶参数」,并说明这个值越大,优化目标越偏向收益那一侧;代码里还加了一句断言,要求它不能是负数。

把这两处并排看,指向同一个结论:在真实的量化系统里,「你有多怕亏」不是一个被算出来的结果,是一个必须由人填进去的输入。 它是方程的系数,不是方程的解。

一台机器最诚实的地方,恰恰是它拒绝替你填这一格。因为亏的时候难受的是你,不是它。这条边界不是技术不够,是归属问题:承担后果的人,才有资格设定后果的上限。这个道理在把 AI 卷进投研流程之后同样成立,只是形式更隐蔽,有三件事,无论 AI 多好用都别交给它 讲的是同一个归属逻辑的另一面。

边界三:它只在你写下的规则里应变,规则之外它不会停下来问

先打个比方

扫地机器人是个挺聪明的东西。它会绕开椅子腿,会记住房间的地图,电量低了会自己回去充电,撞到门槛会换个角度再试一次。你看它转半天,会真的觉得它在「随机应变」。

然后有一天,孩子把一杯牛奶打翻在地上。

机器人开到那儿,不会停,不会犹豫,更不会喊你。它会带着那摊奶,把整个屋子拖出一片漂亮的花纹。

它笨吗?它绕障碍、回充电桩的本事一点没退化。问题在于,它的所有「灵活」,都发生在设计者预先想到的那几种情况里。 「地上有液体」不在那份清单上,于是它对这件事的反应不是「停下来」,而是「按最像的那条规则继续执行」。

这才是最要命的地方:遇到规则外的情况,它的默认动作不是暂停,是照常。

这对你的判断意味着什么

你会听到很多「智能」「自适应」「动态调整」的说法。这些词不假,但要看清它们的作用范围:自适应调的是你允许它调的那几个旋钮,不是自己长出新旋钮。 波动变大了它把止损放宽,这叫自适应;交易所今天下午系统故障了,这不在旋钮里。

哪些情况天然在规则之外?举几个不需要专业背景就能想到的:品种临时停牌、市场触发了某种全局性的暂停机制、你的数据源断了但程序不知道自己断了、你自己家里出了急事需要把钱抽走、以及最普通的一种——你发现这套东西赖以成立的那个前提,好像已经不成立了

最后这种最难处理。前面几种至少会报错,会有明显的异常。而「前提悄悄失效」这件事不会触发任何报警,程序看到的一切数据格式都正常,它会一丝不苟地继续下单。

所以,量化不会替你做的那个动作,叫踩刹车。它会执行你写好的所有「如果…就…」,唯独不会执行那个你从来没写下来的「不对劲,先停」。

它在系统里长什么样

freqtrade 里有一组叫「保护机制」的功能,看名字最像临场应变:短时间内连续触发几次止损就暂停交易一段时间、回撤达到某个程度就暂停、某个品种表现太差就锁住一段时间不碰、刚卖掉的品种设一个冷静期不许马上买回来。

但你把它们的参数看一眼就明白了:每一条都要你事先填清楚回看多长时间、几笔算够、暂停多久。文档还专门提醒,这些保护机制在回测里默认是不生效的,得你显式打开。

换句话说,这些不是应变,是提前写好的应变。它们本质上还是「如果…就…」,只不过写的是关于亏损本身的条件。真正意义上的临场应变,在这个系统里被放在了完全不同的地方——放在了给人按的那些命令里:暂停开新仓(已有的仓位仍按各自规则处理)、立刻平掉某一笔或全部、彻底停机。

而最能说明问题的是另一个命令。这个框架允许你手动告诉程序「我认为现在市场是往上、往下还是没方向」,然后策略代码里可以读到这个判断。文档里关于它有两句话,我认为是这一整节的证据核心:

第一句,这个变量在程序启动时是空的,必须由使用者来设。系统承认自己不知道大方向,专门留了一个插槽等人填。

第二句更值得玩味:文档在这里加了一个醒目的警告,说因为这个变量本来就是给人在实盘里手动改的,用到它的策略在回测里很可能给不出可靠、可复现的结果

这句话把整件事挑明了:凡是靠人临场判断的部分,回测天生测不出来。 它既不能证明你的临场判断有用,也不能证明没用——它只是压根没有这一格。所以你在回测报告里看到的一切,都是「假设全程没有人干预」的结果。这是一份成绩单,也是一个隐含的前提说明。

这条边界的成因,说穿了是规则的封闭性:一套规则再复杂,也只能覆盖写下它的人想到过的情形。而市场恰恰是一个不断生产新情形的地方。

边界四:过去成立过,不等于会继续成立

先打个比方

一家藏在巷子里的小馆子,有道菜做得特别好,价格还实在。开头两年,只有附近的人知道,去了就有位子。

第三年它上了本地的美食榜。你现在去,门口排两小时。第四年,隔壁开了三家做同一道菜的,招牌都长得差不多。第五年,原来那家的味道没变,价格没变,但你已经不觉得它多划算了——因为选择变多了,也因为你为它多花了两小时。

这里面没有谁做错事。菜没变差,老板没变坏。变的是有多少人知道这件事。

这对你的判断意味着什么

一条能带来超额收益的规律——超额收益指的是扣掉市场整体涨跌之后还剩下的那部分——它的钱从哪儿来?很大程度上来自「知道并且在做的人还不多」。当这个条件变了,收益就会被磨薄。这件事的完整机制、四个典型阶段、以及怎么把「真的在衰减」和「本来就是假的」分开,信号衰减:好因子为什么会慢慢失效 已经讲透了,我这里不重复推导,只讲它作为一条边界,对你的用法意味着什么。

有三点是你必须自己接住的:

第一,历史业绩是「曾经成立」的证据,不是「继续成立」的保证。 这句话被说滥了,但多数人只把它当成一句免责套话。它其实是一句可操作的话:当有人拿历史业绩说服你的时候,你要追问的不是「过去多好」,而是「当初让它有效的那个原因,现在还在不在」。有原因才有边界,没原因的好看曲线,你连它什么时候会失效都判断不了。

第二,失效通常不是归零,是变薄。 这个区别很致命。归零你能一眼看出来,变薄你看不出来——它可能刚好薄到被你的交易成本吃掉。手续费和买卖差价这些成本对每个人不一样,于是同一套东西,在成本低的人手里还能勉强活着,在成本高的人手里已经是负的了。它的「死期」因人而异,而你只能自己算你那一版。

第三,也是这一条最特殊的地方:四条边界里,只有这一条会随时间单调恶化。 前三条的严重程度大致是恒定的——历史覆盖不全就是覆盖不全,风险偏好就是要你填,规则之外就是不会停。而这一条不同,它今天比昨天更严重,明天比今天更严重。

这个性质直接决定了应对方式:前三条可以一次性处理好,这一条只能持续复检。 你没法「修好」它,只能定期回来看它现在到哪一步了。这也是为什么成熟的做法会给模型设保质期、会定期重新训练——不是因为程序会坏,是因为它描述的那个世界在往前走。这件事在模型层面的完整形态,见 模型会过期:找到一个好模型,其实才刚开始

把四条并排看:边界不是缺陷,是分工表

四条讲完,我要说这篇真正想说的那件事了。

一把卷尺量不了温度。你不会说这把尺子有缺陷,你只会说:量长度用它,量温度得换个工具,而且得先知道你现在要量的是哪个

量化的边界也是这个性质。它不是「这个方法不够好,等技术进步就能补上」——四条里没有一条是技术问题。第一条是统计的本性,第二条是后果归属,第三条是规则的封闭性,第四条是竞争的必然。它们不会因为算力更强、模型更大而消失。

边界真正的用处,是把一份工作切成两半,告诉你哪半该交出去、哪半必须自己扛。我把它列成一张表:

你面对的问题 谁来回答 为什么是他
这套规则在过去某一段历史上表现如何 机器 这正是它擅长的:不带情绪、不漏样本、算得比你快也比你准
我这笔钱能承受多深的回撤 这个数从你的处境里长出来,机器只能把它当输入
现在这个市场,还是不是我验证过的那个市场 机器只能报告「和过去不一样」,要不要因此停手是判断,不是计算
出现了规则里没写的情形怎么办 规则之外没有规则,只有人
这条规律现在还剩多少 机器测量,你决策 测量是统计活儿,「薄到什么程度我就不做了」是你的成本和你的忍耐度

看这张表最该有的感受不是沮丧,而是踏实——你终于知道自己该站在哪儿了。很多人做量化做得焦虑,恰恰是因为把这五行全推给了机器,然后发现机器给的答案接不住现实,于是开始怀疑一切。问题不出在机器身上,出在分工上。

顺着这张表,有三件事是你现在就能做的。

一、事前写下你的人工接管清单。

写清楚:什么情况下我不再让它跑。关键在于,每一条都要写成第三方能判断真假的句子。「感觉不对就停」不算数,因为事情真发生的时候,你的感觉会准时替你找到「再等一根 K 线」的理由。而「连续多少个交易日出现某种状况就停」是能判断的——判据能不能判断,比判据定在哪儿更重要。

为什么必须事前写?因为这份清单要对付的正是「规则之外」,而人在规则之外的时候,情绪的音量最大。你事前那个冷静的自己,是唯一有资格给事中那个慌张的自己立规矩的人。

二、把风险偏好当输入,先填后算。

在看任何一条曲线之前,先自己回答三个问题:这笔钱多久不用?我能忍受账户从高点往下掉多少而不改动作?如果最坏情况发生了,我的生活会不会被影响?把答案写下来,再去看方案。

顺序颠倒的代价是隐蔽但昂贵的:先看曲线,你的风险偏好就会被那条曲线塑造,而不是被你的处境塑造。

三、给每套东西设一个复检节奏和一个下架条件。

借用前面那个「模型保质期」的思路:不要等它出事才回头看,而是到期就体检一次。 复检的间隔取决于你这套东西的换手快慢,快的看得勤些,慢的可以宽一点;关键是这个节奏得是事先定的,不是心血来潮想起来才看。

下架条件同理,事前写、写成能判断的。这一条对付的正是第四条边界那个「单调恶化」的性质。

最后我想留一句可以直接拿去用的话。判断一个人或一个产品可不可信,最快的办法不是听他讲能做到什么,是问他做不到什么。 能把边界讲清楚的人,说明他真的走到过边界上;一句「没有圣杯」就带过去的人,多半还没走到那儿。而一份从头到尾只有优点、连一句「本方法未能覆盖」都没有的材料,你要格外小心——不肯说边界的东西,边界往往就在你脚下。

⚠️ 风险提示

本节讲的是量化方法的能力边界,不构成任何投资建议、买卖信号或收益承诺。文中提到的任何回测或历史统计结果都建立在特定的假设与特定的历史区间之上,回测不等于实盘,历史表现也不预示未来。文中涉及的配置项、参数与命令均来自上述开源仓库快照的文档与源码阅读,不是运行结果,具体行为请以你手上那个版本为准。完整风险提示见 免责声明

小结

  • 边界一,没见过的事它不会算。 一切回测和模型都在说「在我学过的那段历史里」。它对陌生输入的反应不是报警,是照常给你一个格式正常的答案。追问:你测的历史里都有哪几种日子、跨没跨过制度改动。
  • 边界二,它不替你决定能亏多少。 开源框架把仓位、止损这类参数列为必填才肯启动,研究工具直接把「风险厌恶」做成一个入参——你有多怕亏是方程的系数,不是方程的解。别人的参数是别人的疼痛阈值。
  • 边界三,规则之外它不会停,只会照常。 所谓保护机制也是提前写好的「如果…就…」;真正的临场判断被放在给人按的那几个命令里。系统甚至专门留了一个「由人来设的大方向」变量,并老实说明用了它的策略在回测里不可复现——凡是靠人临场判断的部分,回测天生测不出来。
  • 边界四,过去成立过不等于继续成立。 而且它是四条里唯一随时间单调恶化的一条,所以它需要的不是一次性处理,是持续复检;失效常常表现为变薄而不是归零,薄到刚好被你的成本吃掉。机制见 信号衰减
  • 四条都不是技术不够,分别源于统计的本性、后果的归属、规则的封闭性、竞争的必然,算力再强也不会消失
  • 边界的正确用法是当分工表:历史统计交给机器,风险预算、市场是否已变、规则外的处置留给你自己。三个动作——事前写人工接管清单、先填风险偏好再看曲线、给每套东西设复检节奏和下架条件。
  • 想接着看回测和实盘之间那三处具体的机制差异,去 回测好看实盘亏,差的到底是哪三件事;想看历史成绩具体是在哪道工序上被做漂亮的,去 回测偏差地图

一句话说完这篇:这套方法能替你干的活,是把过去数清楚;至于你能亏多少、现在情况是不是变了、出了意外要不要收手——这三件事没人能替你做,所以它做不到,其实是你该站的岗。

内容有错、看不懂、或想看下一篇?告诉我们 →

本文为投资教育整理,不构成任何投资建议;不荐个股/基金、不预测点位、不承诺收益。关键数据与结论请结合权威来源自行验证,并见风险免责声明