做CTA交易时,你是否遇到过这样的情况?
策略在回测中曲线优美,实盘后却接连触发止损。价格突破关键位,模型发出信号,你严格执行。随后市场反转,扫掉止损,又掉头朝原方向运行。一次,两次,三次。账户回撤。当你暂停策略时,真趋势来了,你只能旁观。
你可能会安慰自己:这是CTA必须付出的成本,假突破也是交易的一部分。
但数学告诉你:假突破不仅是交易的一部分,它还是专门为小资金设计的陷阱。
不过,数学同样告诉你:只要理解陷阱的结构,并针对自己的资金约束选择正确的策略参数,任何规模的资金都能活下来。
假突破不是均匀分布的
大多数量化交易者假设假突破是独立同分布的事件。今天一次,明天一次,成本可以平摊。如果真是这样,只要期望收益为正,长期执行就能赚钱。
但2024年发表在《Bernoulli》上的一项研究揭示了一个关键结论。Kluger和Owen在研究多重假设检验时发现:
当检验统计量存在强且长期的自相关时,假发现(false discovery)会呈现出“突发性行为”——大多数时候没有假发现,但偶尔会集中爆发。
把这个结论迁移到交易中:假突破的聚集性是由价格序列的自相关性决定的。CTA策略往往依赖是价格的趋势性(正自相关),而这种性质同样会导致假突破从均匀分布变成聚集爆发。
价格的自相关性固然是基础,但真正让假突破扎堆出现的,是市场中无数相似策略的共振。当大量CTA策略都在识别相同的突破形态、设置相近的止损位置时,一旦价格触发突破,随之而来的可能是集群式的追涨;而一旦价格回调触及止损线,又会引发连锁平仓。这种由策略同质化和止损集群效应构成的反馈循环,才是假突破在短期内密集爆发的微观推手。价格序列的自相关提供了土壤,而策略的趋同性则播下了聚集的种子。两者结合,便有了小资金最怕的连续扫损。
这意味着假突破的风险不是线性的。连续五次假突破同时发生的概率,远大于独立事件假设下的概率。而对于小资金而言,这种聚集爆发的后果更严重。
破产概率指数放大
我们用一个简化模型可以看出:破产概率不是线性叠加,而是指数级放大。
设胜率为 p,单笔止损比例为 r。若假突破独立,连续亏损 n 次的概率是 (1-p)^n。若 p=0.6,连续5次亏损的概率是 (0.4)^5 = 0.01024。
为了量化这种聚集效应,我们可以引入一个聚集因子 c (c>1)。它的含义是:原本需要 n 次独立事件才能出现的连续亏损,在聚集效应下,实际上只相当于发生了 n/c 次“有效独立事件”。换句话说,连续的亏损被压缩成 n/c 个集群,每个集群内部虽然多次亏损,但可近似视为一次大事件。
引入聚集因子 c (c>1)后,概率变为 (1-p)^(n/c)。当c=2时,连续5次亏损的概率升至 (0.4)^(5/2) ≈ (0.4)^2.5 ≈ 0.10。c值越大,聚集效应越强,连续亏损概率越高。从数学上看,c将有效亏损次数从n压缩为n/c。
更关键的是,这个聚集因子 c 无法精确预测。只能用历史数据估计其分布,并取保守值进行风险管理。对于资金有限的交易者而言,问题更加尖锐。因为不能像大资金一样通过精细调整合约数量来控制风险敞口(例如,大资金可以买99手,而非100手)。因此小资金的交易者在亏损时可能会承受接近满仓的冲击,资金曲线的尾部风险被急剧放大。
基于资金规模的策略参数调整
理解了假突破的数学结构,就可以针对不同的资金约束设计策略。以下四个策略分别应对不同情况,前两个适用于所有规模,后两个取决于头寸是否可分。
1. 波动率动态仓位调整
凯利公式:f* = (p - q) / b(其中p为胜率,q=1-p为败率,b为盈亏比)
假设收益分布同方差,但波动率放大时,同样仓位会带来更大的破产风险。修正很简单:让仓位与波动率成反比。设基准波动率为 σ0,当前为 σ,调整后仓位为:
仓位 = 凯利仓位 * (σ0 / σ)
当波动率翻倍时,仓位减半。假突破聚集爆发时波动率必然处于高位,仓位已自动缩减,形成天然防御。
2. 多维度信号过滤
ADX低于25时市场无趋势,此时突破信号的失败率显著高于ADX>25时。成交量方面,真突破伴随持续放量,假突破呈容易呈单日放量后迅速萎缩。从微观结构的角度看,真突破需要持续资金流入维持趋势,假突破往往是流动性提供者利用短期订单不平衡制造的陷阱。
多周期共振也能提升胜率。如果各周期信号独立,比如说日线、小时线、分钟线各自假突破概率为20%且信号相对独立,那么三个周期共振的假突破概率可降至 0.2*0.2*0.2 = 0.008 以下。
虽然周期之间并非完全独立,但效果仍显著。这些过滤器的共同点是:用信息维度的增加,来弥补资金维度的不足。
3. 震荡行情下的分批建仓
在震荡行情中,分批建仓是一种优化风险暴露的有效策略。核心思想是将拟投入的资金拆分成多份,每次仅在关键位置建仓一份,并为每一份设置独立的止损。这样,当市场出现假突破时,每次仅损失一小部分资金,避免了单次大额亏损。而一次性建仓(右侧交易)则会在假突破时承受全部损失。
从概率角度看,假设每次假突破的概率为:q = 1-p(p为胜率)。若一次性建仓,一次假突破即导致破产(损失全部资金),破产概率为 q。若将资金分成 m 份,每次建仓一份,则单次假突破仅损失 1/m 的资金,需要连续 m 次假突破才会破产(假设各次独立),破产概率为:
P(破产) = q^m
由于 q<1,有 q^m << q,因此分批建仓显著降低了破产风险。在多次交易中,若交易次数为N,则一次性建仓的破产概率(连续亏损N次)为q^N,而分批建仓的破产概率需考虑在N次交易中出现连续m次亏损的概率,通常远小于q^N。可见,分批建仓将风险从指数级放大(一次性)转变为近似线性累积,提高了对假突破的容错率。
然而,该策略的有效性依赖于两个关键前提:
市场处于震荡结构:在震荡行情中,假突破往往孤立出现,各次交易风险相对独立。若市场转为单边趋势,分批建仓可能导致不断加仓并累积亏损,反而使风险接近指数形式。
独立止损设置:每一份头寸必须设置明确的止损位,且止损单需能顺利成交。若遭遇跳空缺口或流动性枯竭,止损可能失效,导致实际亏损远超预期,此时精心设计的风险控制将瞬间被击穿。
因此,在实际操作中,建议将目标仓位分成3-4份,在价格突破关键位后,每回调一定幅度加仓一份,同时为每份设置独立止损。同时,务必选择流动性充足的品种,并在仓位设计上预留足够的安全边际,以应对极端行情下的不可控风险。
分批建仓的代价是可能会错过部分趋势初期的涨幅,但换来了对假突破的容错能力,在震荡市中具有显著优势。
4. 用极致胜率换取生存
那如果资金更小,只够交易一手合约,怎么办?
答案很简单:提高单次交易的胜率,让每一次出手都有极高的存活概率。要么把单次止损压缩到极低,要么追求极高的胜率。而“极高胜率”意味着只能交易那些最确定的机会,放弃绝大多数模糊信号。那么如何提高胜率?
- 只交易高确定性的技术形态。 Bulkowski对上千种图表形态的统计显示,“杯柄形态”、“双重底”的突破成功率在65%以上。这些形态反映了多空力量的充分博弈,形成过程中的成交量分布往往预示着后续趋势的延续性。
- 增加独立信息维度。 如果技术突破与季节性规律、库存数据或持仓报告一致,突破成功的概率会更高。关键在于这些信息要与价格信号相对独立,才能有效降低假突破概率。
然而,无论策略设计得多么精巧,市场并非总是那个连续、流畅的playground。当极端行情来临时,涨跌停板和交易所临时提高保证金这类制度性干预,可能让精心设置的止损和仓位管理瞬间失效。涨跌停板上,价格被封死,你的止损单无法成交,一次本应可控的亏损可能演变为超出预期的亏损;而保证金的突然上调,则会在波动率已然放大的时候,进一步占有资金,迫使你在更差的位置被动减仓。这些制度性因素,是任何基于连续价格假设的策略都必须面对的“黑天鹅”。
因此,在选择交易品种时,不妨多留意那些流动性充裕、历史上极少封板的合约;在日常风控中,也要为交易所提保预留足够的安全边际。毕竟,真正的生存,不是只在顺境中盈利,而是在逆境中仍能活下来。
小资金的真正优势
讨论至此,你可能觉得小资金处处受限,交易如履薄冰。但我们也不妨想想小资金的优势。
- 交易不会对市场价格产生冲击,可以较完美地执行模型信号,不太需要考虑滑点和流动性成本。
- 你可以快速切换策略或品种,在发现模型失效时及时止损,无需担心调仓周期。
- 可以尝试一些高频率的统计套利策略,这些策略在大资金眼中会因为容量限制而无法实施。
这些执行层面的灵活性可在一定程度上对冲其容错率低的约束。在 云栈社区 这类开发者聚集地,你也能发现不少基于小资金优势的独特策略思路分享。
与不确定性共舞
假突破用数学划下资金的边界,却也用数学给出了路径。市场从不承诺公平,但它始终留有余地。
交易走到最后,我们学会的不是如何抓住每一次机会,而是如何在错过之后,还能坐在牌桌前。从遍历性的角度看,生存不过是保证自己能够穿越足够多的样本路径,直到概率收敛。
生存的信仰,我想是认清自己站在风险的哪一侧,然后坦然接受。
老子言:“合抱之木,生于毫末。”
愿你我守住当下的微光,静待参天之时。