凯利公式f* = p - (1 - p)/b计算最优仓位占比,负值时应暂停策略;实盘中可设阈值截断或加权平滑,并对多合约总仓位超限做等比例缩放。

全球主流的正规交易所推荐
欧易OKX:
Binance币安:
火币Huobi:
Gateio芝麻开门:
一、理解凯利公式的基本结构
凯利公式用于计算单次下注的最优资金比例,其核心输入为胜率与赔 率。在合约交易中,该比例直接对应可动用保证金占总权益的比例。
1、确认历史回测中该策略的盈利次数与总交易次数,计算胜率p = 盈利次数 ÷ 总次数。
2、统计所有盈利交易的平均收益率,以及所有亏损交易的平均亏损率,得出盈亏比b = 平均盈利 ÷ 平均亏损。
3、代入公式f* = p - (1 - p) / b,所得f*即为建议仓位占比。
二、处理负值结果的修正方式
当计算出的f*为负数,说明当前胜率与盈亏比不满足正期望条件,应暂停执行该策略。但实际中可采用截断或平滑处理以适配实盘需求。
1、设定下限阈值,如f* ,表示不建仓。
2、引入衰减因子α(取值0.3–0.7),将原始结果压缩为f_adj = α × max(f*, 0)。
3、对连续三次f*为负的情形,触发策略校验流程,重新统计最近30笔交易数据。
三、结合杠杆倍数的仓位换算
凯利公式输出的是名义仓位占账户权益的比例,需根据所选杠杆折算为实际开仓张数或面值,避免爆仓风险。
1、获取当前合约的最小变动单位与标的指数价格,计算每张合约的名义价值V_contract。
2、用账户可用权益乘以f*,得到目标名义持仓额Notional = Equity × f*。
3、除以V_contract并向下取整,得出最大可开张数;再根据所选杠杆L,验证维持保证金是否低于可用保证金的85%。
四、动态调整胜率参数的滚动窗口法
固定历史胜率易导致滞后,采用滑动窗口更新p与b,使仓位响应市场变化更及时。
1、设定窗口长度N=50,仅纳入最近50笔已完成交易的数据。
2、每新增一笔结算交易,剔除最早一笔,重新计算p与b。
3、当新p较旧p变动超过±0.15,立即重算f*并同步更新下一单仓位指令。
五、多合约并行时的总仓位约束机制
同时交易多个币种合约时,需防止f*叠加导致总风险超限,须设置全局上限并按相关性分配。
1、设定账户层面总仓位上限为f_max_total = 0.3。
2、计算BTC与ETH合约收益率序列的相关系数ρ,若|ρ| > 0.6,则对其f*加权合并:取较大值的0.7倍 + 较小值的0.3倍。
3、各合约分配后,检查∑f_i是否超过f_max_total,若超出则按原f_i等比例缩放至总和等于该上限。









