单证券 · 闭式最优仓位(§3.2)
两状态(亏 / 赢)单资产,与主计算器「单资产定仓位」一致:优先闭式 (3.2.3),并画出 H(q) 曲线。
q′ = −(P₁Δ₁ + P₂Δ₂) / (Δ₁Δ₂) · R₀
Δᵢ = rᵢ − r₀, R₀ = 1 + r₀
q* = clamp(q′, L, U) (不透支不卖空: [0,1])
亏光上限: 只要亏光概率 P₁>0,q* < 1−P₁
贷款利率 r₀′ 用于透支(q>1);借券费率 r_b 用于卖空(q<0),年化支付在借入市值 |q| 上。不卖空时 r_b 不生效。
原始 q′
—
最优 q*
—
现金
—
负债
—
几何平均
—
期望收益
—
增值熵 H
—
bit / 期
投入金额
—
现金金额
—
负债金额
—
仓位结构
§3.2 式 (3.2.3);结果表与「两证券」页格式一致(项目 / q* / 占比)。
两证券:精确联合分布
每种证券两状态(跌 / 涨)。给定边际概率、收益和相关系数 ρ,写出 2×2 联合表,再最大化增值熵。
P(H,H) = pₐ pᵦ + ρ·√[pₐ(1−pₐ) pᵦ(1−pᵦ)]
P(H,L) = pₐ − P(H,H) 等,由边际补全
H = Σᵢ Pᵢ log₂( q₀R₀ + qₐRᵢₐ + qᵦRᵢᵦ )
证券 A
证券 B
联合情景表
最优仓位
ρ 影响联合概率,从而改变几何平均与最优 q;目标函数形式不变。
多证券:相关矩阵 + 高斯 / t-copula
每种证券状态数可不同(如 A 2 态、B 3 态);相关矩阵 R 须对称、对角为 1。用高斯 copula(分位阈值)生成联合概率,再求最优仓位。
Z ~ N(0, R) → Uₖ=Φ(Zₖ) → 状态ₖ = j 若 cutₖ[j] < Uₖ ≤ cutₖ[j+1]
cut 由各资产状态概率的累积分布给出
P(联合) ≈ 频率(固定种子大样本);格数 = Πₖ nₖ
max H = Σ Pᵢ log₂(q₀R₀ + Σ qₖ Rᵢₖ)
各证券边际(状态数可不同)
相关矩阵 R(对称,对角=1)
仓位结构
联合情景(前 16 行)
相关矩阵只刻画两两相关;完整联合由高斯 copula 补全(N>2 时联合不唯一)。求解方法与主计算器一致:爬山 / 梯度 / §3.8 初值。
ρ 扫描:相关如何影响最优仓位
扫描 ρ∈[−1,1],观察 H*、各资产 q* 与分散效果。可沿用「两证券」或「多证券」当前输入(多证券支持 t-copula)。
需手动点「开始扫描」;点来源按钮只会读取输入,不自动计算
书中 §2.5:相关越低组合效果越好;ρ=1 等价于单资产,ρ=−1 可接近无风险套利结构。
相关性如何进入最大增值熵
目标函数不变,变的是 Pᵢ(情景权重)。
| 层次 | 做法 | 适用 |
|---|---|---|
| 两证券·两状态 | Bernoulli 精确 2×2:P(HH)=pₐpᵦ+ρσₐσᵦ | 本页「两证券」 |
| 两证券·多状态 / 状态数不同 | 高斯 copula 分位阈值(如 2×3) | 本页「多证券」 |
| 多证券 | 相关矩阵 + 高斯 copula → Π nₖ 联合频率 | 本页「多证券」 |
| 书中 §3.8 近似 | h=Σ qₖ(aₖ…cₖⱼ…)+…,相关进 dₖⱼcₖⱼ | 快速近似(抛物线页) |
max_q H(q) = Σᵢ P(rᵢ) · log( q₀R₀ + Σₖ qₖ(1+rᵢₖ) )
s.t. Σ q = 1, qₖ ≥ 0(或允许卖空/透支)
相关只改变 P(r₁,…,rₙ):
独立: P = Πₖ pₖ
相关: P 由联合表 / copula 生成
ρ↑ → 同涨同跌变多 → 分散红利↓ → 几何增长↓
ρ↓ → 对冲变强 → 可提高总仓位与 H
三种求解方法说明
目标都是 max H。因 H 对 q 为凹函数,局部最优 = 全局最优;差别在收敛路径与速度。
| 方法 | 思路 | 优点 | 注意 |
|---|---|---|---|
| 坐标爬山 | 多起点(零点 / 单资产扫描 / 等权 / 随机)+ 逐维微调,步长减半直至收敛 | 不依赖梯度,实现稳健,好解释 | 起点少时易卡角点(如全押一个资产);现已多起点加强 |
| 解析梯度精修 | ∂H/∂qₖ = Σᵢ Pᵢ Δᵢₖ /(Rᵢ ln2),投影梯度上升 + 线搜索 | 凹问题下可视为全局峰;高维更快 | 梯度很小的区域需归一化步长(已处理) |
| §3.8 近似初值 + 梯度 | 对每个资产单独抛物线拟合 H(qₖ) 得初值,再梯度精修 | 收敛快,适合资产多、要反复调参 | 初值偏差大时仍靠精修纠正 |
| Python SLSQP(对照) | scipy.optimize 凸优化,解析雅可比 | 准确性最高,有全局最优保证 | 在 position_sizing.py,不在网页内 |
准确性排序(凹问题):
SLSQP (Python) ≥ 解析梯度 ≈ §3.8初值+梯度 ≥ 坐标爬山(多起点) > 坐标爬山(单起点·旧版)
三种方法 H 对不齐时:
取「H 更大且 Σq、约束合法」的一组 = 全局最优
ρ = 0 时相关列与独立列应完全一致(已走精确独立,无 MC 噪声)
和书中公式的关系
| 书中 | 用在哪 |
|---|---|
| §3.1 最大增值熵 | 一切方法的统一目标 |
| §3.2 单硬币闭式 | 两状态单资产;可校验 SLSQP / 梯度 |
| §3.8 抛物线近似 | 「近似初值」的来源 |
| §2.5 相关性 | 联合分布构造(本页 copula) |
风险提示:ρ 由历史估计时应使用区间或情景压力;两两相关 ≠ 完整依赖结构(尾部相关可能更大)。
本工具为理论/教学实现,不构成投资建议。