A股因子择时/风格轮动量化
数据源
SCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts"
python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [日期]
python "$SCRIPTS/cn_stock_data.py" quote --code [CODE]
python "$SCRIPTS/cn_stock_data.py" finance --code [CODE]
Workflow
Step 1: 获取风格指数
获取大盘/小盘、价值/成长、高波/低波等风格指数K线。
Step 2: 计算因子收益
- 各风格因子的多空收益(做多因子值高的、做空因子值低的)
- 滚动IC(因子预测力变化)
Step 3: 因子动量分析
- 近期强势因子(过去20日因子收益排名)
- 因子动量:近5日因子收益 vs 近60日均值
- 因子拥挤度:因子估值扩散度
Step 4: 择时信号
- 宏观信号:利率/信用利差/PMI → 因子偏好
- 技术信号:因子价差的均值回归
- 情绪信号:因子拥挤度过高时反转
Step 5: 输出
| 维度 | formal | brief |
|---|---|---|
| 因子表现 | 各因子收益+IC | 当前强势因子 |
| 轮动信号 | 多维度择时评分 | 推荐风格 |
| 历史规律 | 因子轮动周期分析 | 无 |
默认风格:brief。
关键规则
- 因子择时难度极高——多数学术研究表明因子择时不如长期持有
- 宏观驱动的风格轮动相对可预测(利率→价值/成长切换)
- 因子拥挤度是最有效的反转信号之一
- A 股风格轮动比海外更剧烈——大小盘轮动尤为明显
- 保持因子分散化比精准择时更重要
使用示例
示例 1: 基本使用
# 调用 skill
result = run_skill({
"param1": "value1",
"param2": "value2"
})
示例 2: 命令行使用
python scripts/run_skill.py --input data.json