多条件自动化:价格 AND 新闻 AND 趋势
单一信号既拥挤又嘈杂。学会叠加正交条件如何砍掉误报、过拟合的悬崖在哪里,以及如何一次只加一条规则地构建。

每一个流行的交易信号,上面都站着一群人。RSI 回落、均线交叉、整数关口突破:规则越简单、越出名,就已经有越多资金在交易它,它也就变得越嘈杂。一个多条件交易策略,是实用的答案。你不去猎寻某一个神奇的指标,而是组合几个以不同方式失败的普通指标,这样一个误报就得同时溜过每一道关卡。
这篇文章展示那是如何运作的:为什么单一规则会退化、什么让条件值得组合、一个逐条件构建的走通例子、AND/OR 设计,以及在最后等着的那道过拟合悬崖。
为什么单条件规则会磨损
一个孤零零的条件有两个结构性问题,两者都无法靠调阈值来修复。
第一个是拥挤。任何简单到能塞进一条推文的规则,都有成千上万个账户在交易它,还有更快的账户在套它的利。当所有人都买同一个超卖读数时,入场被抢跑,出场变拥挤。信号照样触发;附在它上面的容易钱,几年前就走了。
第二个是对上下文视而不见。“RSI(14) 低于 30”分不清一个健康上升趋势里的一次例行回调,和一场崩盘的第三天。两者印出同一个数字。一个单一条件,把一个丰富的市场状态压缩成一个维度,而它丢弃的一切,都会回来纠缠这笔交易。
你可以用寻找一个更好的单一信号来回应。几十年的量化研究表明,那种寻找以失望告终。更有成效的做法,是接受每个廉价信号都带着一点信息和大量噪声,然后叠加那些噪声互不相关的信号。
正交胜过数量
组合条件时要紧的那个词是正交:每个条件都应回答一个关于市场的不同问题。两个动量振荡器几乎是天生就彼此一致;要求两者同时满足,是一个身兼两职的条件。
一个有用的设计方式是按“家族”来。从每个家族里最多挑一个条件:
| 家族 | 它回答的问题 | 示例条件 |
|---|---|---|
| 价格 / 动量 | 这个资产现在是否被拉伸了? | 4 小时的 RSI(14) 低于 30 |
| 趋势 | 大局处在什么行情里? | 日线收盘价在 200 日移动平均线之上 |
| 事件 / 新闻状态 | 是否正在发生某件让模式失效的事? | 该资产 12 小时内无高严重度新闻 |
| 波动 | 盘面有多剧烈? | ATR(14) 低于其 90 日中位数的 1.5 倍 |
动量和趋势条件是指标驱动智能体的经典地盘,而基于价位的触发器属于条件单自动化;这篇文章假定你了解这些原料,把焦点放在配方上。事件家族也是它自己的一门纪律,讲在用 AI 做基于新闻的交易里。
正交叠加的回报,是误报的急剧下降。代价是频率:你每加一道关卡,都会扔掉交易,好的也算在内。那个权衡,就是整个游戏。
一个逐条件构建的多条件交易策略
假设你想买 ETH 的回调。下面所有数字都是示意性的,为这次演示编出来的;你自己的回测会产出它自己的数字。
条件 1:4 小时图上的 RSI(14) 跌破 30。 这是论点:短期超卖倾向于反弹回来。在一个假想的两年回测里单独运行,它触发 90 次,而结果以一种特定的方式很难看。胜率在抛硬币附近徘徊,而亏损集中在持续的下跌趋势里,在那里“超卖”一超卖就是好几周。这条规则有一个真实的内核,却没有上下文。
条件 2,加一个趋势过滤器:价格在其 200 日移动平均线之上。 推理:均值回归在更大的结构完好无损时效果最好,所以只在上升趋势里买回调。这一道关卡,把信号数从 90 削到 35,删掉了每一个在熊市阶段触发的触发。剩下的东西看起来不一样了:更少的交易、更好的平均结果,而且更重要的是,那条灾难性入场的尾巴大多没了。留意你付出了什么:策略现在会一次闲置好几个月。那是过滤器在起作用,尽管它会让人感觉策略坏了。
条件 3,加一个新闻平静关卡:ETH 在过去 12 小时内无高严重度新闻。 推理:有些回调是技术性的,另一些是市场在实时地为一次交易所被黑或一次监管行动重新定价。RSI 分不清它们;一个新闻严重度数据源可以。这道关卡可能把 35 个信号修剪到 28 个。7 笔被跳过的交易听起来无关紧要,直到你看是哪 7 笔:买入正在展开的事件中的回调,不成比例地正是那些冲穿止损的入场。你不是在增加预测力。你是在移除一个已知的犯错方式。
条件 4,忍住加第四个过滤器的冲动;改为塑造仓位。 波动属于交易的构建,而不是又一道关卡。用 ATR(14) 来定入场仓位,让这个头寸无论当前动荡如何,都冒你账户的一个固定比例的风险,把止损设在同一个 ATR 的一个倍数上,并事先定义失效:如果你持有期间趋势过滤器本身失效,就出场。规则集保持在三道关卡;波动意识活在仓位调整里。
每个条件都用一个你在看到任何回测之前就能说出的理由,挣得了它的位置:回归短期拉伸、只在健康行情之内、绝不进入正在爆发的新闻。那个“理由在先,回测在后”的顺序,是你对付下两节内容的最佳保护。
设计逻辑:AND、OR 和时间窗口
多条件系统主要是 AND 逻辑:每一道关卡在同一时刻都为真。AND 收窄。每加一个从句都减少频率,而且如果那个条件是正交的,就提高剩下部分的质量。
OR 做相反的事:它拓宽。合理的用途是存在的,主要是通向同一个论点的替代入场(“RSI 低于 30 OR 价格触及 100 日均线,同时趋势和新闻关卡都守住”)。不过要以怀疑对待 OR。你在看到回测之后才拴上的每一个 OR 分支,通常都是想抓住某个具体错过的赢家,那是多了几分语法的曲线拟合。
有两个精细化,在实盘交易里做了很多工作:
序列窗口。 有些想法是有顺序的,而不是同时的:先突破,然后在 48 小时内回踩。一个原始的 AND 无法表达“先这个,然后那个,在 N 小时内”,所以自动化需要一个窗口从句。让窗口保持宽松;一个为抓住某个历史形态而调出来的 6 小时窗口,是一个危险信号。
重新武装规则。 一个触发触发之后,它什么时候可以再次触发?没有一个答案,一个震荡的市场可以在一天内把同一个形态触发五次,把一笔计划中的交易变成一场意外的向下摊平战役。一个简单的规则,比如“每个资产每周最多入场一次”,堵上了这个漏洞。
让整棵树保持浅。一层 AND,最多一个 OR 从句,明确的窗口。如果你需要一张图才能解释你自己的入场逻辑,那你已经不够懂它、不足以在凌晨三点信任它了。这也是大白话自动化划算的地方:在 Obside 上,一个带三个条件的句子变成一个智能体,副驾把解析出的关卡复述回给你批准,所以逻辑保持得和创造它的那个句子一样可读。没有要维护的嵌套 if 树。
过拟合悬崖:当下一个条件把事情弄得更糟时
回想那个算术:90 个信号,然后 35,然后 28。每道关卡都缩小了样本,而这个缩小,恰恰是让策略变得更好的东西。它也是最终摧毁它的东西。
28 笔交易上的统计是脆弱的。加上第五、第六个条件,你可能会得到一个只有 9 笔交易、全是赢家的回测,而它会是你曾经爱上过的最危险的一张图。观测足够少时,随机性会常规性地产出完美。每个条件都是一个自由度,而自由度正是回测记住过去、而不是从中学习的方式。完整的机制活在回测过拟合指南里;这里是可操作的清单:
- 给关卡数量设上限。 两三个正交条件,是一个散户策略的甜蜜点。超出那个,就要求非同寻常的理由。
- 保持一个最低样本。 如果组合规则产出的历史信号少于大约 30 个,你有的是一个轶事,不是证据。在信任它之前,扩大资产集或回溯期。
- 测试边际贡献。 移除每个条件、重跑一遍。一道几乎不改变结果的关卡是死重;一道移除后一切都崩塌的关卡也值得审视;那个优势可能是这个过滤器与某一个历史片段互动的产物。
- 偏好阈值平台。 如果 RSI 30 管用、但 28 和 33 就散架了,那这个“优势”是一个边界锋利的巧合。稳健的条件,会在你移动旋钮时温和地退化。
这道悬崖,在回测本身里没有警告标志。数字会一直看起来更好,直到策略不再描述市场、开始描述历史。
下一步该做什么
照走通的例子那样构建它:把论点陈述为一个条件,只在每个条件都回答一个关于市场的新问题时才加关卡,把波动推进仓位调整里,并在样本变薄之前停手。然后按正确的顺序验证,回测在先,模拟交易在后,实盘资金最后、也最小。
在 Obside 上,你可以在一个地方做完整个回路:输入“当 4 小时的 RSI(14) 跌破 30 时买入 $400 的 ETH,只在价格高于其 200 日均线、且过去 12 小时内无高严重度新闻时买,用 ATR(14) 定仓位,每周最多入场一次”,批准被复述的条件,然后在任何真实订单存在之前,把它作为一个模拟智能体、面对实时数据运行。在 obside.com 用一句话描述你的三个条件,看看这个智能体听到了什么。
仅供教育参考,不构成投资建议。交易存在风险,可能导致本金损失。
FAQ
它是一种策略,其入场或出场要求几个独立条件同时为真,比如一个动量触发器、一个趋势过滤器和一个新闻平静关卡。目标是砍掉误报:每个条件在不同的情形里失败,所以一笔糟糕的交易得同时溜过每一道关卡。代价是总体上更少的信号,这正是为什么这个设计以选择回答不同问题的条件为中心。