- Published on
Built-in Kelly ratio for dynamic position sizing
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
肯特纳通道遇上凯利公式:基于动态仓位管理的交易系统解析
在量化交易中,一个完整的交易系统通常包含两部分:信号生成与资金管理。许多交易者花费大量时间优化入场点,却忽视了仓位大小对长期收益的影响。今天,我们要解析一个来自公开交易社区的经典策略脚本,其标题为“Built-in Kelly ratio for dynamic position sizing”(内置凯利比率的动态仓位管理)。作者通过将肯特纳通道与凯利公式相结合,展示了如何根据策略历史战绩动态调整头寸规模,为个人交易者提供了一个极具参考价值的资金管理范例。
策略解读
这个策略的价值不在于它多么复杂,而在于它将两个成熟的概念结合起来:技术指标与资金管理公式。肯特纳通道是一个基于波动率的趋势指标,由中轨、上轨和下轨构成。当价格强势突破上轨时,视为多头信号;当价格跌破下轨时,视为空头信号。这是很多交易者耳熟能详的用法。但作者并不停留在信号层面,而是引入了凯利比率——一个源自信息论和赌博理论的最优投注比例公式。
在实际应用中,策略会持续跟踪每一笔已平仓交易的盈亏结果,然后计算一段时间内的胜率(盈利交易占比)与盈亏比(平均盈利金额与平均亏损金额的比值)。这两个数字被代入凯利公式,得到“当前最有优势的仓位比例”。如果策略近期表现出色,胜率和盈亏比都较高,凯利比率会上升,下一笔交易的头寸就会相应放大;反之,如果策略连续亏损,凯利比率下降,仓位也会自动萎缩。这种“盈利加仓、亏损减仓”的机制,正是动态仓位管理的精髓。
此外,作者还在策略中预设了止盈和止损参数。这不仅是为了控制单笔风险,更深层的作用是影响胜率与盈亏比的平衡。例如,较宽的止损可以增加胜率,但会降低盈亏比;较窄的止盈则可能增加盈亏比,但降低胜率。交易者可以通过调整这些参数,观察凯利比率的变化,从而找到最适合自身风险偏好的配置。这相当于从一个新的维度去理解止盈止损——它们不只是风险护栏,更是仓位大小的调节器。
名词解释
肯特纳通道(Keltner Channel)
一种基于波动率的价格通道指标,由一条中轨(通常是指数移动平均线)和两条边轨组成。边轨等于中轨加上或减去一定倍数的平均真实波幅(ATR)。该通道能反映价格相对于均线的偏离程度,以及市场波动的大小。
凯利比率(Kelly ratio / Kelly criterion)
由约翰·凯利于1956年提出,用于计算在已知胜率和盈亏比的情况下,每次投注的最优资金比例。公式为 f = (bp - q) / b ,其中 b 为盈亏比, p 为胜率, q = 1-p 。在交易中,它被用来平衡资金增长与回撤风险。
动态仓位管理(Dynamic position sizing)
指根据当前市场条件、账户净值或策略近期表现来调整每笔交易头寸大小的资金管理方法。与固定手数交易相比,它更具适应性,理论上能够在有利时机增加收益,在不利时机控制损失。
胜率(Win rate)
在一段统计周期内,盈利交易笔数占总交易笔数的百分比。胜率越高,说明策略的入场信号越准,但单纯追求高胜率可能导致盈亏比下降。
盈亏比(Payoff ratio / profit-loss ratio)
所有盈利交易的平均盈利额与所有亏损交易的平均亏损额之比。盈亏比与胜率共同决定了策略的期望收益。只有两者结合,才能准确评估策略的盈利能力。
止盈(Take-profit)
预先设定的盈利平仓价格。当价格到达该水平时,系统自动获利了结,锁定利润。
止损(Stop-loss)
预先设定的亏损平仓价格。当价格反向运行至该水平时,系统自动平仓,限制单笔交易的损失。
网格/区间(Grid / Range)
一种交易策略类型,通常指在价格上下边界之间按照固定间距设置挂单,通过反复高抛低吸获利。该策略标签中的“网格/区间”暗示其可能适用于震荡行情或通道区间内的交易。
策略思路讲解
要理解这个策略,我们需要先拆解它的两个核心组件。
第一步:肯特纳通道产生交易信号。
默认的肯特纳通道策略通常采用双轨突破逻辑:当收盘价格突破上轨时,建立多头仓位;当收盘价格跌破下轨时,建立空头仓位。中轨是一个移动平均线(如20周期EMA),上下轨则由ATR决定距离。这种设计的亮点在于,通道宽度会随波动率自动缩放:市场剧烈波动时通道变宽,减少虚假信号;市场平稳时通道变窄,捕捉小趋势。本质上,它为交易者划定了一个动态的“合理价格区间”。
第二步:凯利比率动态调整仓位。
与传统策略在每次建仓时使用固定风险比例不同,这里使用凯利比率来决定“投入多少资金”。策略需要维护两个实时更新的统计量:累计盈利交易的平均盈利和累计亏损交易的平均亏损,由此算出盈亏比 b ;最近一段时间内盈利交易的数量占比,即胜率 p 。然后将它们代入凯利公式计算出 f 。这个 f 就是当前数据下的最优仓位比例。例如,如果胜率为60%,盈亏比为1.5,那么 f = (1.5 0.6 - 0.4) / 1.5 0.333 ,意味着理论上每次应投入账户净值的33%进行交易。当然,实际应用中通常会取分数凯利(如半凯利),以降低波动风险。
第三步:止盈止损参数提供边界。
作者附加的止盈止损参数,不仅用于强制离场,还能影响统计结果。当一笔交易以止盈或止损结尾时,它会更新胜率和盈亏比数据,进而改变下一笔交易的凯利比率。这就形成了一个闭环反馈:每一次交易的结果都会调整整个系统的仓位策略。如果连续止损,凯利比率会快速下降,迫使仓位缩小,从而保护账户;如果盈利持续扩大,凯利比率上升,仓位也会加大,实现复利增长。
值得注意的是,标签中的“网格/区间”可能意味着该策略在实盘中更适合区间波动行情。肯特纳通道在震荡区间内会反复出现边界突破,如果价格并没有走出单边趋势,这些信号可能被止损或止盈快速结束,从而产生频繁的小额交易。这种节奏与网格交易有一定相似性:在通道上下轨之间反复进行方向性博弈。
优点
1. 资金管理与信号生成一体集成
很多交易者只专注于入场指标,却忽视仓位控制。该策略将凯利比率直接嵌入到信号流程中,让每一笔交易的风险暴露与策略近期表现直接挂钩,避免了“赚十次不够亏一次”的悲剧。
2. 客观的动态仓位调整,减少情绪干扰
仓位大小不是主观拍脑袋决定的,而是通过数学公式对历史数据进行计算。当策略状态好时自动加仓,状态差时自动减仓,有助于抑制过度交易和报复性加仓等心理误区。
3. 灵活的止盈止损框架
作者加入了常规的止盈止损参数,交易者可以根据自己的风险偏好调整。无论是偏好高胜率低盈亏比,还是低胜率高盈亏比,都能通过改变这两项参数来优化凯利比率,从而适配不同的交易风格。
4. 思路清晰,易于扩展和改造
策略本质是一个“模板”。读者只需将肯特纳通道替换成其他趋势指标,比如布林带或均线系统,便能轻松创造属于自己的动态仓位管理策略。这种模块化设计具有很高的学习和研究价值。
5. 对波动率具有天然适应性
由于肯特纳通道使用ATR构建,通道宽度会随市场波动率自动改变,因此策略在快慢行情中都能保持一定的响应能力,减少了参数在过山车行情下的失灵概率。
缺点
1. 凯利比率对历史数据敏感,可能产生过拟合
凯利公式的输出完全依赖于胜率和盈亏比的估计。如果统计窗口太短,样本不足,得到的结果可能非常不稳定;如果窗口太长,又会滞后于市场环境的转变。直接用历史均值指导未来交易,在突变行情中可能引发仓位风险。
2. 全凯利仓位在现实中过于激进
理论上的最优比例并不等于实际操作中的安全比例。凯利公式假设收益分布是稳定的,但金融市场具有肥尾特性。满仓凯利可能导致巨大回撤,甚至账户爆仓。这也是许多交易者使用分数凯利的原因。
3. 震荡市中信号质量下降
肯特纳通道在价格持续区间整理时,上下轨突破信号频繁出现,但突破往往是假突破。如果没有额外的趋势过滤条件,策略可能遭遇连续亏损,导致凯利比率迅速萎缩,失去进攻弹药。
4. 动态统计增加了计算复杂度
策略需要实时更新每笔交易数据并重新计算胜率、盈亏比和仓位比例。对于人工交易者而言,这很容易出错;对于自动化系统,则要求编程逻辑严谨,否则可能因累积误差导致仓位计算失真。
5. 仅仅基于价格和波动率,缺少过滤条件
策略没有考虑市场整体趋势、宏观经济数据或事件风险。在重大新闻发布或市场流动性骤减时,价格可能瞬间击穿止损位,而凯利比率无法提前感知这类风险。
6. 单笔风险设置可能被凯利变形放大
如果止盈止损参数与凯利仓位不匹配,例如仓位过大而止损过窄,即使胜率很高,一次不利波动也可能造成显著亏损。这是一个有待优化平衡的难点。
起源年份考证
本策略基于两类核心技术,我们无法考证该具体脚本的发布年份,但可以明确追溯其核心方法的公认起源时间线。
- 1956年:约翰·凯利(John L. Kelly Jr.)在贝尔实验室发表论文,提出“信息速率”概念,推导出凯利公式,最初用于通信噪声中的信息传输。后来该公式被引入赌博和投资领域,成为资金管理的经典公式。
- 1960年代:切斯特·肯特纳(Chester Keltner)提出“肯特纳通道”,最初使用典型价格(高+低+收)/3的简单移动平均作为中轨,并用简单移动平均的幅度作为通道宽度。这个指标后来成为技术分析中常用的趋势跟踪工具。
- 1980年代:交易者将肯特纳通道进行现代化改进,使用指数移动平均(EMA)替代简单移动平均,并以平均真实波幅(ATR)代替原始的波动幅度,形成了今天广泛使用的版本。
- 1990年代:凯利公式开始在量化金融领域被系统化应用,特别是爱德华·索普等学者将其用于仓位管理和金融工具定价。此后,“资金管理”成为系统性交易的独立研究分支。
- 2000年代至今:个人量化交易兴起,技术指标与资金管理公式的组合策略随处可见。动态仓位管理、分数凯利等概念逐步进入大众视野,成为公开交易社区中常见的手法。
需要强调,上述时间线基于“该类方法”的行业公认知识,并非对该策略脚本具体发布时间的考证。该脚本的确切编写与发布时间无法考证。
改进建议
1. 使用分数凯利(Fractional Kelly)
将计算出的凯利比率乘以一个系数,例如0.25或0.5。这样能在保留原始公式优势的同时,大幅降低回撤和尾部风险。许多职业交易员长期使用半凯利或四分之一凯利,以换取更平稳的资金曲线。
2. 引入趋势过滤条件
在肯特纳通道信号之上,增加一个更大周期的趋势过滤器,比如价格是否位于200周期均线上方。如果大趋势为多头,只做多;空头趋势只做空。这样可以避免在震荡市中反复进行多空双向交易,从而提升胜率和盈亏比。
3. 使用滚动窗口计算凯利比率
不要用全部历史交易数据计算胜率和盈亏比,而是取最近50笔或100笔交易作为样本。这样能让仓位策略更快地适应当前市场风格,避免多年前的表现扭曲当前的决策。
4. 对凯利比率设置上下限
比如将计算出的仓位比例限制在账户净值的1%~10%之间。即使凯利公式给出很高的数值,也严格限制最大仓位,防止资金曲线过度振荡。这本质上是将凯利与固定比例风险控制结合。
5. 增加滑点与手续费模拟
回测中应当模拟真实的交易成本,尤其是网格/区间类策略交易次数较多,摩擦成本会显著侵蚀利润。将成本纳入统计后,胜率和盈亏比会发生变化,凯利比率也会更加真实。
6. 结合波动率动态调整止损止盈
将固定的止损止盈改为基于ATR的动态距离,比如止损设为2倍ATR,止盈设为3倍ATR。这样能让每笔交易的风险与市场波动同步,避免在高波动期被微小波动扫损,或在低波动期获利过少。
7. 定期人工审查凯利比率的异常值
当凯利比率出现极端数值(如大于0.5或为负值)时,暂停交易或人工干预。这可能是统计样本突变或数据异常造成的,谨慎对待可以避免系统在极端状态下执行错误仓位。
总结
这个“内置凯利比率的动态仓位管理”策略,虽然表面上看只是一个肯特纳通道指标的扩展,但它真正想传达的理念是:交易系统不是单纯的入场信号叠加,而是一个由信号、仓位、风控共同构成的动态闭环。作者巧妙地利用凯利公式,将策略的历史表现转化为实时的仓位决策,并通过止盈止损参数的加入,为这个闭环提供了可调的反馈机制。
对于普通交易者而言,最大的启示并非直接复制这套策略,而是理解“仓位应该随战绩变化”这一思想。固定手数会让好的策略平庸化,也会让坏的策略加速灭亡。动态仓位管理就像一位冷静的教练,总是在你得意时提醒风险,在你沮丧时保留实力。
当然,凯利公式并非万能钥匙。它依赖稳定的统计参数,而市场恰恰是时变且不可预测的。因此,任何基于凯利的仓位策略都应辅以保守的分数系数、严格的风控条件,以及敬畏市场的心。希望这篇文章能帮助你构建或改进自己的交易系统,让你在未来的交易中,既敢于出手,又懂得收手。祝交易顺利!