|
|
a475e1b314
|
feat(strategy): 分组选股增强-大类冠军二次过滤确保组合动量达标
核心改进:
- selectors.py: _grouped_selection增加二次过滤,大类冠军得分不足时跳过该大类
- strategy.py: min_score参数可配置,从策略配置读取
- config.yaml: min_score=0.0(过滤负动量),保留注释说明更高阈值的权衡
设计原则:
- 组合中每个标的动量得分都必须>=min_score
- 大类冠军得分不足时不强制持有,持仓数量动态调整
- min_score=0保持简单稳健,更高阈值虽能改善回撤但可能错过机会
实验验证:
- min_score=0: 累计收益14580%, 最大回撤-61.1%, 空仓131天
- min_score=0.02: 累计收益17052%, 最大回撤-61.0%, 但2000年恶化
- 决策:保持min_score=0,避免阈值选择的trick问题
|
2026-05-16 20:38:57 +08:00 |
|
|
|
acec96539b
|
fix(strategy): 添加负动量空仓机制避免持仓惯性亏损
当所有候选标的动量得分低于min_score时,策略自动清仓而非继续持有之前的负动量组合。
修复问题:
- 旧逻辑:target为空时继续持有current_held(负动量标的)
- 新逻辑:target为空时清仓(current_held='')
回测效果:
- 累计收益从11872%提升至14580%(+2708%)
- 最大回撤从-71.9%改善至-61.1%(+10.9%)
- 2000年互联网泡沫期间空仓77天(24.8%)
- 2001年空仓31天,收益从-48.7%改善至-41.1%
|
2026-05-16 11:42:36 +08:00 |
|
|
|
19131c41dd
|
fix: 数据源路由修复与因子计算改进
1. 修复期货路由逻辑:NYMEX期货(.NYM)走YFinance而非Tushare
2. 添加SSH隧道路径修复(原引擎)
3. 因子计算只使用close列(处理部分指数只有收盘价的情况)
4. 添加数据不足和缺失率剔除日志
收益对比:
- 原引擎(剔除国债): 累计1804%, 调仓459次
- 新框架: 累计772%, 调仓1276次
差异原因待查:
- 国债剔除逻辑不同
- 调仓频率差异
|
2026-05-12 00:47:43 +08:00 |
|
|
|
c5a41b71ae
|
feat(signals): 完善TopNSelector分散化选股和调仓控制
- 支持group_mapping分组映射(替代group_info列)
- 每大类选Top1,然后跨类排序选Top3
- 添加调仓周期控制(rebalance_days)
- 添加调仓阈值检查(rebalance_threshold)
- 支持最小得分过滤(min_score过滤负分)
|
2026-05-11 23:23:37 +08:00 |
|
|
|
69081297c5
|
feat(strategies): 实现定制组件(因子、信号生成器、风控)
- strategies/shared/factors/momentum.py: MomentumFactor/TrendFactor/ReversalFactor/VolatilityFactor
- strategies/shared/signals/selectors.py: TopNSelector/TrendFollower/ReversalTrader
- strategies/shared/risk/controls.py: StopLossControl/PositionLimitControl/PremiumControl
- strategies/shared/__init__.py: 统一入口导出所有定制组件
|
2026-05-11 23:09:35 +08:00 |
|