# 结构化适配动态多因子策略 ## 方案逻辑 | 大类 | 因子 | 权重 | 说明 | |------|------|------|------| | **价值(20%)** | PE/PB | 20% | 估值因子,越小越好 | | **质量(20%)** | ROE | 20% | 盈利能力,越大越好 | | **成长(15%)** | 营收/利润增速 | 15% | 成长性,越大越好 | | **中国特色(25%)** | 大小市值+反转 | 25% | A股特色因子 | | **技术趋势(10%)** | 1月/3月动量 | 10% | 趋势跟踪 | | **新增板块强度(10%)** | 板块涨幅/全市场 | 10% | 适配结构化轮动 | | **合计** | | **100%** | | ## 核心流程 1. **因子预处理**:行业中性化 + 市值中性化 + zscore标准化 2. **动态加权**:每月更新因子IC,IC越高权重越大 3. **选股**:因子打分选top20-30,再过滤:只留站上年线的股票 4. **仓位**: - 整体仓位:根据全市场估值分位调整(低估满仓,高估轻仓) - 单票不超过5% - 单板块不超过20% ## 参数配置(全部可配置,方便遍历优化) | 参数 | 默认值 | 说明 | |------|--------|------| | `rebalance_freq` | 'M' | 调仓频率,月频M/周频W | | `top_n` | 25 | 选股数量,20-30 | | `require_above_ma` | True | 是否需要站上年线 | | `ma_period` | 250 | 年线周期 | | `value_weight` | 0.20 | 价值因子权重 | | `quality_weight` | 0.20 | 质量因子权重 | | `growth_weight` | 0.15 | 成长因子权重 | | `china_special_weight` | 0.25 | 中国特色因子权重 | | `trend_weight` | 0.10 | 技术趋势权重 | | `sector_strength_weight` | 0.10 | 板块强度权重 | | `max_single_pct` | 0.05 | 单票最大仓位 | | `max_sector_pct` | 0.20 | 单板块最大仓位(相对于总仓位) | | `dynamic_weight_enabled` | True | 是否开启动态加权 | | `ic_window` | 12 | IC计算滚动窗口(月数) | | `market_timing_enabled` | True | 是否开启估值择时 | | `min_total_position` | 0.3 | 最小总仓位 | | `max_total_position` | 1.0 | 最大总仓位 | ## 文件结构 ``` structured-dynamic-factors-20260327/ ├── README.md ├── __init__.py ├── main_strategy.py # 主策略 ├── factors/ │ ├── __init__.py │ ├── base_factor.py # 因子基类,带中性化处理 │ ├── value_factors.py # 价值因子PE/PB │ ├── quality_factors.py # 质量因子ROE │ ├── growth_factors.py # 成长因子增速 │ ├── china_special.py # 中国特色因子(市值+反转) │ ├── trend_factors.py # 趋势因子动量 │ └── sector_strength.py # 板块强度因子 └── utils/ ├── __init__.py ├── factor_neutralize.py # 行业/市值中性化工具 ├── dynamic_weight.py # 动态IC加权 └── market_timing.py # 估值择时 ``` --- **创建日期**: 2026-03-27 **作者**: 翼德 (张飞)