feat(weight): 实现 Kelly 仓位权重模式

- config_loader.py: WeightType 枚举新增 KELLY
- simple_rotation.py: compute_position_weights 新增 kelly 分支
  - 公式: w_i = max(score_i, 0) / sum(max(score_j, 0))
  - 负分自动排除 (Kelly: 不下注负期望)
  - 全负分时 fallback 到等权
- _generate_signals 传递 scores 给 kelly 模式
- config_simple.yaml: weight 改为 kelly
- 新增策略总结文档: kelly_weight.md

回测对比 (2020-2026):
- equal: 年化 19.88%, 夏普 1.13, 回撤 -14.65%
- rank:  年化 22.90%, 夏普 1.12, 回撤 -16.27%
- kelly: 年化 30.13%, 夏普 1.15, 回撤 -20.44%
This commit is contained in:
2026-06-08 23:04:41 +08:00
parent 844e609ff7
commit 8b7bcf206a
4 changed files with 239 additions and 4 deletions

View File

@@ -108,7 +108,7 @@ rebalance:
rotation:
diversified: true
select_num: 3
weight: rank
weight: kelly
threshold:
dynamic:
fallback_enabled: true