综合框架内核:Kelly + Bayesian + 决策树 + 风险控制
所有规则必须能装进这个圆
交易实操·支柱③「决策引擎」第 1 讲 / 共 34 讲
**预计时间:**35 分钟读 + 10 分钟做习题 = 45 分钟。
前言
在 0001 市场规则总览 中我们确认了 CN 个人投资者可达的市场边界。在 0002 波动率与状态识别 中我们学会了用 HV(Historical Volatility,历史波动率)分位数识别状态。在 0003–0005 时间基础 三讲中,我们看到时间是最贵的成本、复合市场的 b(赔率)必须包含时间衰减补偿。这些铺垫都是为这一讲服务——把所有零件装进同一台机器。
交易失败的人分两类。一类是框架本身错(负期望),另一类是框架对了但执行崩(p 估计错了、b 估错了、风控破了、心理断了)。本课只解决前者——给你一个数学上自洽的决策内核。后续 0007 EV + Bayesian 更新、0008 Kelly + ruin probability、0009 出入场规则:b 的推导、0010 批判性思维 + 信号质量 会逐个拆解执行端的细节。
为什么”单一框架”是 hard requirement:方法论派系叠加的代价是变量互相污染。例:“我自称基本面投资者,但用固定天数均线做止损”——止损线来自波动率(市场参数),与估值无关;用固定百分比做止损会破坏 b 的赔率估计,让 Kelly f*(最优仓位分数)的输入变成垃圾。把所有规则统一到同一组变量(p / b / cost / safety / time / ruin_prob / capacity / liquidity / correlation),才能保证数学自洽。
1. 底层:4 个数学工具
框架内核由 4 个数学工具支撑。它们不是「选一个用」,而是同时在每笔交易中运行。
1.1 Kelly criterion(凯利判据)——仓位大小
离散(二元胜负)形式:
其中 p 是胜率,q = 1 - p 是败率,b 是盈亏比(盈利 / 亏损)。推导依据是对数效用最大化——长期财富增长率最大的仓位是 f*。f* 的经济含义:每押一份钱的期望对数增长最大;高于 f* 会因方差过大导致 ruin(破产)加速,低于 f* 是浪费正期望。
连续形式(用于资产价格路径):
其中 μ 是期望年化收益,r_f 是无风险利率,σ² 是年化方差。这与离散形式在 b=1 的极限下一致。两个形式见 数学·0007 盈亏不对称 与 数学·0004 复利。
worked example(离散):胜率 p = 0.6,盈亏比 b = 1.5,则 q = 0.4。
意味着33.3% 仓位在长期对数效用下最优。
R1 三问自检:
- ① 影响变量:
f(仓位分数) - ② 推导依据:数学(对数效用最大化)
- ③ trade-off:放大仓位 → 期望对数增长更高、但 ruin probability 指数上升(见 1.4)
1.2 Bayesian update(贝叶斯更新)——概率更新
推导依据是条件概率定义。在交易中:先验 P(win) 是入场前的胜率估计,证据 evidence 是新出现的信息(财报、宏观数据、对手盘异动),P(evidence|win) 是”如果这是真机会,看到这个证据的概率”——即似然。每次新信息都更新 p_new。完整推导见 数学·0008 贝叶斯定理 与 统计·0001 频率派 vs 贝叶斯。
worked example:你入场时 p = 0.6(先验)。财报发布后出现两种证据:(A) 利润超预期 → P(A|win) = 0.7、P(A|lose) = 0.3;(B) 同行已发布预警 → P(B|win) = 0.4、P(B|lose) = 0.6。计算后验:
b 估计不变则 f* 从 0.333 → 0.511——仓位应加。反之出现 (B) 则 p → 0.4,f* 变负,应离场。
R1 三问自检:
- ① 影响变量:
p(胜率估计) - ② 推导依据:数学(条件概率)
- ③ trade-off:先验越强(先验方差小)→ 后验越难被撼动;先验越弱 → 噪声被误当信号
1.3 Decision tree(决策树)——结构化选择
每个决策点列出 (动作 / 概率 / 收益) 三元组,回溯到当前节点求 EMV(Expected Monetary Value,期望货币价值)。核心三件套:① EMV(期望值) ② posterior probability(后验概率,每条路径的联合概率) ③ VoI(Value of Information,信息价值——多等一条信息换来的期望增量)。完整推导见 数学·0015 决策树 与 数学·0005 决策树。
worked example:某标的 X 出现两个分支——
- 上涨路径:概率 0.55 → 盈利 +15%
- 下跌路径:概率 0.45 → 亏损 −8%
EMV = 0.55 × 15% + 0.45 × (−8%) = 8.25% − 3.6% = +4.65%——正期望。但还要算 ruin probability(见 1.4)才能决定仓位,不能直接全仓。
R1 三问自检:
- ① 影响变量:
p与b(每条分支的概率与赔率) - ② 推导依据:数学(期望值定义)
- ③ trade-off:分支越多 → 计算复杂度↑、主观判断噪声↑;分支太粗 → 关键尾部事件被合并消失
1.4 Ruin probability(破产概率)——风险上界
简化形式(独立同分布二元赌博):
其中 T 是交易次数(不是日历时间),f 是实际仓位。推导依据是随机游走理论的首达时分布——可以直观理解为「正期望越大、仓位越小、胜率越极端、b 越大,破产概率指数衰减」。完整推导与杠杆上限见 0008 Kelly + ruin probability。
worked example:p = 0.55、q = 0.45、f = 0.2、b = 1.2、T = 100 次。
百万分之七,几乎为零。
R1 三问自检:
- ① 影响变量:
f、T、p、b、ruin_prob - ② 推导依据:数学(随机游走首达时)
- ③ trade-off:把仓位降到原 f* 的 50%(half-Kelly)→ ruin probability 指数下降,但期望对数增长同时下降到 75%
2. 入场决策 = Kelly 推导
2.1 唯一规则:f* > 0 才入场
等价形式:
- 离散:
b · p > q(期望值 > 0) - 连续:
μ > r_f(超额收益 > 0)
任何不满足 f* > 0 的「机会」都不入场,无论看起来多么「确定」。这是反直觉但数学上必须的:负期望的交易下注再多都是亏损。期望值 + 期望对数最优化的数学推导见 数学·0007 盈亏不对称。
2.2 为什么”if 分位数 then X%“是错的
常见 ad-hoc 规则:「如果沪深 300 PE 分位数 < 30%,则买入 30% 仓位」。R1 三问检验:
- ① 影响变量:全部 9 个变量都没有数学定义——“30%” 从哪里来?
- ② 推导依据:无——历史回测?哪个样本期?幸存者偏差如何处理?
- ③ trade-off:没有量化——30% 与 20% 在期望上差多少?没有。
正确做法是把 PE 分位数作为 p 与 b 的输入(如低 PE → b 期望更大 → f* 更大),而不是直接决定仓位大小。详见第 5 节。
2.3 三种 f* 等价形式的应用边界
| 形式 | 适用场景 | 关键参数 |
|---|---|---|
离散 f* = (b·p − q) / b | 已知胜率赔率、二元胜负(期权、事件驱动) | p、b 估计 |
连续 f* = (μ − r_f) / σ² | 资产配置、ETF、再平衡 | μ、σ 估计 |
| 多资产 Kelly | 组合 | 见 0015 多资产 Kelly 组合 |
3. H1–H6 假设清单 + 假设破坏后的具体动作
Kelly 公式不是免费的——它依赖 6 个隐含假设。任何一个被破坏,f* 都不再是最优。下面的 H1–H6 列出每个假设破坏后的具体动作,不是”调整一下”。
H1:对数效用(你真的是对数效用吗?)
假设:投资者的效用函数是 U = log(W)。
假设破坏:你实际上比 log 更厌恶风险(损失厌恶的幸存机制,见 生物·0010 损失厌恶)→ Kelly f* 给你一个「数学上最优但心理上睡不着」的仓位;或者你比 log 更激进(overconfidence)→ Kelly 反而低估了你的风险承受。
具体动作:
- 比 log 更厌恶(多数散户)→
safety_factor = 0.3(1/3-Kelly) - 与 log 一致 →
safety_factor = 0.5(half-Kelly,行业共识稳健值) - 比 log 更激进(极少见,须自我确认)→
safety_factor = 0.7
为什么不是”凭感觉调整”:1/3-Kelly 与 half-Kelly 的 ruin probability 在数值上差几个数量级(指数项)。safety_factor = 0.3 vs 0.5 是数学决定的,不是偏好决定的。
R1 三问:
- ① 影响变量:
safety(safety_factor) - ② 推导依据:实证数据集(Thorp 1997、MacLean–Ziemba 长期跟踪)+ 数学(对数效用是上限)
- ③ trade-off:safety_factor ↓ → 期望对数增长 ↓、ruin_prob ↓(指数级)、心理可承受性 ↑
H2:无限时间(你能等到 N→∞ 吗?)
假设:交易可以无限重复,长期增长率有意义。
假设破坏:时间有限(资金有用途、有退休日、有心理损耗),N 不是无穷。有限 N 下 Kelly 仍然最优,但 confidence interval 加宽,方差不可忽略。
具体动作:
| 时间窗口 | safety_factor | 理由 |
|---|---|---|
| < 1 年 | 0.2(1/5-Kelly) | 样本太少,方差主导 |
| 1–3 年 | 0.3(1/3-Kelly) | 置信区间仍宽 |
| 3–10 年 | 0.5(half-Kelly) | 经典稳健值 |
| 10 年以上 | 0.5–0.7(结合 H1 调整) | Kelly 渐近收敛 |
禁止:「60 天没信号就半仓」是 ad-hoc 时间衰减规则,破坏 H2 的数学结构,应改用 VoI(Value of Information) 决策——多等一条信息换来的期望增量 > 0 才等。
R1 三问:
- ① 影响变量:
safety、time(时间窗口) - ② 推导依据:数学(Kelly 渐近收敛速率)
- ③ trade-off:safety ↑ → 期望 ↓、方差 ↓、心理 ↑
H3:已知概率(你真的知道 p 吗?)
假设:p 是已知的真实胜率。
假设破坏:p 估计本身有误差。真实胜率未知,p_估计 是随机变量,分布未知。f* 对 p 高度敏感——p = 0.55 vs p = 0.5 对应的 f* 差异极大。
具体动作:
- 每笔交易后做 Bayesian 更新(见 1.2)——先验 → 后验的循环
- 敏感性分析:把 p 上下浮动 ±10%,若 f* 变化 > 50%,则此机会不入场(p 估计太脆弱)
- 保守估计:用悲观 p(= 先验 − 1σ)算 f*,而不是用点估计
R1 三问:
- ① 影响变量:
p(胜率估计) - ② 推导依据:数学(贝叶斯更新)+ 实证(p 估计的标准误差分布)
- ③ trade-off:保守估计 → f* ↓、但 f* 的可靠性 ↑
H4:无成本(你的交易真的零摩擦吗?)
假设:交易无手续费、无滑点、无税。
假设破坏:A 股双边交易费约 0.025% × 2 = 0.05%(万分之 2.5 印花税 + 佣金),外加滑点 0.05–0.3%(按股票流动性不同)。
具体动作:
f* × (1 − round_trip_fee − slippage − tax):所有成本从仓位中预扣- 策略期望收益 < 4% 年化 → Kelly 公式退化 → 不应使用 Kelly,直接放弃或改用更简单定投
- 成本评估见 0025 执行细节
R1 三问:
- ① 影响变量:
cost(交易摩擦)、f(最终仓位) - ② 推导依据:监管硬规定(A 股印花税 0.1% 单边)+ 物理约束(订单簿深度)
- ③ trade-off:成本 ↑ → f* ↓,但若期望收益 < 成本 → 直接不入场
H5:连续再平衡(你能按需瞬时调整吗?)
假设:可以连续再平衡仓位。
假设破坏:T+1(次日才能卖)、停牌无法交易、单日涨跌幅限制(±10%、±20%)、市场休市。再平衡不连续 → Kelly 公式的「即时调整」假设破坏。
具体动作:
- 在 f* 中预扣 1–2% 的滑点缓冲(覆盖停牌、涨跌停造成的延后成交)
- 高换手策略必须额外扣除「再平衡摩擦」(每多一次调仓 = 多一次成本)
R1 三问:
- ① 影响变量:
cost、f - ② 推导依据:监管硬规定(T+1、涨跌幅限制)
- ③ trade-off:预扣 ↑ → f* ↓、实际成交确定性 ↑
H6:单一资产(你能只持有一个标的吗?)
假设:组合只有一个资产。
假设破坏:实际投资组合含多个标的,标的间相关性 ≠ 0(特别在 stress 期间 correlation → 0.8,见 0031 多资产相关性专题)。
具体动作:
- 每个标的独立计算 f*(safe)
- 组合层用多资产 Kelly 公式(不是简单相加),见 0015 多资产 Kelly 组合
- 「历史 252 日 correlation」不能直接用于组合 Kelly(stress 期间相关结构会剧变)。用正交性数学结构(delta-neutral 套利 / 配对交易 / 跨期套利 / ATM-IV vs 历史 vol)识别真正独立的对冲源
R1 三问:
- ① 影响变量:
correlation、f(组合层) - ② 推导依据:数学(copula 与 stress covariance)
- ③ trade-off:独立假设 → 公式简单,但风险被低估
4. 仓位计算:单一公式
4.1 f*(safe) 完整公式
其中 safety_factor 由 H1(个人效用)和 H2(时间窗口)共同决定(见第 3 节表)。
4.2 Worked example:p = 0.6, b = 1.5
输入:p = 0.6、b = 1.5、q = 0.4、round_trip_fee = 0.5%、slippage = 1%、tax = 0、safety_factor = 0.5(half-Kelly,与 H2 3–10 年一致)。
Step 1 — Kelly:
Step 2 — 成本扣除:
Step 3 — 安全因子:
决策:f*(safe) ≈ 16.4% > 0 → 入场,仓位 16.4%。
若 f*(safe) ≤ 0,不入场(无论分位数、PE、新闻、情绪如何)。这是第 6 节「永远不入场 = 模型正确输出」的来源。
4.3 多市场推广
不同市场的参数选择差异(不是规则差异):
| 市场 | cost 预扣建议 | 关键 trade-off |
|---|---|---|
| A 股 | 0.5–1% + slippage | T+1、±10% 涨跌停 |
| 港股通 | 0.6–1.5% + slippage | T+2、汇率摩擦 |
| 美股 / ETF | 0.1–0.3% + slippage | T+0、隔夜跳空 |
| 商品期货 | 0.05–0.2% + slippage | 强平线、保证金追缴 |
| 期权 | 0.3–0.8% + slippage | 时间衰减(见 0022–0024 期权专题) |
| 加密资产 | 0.1–0.5% + 极端 slippage | 24/7、隔夜风险 |
框架不变,参数变。这是「市场是参数不是分类」的实操体现(见 0001 市场规则总览)。
5. 入场信号 = p 和 b 的输入
5.1 信号是变量,不是派系
常见错误:把”某些常见技术指标(如 N 日均线 + 量比阈值 + 振荡指标阈值)” 当成入场规则。R1 三问检查:
- ① 影响变量:信号本身没有直接定义任何变量
- ② 推导依据:历史回测(幸存者偏差、过拟合)
- ③ trade-off:没有
正确框架:每个信号都是 p 或 b 的输入。
| 信号类型 | 影响变量 | 例子 |
|---|---|---|
| 估值信号(PE/PB 分位) | b(向下空间) | PE 分位 < 20% → b 期望更大 |
| 趋势信号(均线、动量) | p(趋势持续概率) | 站上 60 日均线 → 趋势胜率上修 |
| 均值回归信号(偏离度) | p(回归概率) | RSI < 30 → 均值回归胜率上修 |
| 资金流信号(量比、北向) | p(信息优势) | 北向连续 5 日净买入 → 先验更新 |
| 财报信号(盈利超预期) | p(基本面胜率) | 通过 Bayesian 更新 |
| 事件信号(并购、解禁) | p 与 b 同时 | 视事件类型拆解 |
关键:这些信号可以共存于同一笔交易中。你不需要选「我属于哪一派方法论」——同一笔交易可以同时用估值(b 输入)+ 趋势(p 输入)+ 资金流(p 输入)。它们通过 Bayesian 更新融合成一个综合 p,然后代入 Kelly。
5.2 信号质量的批判性思维
不是所有信号都是等价的。信号质量评估见 0010 批判性思维 + 信号质量。核心要点:
- 过拟合陷阱:单一信号在历史回测中 Sharpe 5,回撤 3%——大概率是 overfit
- 样本外验证:必须用样本外数据验证,in-sample 不算
- 逻辑链:每个信号必须有经济学逻辑,不能只是统计相关
5.3 关键规则:信号是后验的输入,不是规则本身
所有信号同时更新 p,然后代入 Kelly 算 f*(safe)。不允许”信号 A 出现 → 跳过 Bayesian → 直接买”——这是 ad-hoc 路径。
6. “永远不入场” = 模型正确输出
6.1 不入场是正常状态
如果你连续 6 个月 f*(safe) ≤ 0,这是模型的正确输出。市场被高估、胜率赔率不匹配、期望为负——这时正确的动作是持有现金或减仓,不是「凭感觉买点什么」。
禁止:「市场永远有机会」「空仓就是错过」——这两句话没有数学内容,R1 三问全失败。
6.2 何时重新评估
- 新信息出现:财报、宏观、流动性变化 → 重新算 f*(safe)
- 时间衰减:持有现金不是免费——通胀成本、机会成本都在累计;评估频率见 0003 时间作为成本
- 不要做:等 60 天后「强制半仓」——这是 ad-hoc 时间衰减规则,破坏 H2 数学结构
6.3 现金是仓位的一种
零仓位 = f = 0 = 公式输出。零仓位不是失败,是「框架在等待正期望机会」。详见 0030 资金管理。
7. 现金管理:仅限 T+0 / T+1 流动性
7.1 三个合法层级
| 工具 | 流动性 | 收益率 | 战术可用性 |
|---|---|---|---|
| 活期存款 | T+0 | 0.05–0.3% | 立即可用 |
| 货币基金 | T+0 / T+1 | 1.5–2.5% | 次日可用 |
| 国债逆回购 GC001 | T+0(盘中) | 当日 SHIBOR | 当日可用 |
7.2 明确禁止:大额存单
大额存单(CD)不能用作现金管理工具。R1 三问:
- ① 影响变量:
liquidity(流动性,恶化) - ② 推导依据:监管硬规定(CD 提前支取按活期计息)
- ③ trade-off:收益率 ↑ 1–2% → 流动性 ↓ 至「锁定期满」
CD 是投资,不是现金。战术调仓需要 T+0/T+1 流动性,CD 锁定期 1–5 年不能满足。详见 0030 资金管理 第 2 节。
7.3 货币基金的特殊处理
- 节假日:周四买 T+1 周一可赎,周三买周四可赎——周末不计收益
- 大额赎回:货币基金有 1 万 / 单日上限,超出部分 T+1
8. R1 三问检查清单
每一条你想加进交易系统的规则,必须能回答:
- 影响框架哪个变量?
p/b/cost/safety/time/ruin_prob/capacity/liquidity/correlation - 推导依据是什么? 数学 / 经验数据集 / 监管硬规定 / 物理约束
- trade-off 是什么? 做 X 放弃了什么?承担了什么?期望值变化如何?
8.1 三个通过 / 不通过的例子
例子 A — 通过:「指数 PE 分位 < 20% 时,b 的期望增加 30%」
- ① 影响变量:
b - ② 推导依据:实证数据集(低估值长期回报)+ 数学(赔率定义)
- ③ trade-off:b ↑ → f* ↑ → 期望 ↑,但样本量小时 b 估计不稳
例子 B — 不通过:「60 天没信号就半仓」
- ① 影响变量:无法回答(时间衰减是 ad-hoc)
- ② 推导依据:无法回答(无数学公式)
- ③ trade-off:无法回答(未量化)
例子 C — 不通过:「大额存单做现金管理」
- ① 影响变量:
liquidity(变差) - ② 推导依据:监管硬规定(CD 锁定期)
- ③ trade-off:收益率 ↑、流动性 ↓——但战术调仓需要流动性,结论:禁止
8.2 R1-R14 全清单与本课对应
完整 R1-R14 硬性要求见 trading README 末尾。本课覆盖:
- R1:R1 三问检查清单(本节)
- R2:禁止派系叠加(贯穿全课)——禁止把不同方法论的规则混用而不经 R1 三问检验
- R3:入场信号 = p 与 b 的输入(第 5 节)
- R4:风险阈值 = ruin probability 数学推导(第 1.4 节)
- R7:组合 = 多资产 Kelly 公式(第 3 节 H6)
- R9:现金管理 = 流动性分层(第 7 节)
- R12:多市场统一框架(第 4.3 节)
实操产出物
完成本课后,你应该产出:
- f(safe) 计算器*:Excel / Python 脚本,输入 p、b、cost、safety_factor,输出 f*(safe) 与决策(入场 / 不入场)
- 个人 safety_factor 矩阵:行=时间窗口(< 1 年 / 1–3 年 / 3–10 年 / 10 年+),列=效用函数(更厌恶 / 一致 / 更激进),填入具体数值
- H1–H6 自查表:每笔交易前过一遍——本笔交易中哪个假设被破坏?做了什么补偿?
- 入场信号登记表:列出你常用的 5–10 个信号,每个标注「影响 p 还是 b」「数据源」「回测 Sharpe」「样本外验证状态」
- R1 三问审计日志:任何想加入系统的规则,先写 R1 三问答案,存档
练习题
某策略胜率 p = 0.6,盈亏比 b = 1.5,总交易成本(佣金 + 滑点 + 印花税)= 1.5%,safety_factor = 0.25(散户、时间窗口 < 1 年的极保守值)。Kelly f*(safe) 约为?
下列哪条规则可以通过 R1 三问检查?
假设你连续 6 个月算出的 f*(safe) 都 ≤ 0。下列哪种处理最符合本课框架?
关于现金管理,下列哪种工具可以用作战术调仓的「现金」?
假设 Kelly 公式 f* = 0.333,H1 个人效用比 log 更厌恶(safety_factor = 0.3),H2 时间窗口 1 年(safety_factor = 0.2),H4 成本 1.5%。综合 safety_factor 应该取哪个值?H1 与 H2 是乘法关系吗?
组合层「历史 252 日 correlation」用于多资产 Kelly 时,最大的问题是什么?
交叉引用
数学基础
- 数学·0004 复利与指数增长——Kelly 长期增长率来源
- 数学·0007 盈亏不对称——b 的概念基础
- 数学·0008 贝叶斯定理——p 更新的核心
- 数学·0015 决策树——多分支期望值
统计与认知
- 统计·0001 频率派 vs 贝叶斯——为何贝叶斯更适合交易
- 生物·0010 损失厌恶——为何散户多数比 log 更厌恶(H1 的实证依据)
- 生物·0008 启发式 vs 偏误——按派系选规则本身就是认知偏误
后续课程
- 0007 EV + Bayesian 更新
- 0008 Kelly + ruin probability——杠杆上限推导
- 0009 出入场规则:b 的推导——止损/止盈如何定 b
- 0015 多资产 Kelly 组合——H6 的完整展开
本课用户原话出处
“不要给我按方法论派系切分(纯 Kelly / 纯技术 / 纯价值)的体系。所有派系都是 ad-hoc 叠加。我要一个数学框架,能回答所有问题。”
“f*(safe) = f* × (1 − cost) × safety_factor,三个乘子每个都有数。每个新规则必须能装进这个圆。”
“我连续 6 个月没有入场,不是因为我没看到机会,是因为 f*(safe) ≤ 0。这是模型正确输出,不是失败。”
“大额存单是投资不是现金。现金要 T+0/T+1。”
“止损 / 止盈决定 b,不是决定入场信号。入场信号只更新 p。”
“H1-H6 每个假设破坏都有具体动作,不是’调整一下’。safety_factor 给具体数字——1/3-Kelly、half-Kelly,不是’凭感觉’。“
合规声明
本课仅作为教育用途,不构成投资建议。所有数字为框架教学示例,非收益承诺。Kelly 公式与 ruin probability 公式的推导见 Thorp (1997)《The Mathematics of Gambling》、MacLean–Ziemba 系列论文,以及 0008 Kelly + ruin probability 的完整展开。投资有风险,决策请独立判断。