下注比例和仓位控制的计算方法
薄荷味毒爆虫
2025年11月12日 19:21
今天你搞笑了吗

翻阅了站内关于下注比例和仓位控制的内容,绝大多数都是以经验或者统计学进行分析,而既有的凯利公式和贝叶斯的内容,多泛泛而谈,以二项分布为例,难以应对现实中离散分布的情形,本为目的旨在于使用凯利公式、似然估计、贝叶斯构建一个能够基本使用的框架,用概率的视角,应对彩票赌博、棋牌麻将、投资交易等场景的下注问题,这里以其中最复杂的投资场景为例。

 

什么是凯利公式?

凯利公式是在已知胜率和赔率时,告诉你该下多少注才能使长期复利增长最大化的数学规则:把“胜率×净赔率-败率”除以净赔率,得到的本金比例就是最优仓位,再砍一半(半凯利)可防估计误差。

 

什么是贝叶斯?

贝叶斯思想就是把参数看作随机变量,用先验分布表达已有认知,再借观测数据把先验更新成后验分布,从而量化不确定性并持续修正信念。

 

在投资场景中使用有何问题?

凯利对胜率和赔率误差极度敏感,小样本下极易高估优势,结果“最优”仓位居然变成过度杠杆爆仓;投资中股票-债券-现金是连续分布、多资产、相关且胜率/赔率不恒定的复杂系统,必须用“广义凯利”或“分数凯利”+贝叶斯先验的方法。

极大似然估计只追求“让历史数据最可能”,忽视先验和尾部,导致参数过拟合、非线性的未来变化情况无法处理。

贝叶斯虽能把先验和不确定性量化,但先验主观、协方差矩阵高维病态,加上市场分布非稳态、厚尾、相关突变,后验更新常常滞后或发散,算得越精密越有“精确的错误”,先验分布中和极大似然估计一样,可能犯线性估计的错误。

 

计算步骤:

1、通过凯利公式计算资产初始仓位

我们是刚开始投资的小白,缺乏我们自己的历史投资胜率和赔率信息,那么就需要先收集历史数据,计算出各项投资资产收益率的σ、SharpeRate

投资中股票-债券-现金是连续分布,收益R∈N(μ,σ)【为方便计算的简化】,在非胜即负的二项分布(如打赌、牌局)中,仍使用原版凯利公式即可:f=(P·b-Q)/b:

用夏普比率替代二项分布中的凯利公式:【Sharpe表示承担每一单位风险获得的收益,即Sharpe = (E[R] – Rf) / σ,σ表示风险本身】

凯利杠杆≈ Sharpe/σ

【max E[ln(1+f·r)]对正态收益做二阶泰勒展开并求导,得到近似解】

此时得到了第一个参数,即初始仓位

 

2、计算先验概率

首先用到的是收益率均值μ,略

其次应对多资产且相关的状况,需要使用到相关性协方差Σ

在连续收益、多资产的资产配置里,你要估计的是整个收益分布的参数向量 θ = (μ,Σ),所以先验也升格为对这些参数的联合概率分布

现金账户已开好,标的选好(如 510300、511010、518880)

用广义凯利解析式对先验中心(μ₀, Σ₀)算一把:

f* = Σ₀⁻¹ (μ₀ – Rf)(Rf 取现金年化或者短期国债收益率)

再砍半→半凯利先验权重 w₀ = 0.5 · f*

例:算出 f* = [60% 股, 30% 债, 10% 黄金],则 w₀ = [30%, 15%, 5%],余下 50% 留现金/货币 ETF。

接下来就可以按 w₀ 下单建仓——这是“无历史数据”时的最优起点。

 

3、通过极大似然估计积累数据

这一步是我们计算中最简单的一步,却是实操中最难的一步,不管你是通过什么方法选标的,记录每周或每月净值序列,至少攒 6–12 期(T≥6)。

每新增一期,就把收益向量rₜ追加进矩阵R。

 

4、通过贝叶斯,滚动更新数据

先验中心:μ₀(N×1)

先验协方差矩阵:Σ₀(N×N)

先验信任度:κ₀(越大越相信先验,常取 1–10)

先验自由度:ν₀ = N + 2(最Flat的常用选择)

观测:T 期收益矩阵 R(T×N),行是时期,列是资产

样本均值:ȳ = R.mean(axis=0) (1×N)

样本协方差:S = (R - ȳ).T @ (R - ȳ) / (T - 1) (N×N)

轭更新解析公式(正态-逆 Wishart)

后验信任度

κₙ = κ₀ + T

后验自由度

νₙ = ν₀ + T

后验均值(后验期望μ的解析点估计)

μₙ = (κ₀·μ₀ + T·ȳ) / κₙ

← 就是“先验均值”与“样本均值”的加权平均,权重=信任度。

后验尺度矩阵(后验期望Σ的解析点估计)

Ψₙ = Ψ₀ + S·T + (κ₀·T/κₙ)·(ȳ - μ₀)@(ȳ - μ₀).T

中 Ψ₀ = (ν₀ - N - 1)·Σ₀  (把先验Σ₀还原成逆Wishart尺度)

后验协方差矩阵(点估计,用于后续凯利)

Σₙ = Ψₙ / (νₙ - N - 1)

把后验 (μₙ, Σₙ) 塞进广义凯利

Rf = 0.01 (1 月化 = 0.01/12 ≈ 0.00083)

f* = Σₙ⁻¹ (μₙ - Rf)

半凯利:0.5·f* = f

计算完毕!!!

 

 

阵亡,太复杂了,一定有解,但根本没法用啊,急需简化!

复杂来源于正态分布,想办法简化成二项分布即可,那我们重来一次,用掷硬币思维解释

 

1涨还是跌?

把每天的涨跌幅按要求回报率(比如 +1%)切成两块:

大于 +1% → “涨”

小于 +1% → “跌”

 

2计算涨跌次数:

涨(正面)(k)

跌(反面)(n−k)

总次数 n = k + (n−k)

这步就是“抛硬币统计”,纯数数。

 

3加预期“猜”(纯预期)

如果你完全没观点,就当已抛过 1 正 1 反(Beta(1,1))。

若你长期看涨,可当作已抛 6 正 4 反(Beta(6,4))——数字越大表示你信念越硬。

这步只是给后面“修正”留个底。

 

4合并算“修正后的正面概率”

把第 2 步的真实次数 + 第 3 步的“私心次数”:

新正面 = 历史正面 + 私心正面

新反面 = 历史反面 + 私心反面

再算比例:

P = 新正面 ÷ (新正面 + 新反面)

这就是你带进凯利公式的“胜率”。

 

5计算赔率

赔率 = “赢一次赚多少” ÷ “输一次亏多少”

用历史数据一样能估,但要对称地量:

先保住第2步的切线Δ(≥+Δ算成功,<−Δ算失败)。

把近5年所有成功日的超额涨幅取平均 → 平均成功幅度 A

把失败日的超额跌幅取平均 → 平均失败幅度 B(正值)

净赔率 b = A / B

例:

成功日平均多涨 2.1%

失败日平均多跌 1.4%

→ b = 2.1 / 1.4 ≈ 1.5

解释:每亏1元,赢一次平均赚1.5元。

 

6把这只“历史平均幅度比”直接当b带进二元凯利即可

仓位=【赔率*胜率-(1-胜率)】/赔率

 

当资产组合不具有相关性(独立事件)时,直接对各个资产进行权重计算即可得到总仓位∈(0,1)时【即不杠杆也不做空】的仓位组合,即单个标的修正仓位=单个仓位/总仓位

 

7多元资产(有相关性情况)组合时的仓位计算

不需要单独计算以上单个标的仓位,直接同步计算即可

7.1引入5年历史每月收益数据的相关矩阵Σ(协方差)

用Excel「数据分析→协方差」得N×N矩阵,

或用简化公式:

ρij≈近5年收益相关系数(Excel CORREL)

 

7.2代入多元凯利公式

多元凯利公式的最优权重向量为 f*= Σ⁻¹ (μ - r),其中:

μ-是风险资产的期望收益向量(基于历史平均或预测)。

r -是无风险利率(现金收益),设为0或实际值。

Σ⁻¹-是协方差矩阵的逆矩阵。

f*=Σ⁻¹(期望收益−无风险利率)

无风险收益率=现金日收益(可设0)

凯利公式中得到的结果波动非常大,使用半凯利公式f_adj=f*/2

 

7.3强制 f∈(0,1)

若某分量<0,设0,不允许做空交易;

若总和<1, 则按比例投资,剩余部分保留为现金;

若总和>1,则说明公式建议使用杠杆,若限制杠杆则按比例缩放到1。

 

8动态更新数据

方案一:移动平均法

核心思想是将新旧数据以某种权重进行混合,步骤如下:

引入一个参数 λ(称为衰减因子或遗忘因子),定义你的“学习速率”,范围在0到1之间。λ 决定了你有多“相信”旧数据。

λ 接近 1(如0.95):你非常相信历史,模型变化很慢,很稳定。

λ 接近 0(如0.5):你更相信新数据,模型调整很敏捷,但也可能更波动。

建议起点:从 λ = 0.90 到 0.98 开始尝试,这相当于给历史数据一个很长的“半衰期”,当市场快速发生变化时,也可以认为修正λ值。

更新期望收益 (μ):

假设你上一次的估计是 μ_old。

你观察到了过去一个月(或一个季度)的新收益率向量 r_new。

更新公式:μ_new = λ * μ_old + (1 - λ) * r_new

解读:新的期望收益是旧收益和新观测收益的加权平均。λ 越大,旧数据的权重越高。

更新协方差矩阵 (Σ):

这是关键,因为资产间的关系会变化。

假设你上一次的协方差矩阵是 Σ_old。

根据新收益率数据,计算一个代表新关系的协方差矩阵 Σ_sample(例如,用过去12个月的数据滚动计算,或者简单看新数据点与 μ_new 的偏差)。

简化更新公式:Σ_new = λ * Σ_old + (1 - λ) * Σ_sample

更精确的指数加权移动平均(EWMA):很多专业的风险模型都采用此方法,它在计算上也很方便。

方案二:贝叶斯公式

选择先验分布:

最常用的选择是正态分布μ ~ N(μ₀, Σ₀)

μ₀:用最初5年数据算出的期望收益。

Σ₀:先验的不确定性。这是一个关键点:它不是你之前算的资产间协方差 Σ,而是你对 μ₀ 这个估计值本身有多不确定。如果你对初始估计很有信心,Σ₀ 应该很小(对角线值小);如果没信心,可以设大一些。这很主观,但体现了贝叶斯的“主观信念”。

 

定义似然函数:

假设资产收益率 r 服从多元正态分布:r ~ N(μ, Σ)。这里的 Σ 是资产的协方差矩阵,已知的或用方案一的方法更新。

 

计算后验分布:

当观察到新的收益率数据 r_new 后,存在一个优美的解析解。

后验分布 μ | r_new 仍然是正态分布。