量化投资策略组合选择指南,根据市场环境(牛/熊/震荡)选择合适的选股和择时策略组合。适用于需要构建或调整量化投资组合、不知道如何搭配使用多种策略的投资者。
量化投资不是单策略打天下,而是需要根据市场环境变化动态调整策略组合。本技能提供一套系统化的方法,帮助你判断当前市场环境并选择合适的策略搭配。
何时使用此技能:
┌─────────────────────────────────────────────────────────┐
│ 战略层:资产配置 │
│ (决定股票/债券/商品/现金的配置比例) │
├─────────────────────────────────────────────────────────┤
│ 战术层:策略选择 │
│ (决定选股策略+择时策略的组合) │
├─────────────────────────────────────────────────────────┤
│ 执行层:参数优化 │
│ (具体因子参数、阈值调优) │
└─────────────────────────────────────────────────────────┘
本技能聚焦于"战术层":如何选择合适的策略组合
| 指标 | 牛市特征 | 熊市特征 | 震荡市特征 | |------|---------|---------|-----------| | 价格趋势 | 均线多头排列 | 均线空头排列 | 均线缠绕 | | 波动率 | 适中(20%~25%) | 急剧放大(>30%) | 较低(<20%) | | 成交量 | 放大 | 萎缩或恐慌放量 | 缩量 | | 市场情绪 | 乐观贪婪 | 恐慌悲观 | 观望犹豫 |
# 市场环境判断示例
def judge_market_regime():
"""
返回: 'bull' | 'bear' | '震荡'
"""
# 1. 趋势判断:20日均线 vs 60日均线
ma20 = close_price.rolling(20).mean()
ma60 = close_price.rolling(60).mean()
trend = 'bull' if ma20 > ma60 else 'bear'
# 2. 波动率判断
volatility = returns.rolling(20).std() * np.sqrt(252)
# 3. 综合判断
if volatility < 0.2:
regime = '震荡'
else:
regime = trend
return regime
| 市场环境 | 平均持续时间 | 策略有效期 | |---------|-------------|-----------| | 牛市 | 6~12个月 | 3~6个月需评估 | | 熊市 | 3~8个月 | 1~3个月需评估 | | 震荡市 | 2~6个月 | 1~2个月需评估 |
| 选股策略 | 牛市 | 熊市 | 震荡市 | 说明 | |---------|------|-------|-------|------| | 多因子模型 | ⭐⭐⭐ 推荐 | ⭐⭐ 谨慎 | ⭐⭐⭐ 推荐 | 牛市高 Alpha,震荡市防守性强 | | 动量策略 | ⭐⭐⭐ 推荐 | ⭐ 回避 | ⭐⭐ 适用 | 动量在趋势市中有效 | | 反转策略 | ⭐ 谨慎 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | 震荡市均值回复特征强 | | 资金流策略 | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | ⭐⭐ 适用 | 资金流入是牛市发动机 | | 行业轮动 | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | 任何环境都有轮动机会 | | 风格轮动 | ⭐⭐ 适用 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | 震荡市风格切换频繁 |
| 择时策略 | 牛市 | 熊市 | 震荡市 | 说明 | |---------|------|-------|-------|------| | 趋势追踪(均线) | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | ⭐ 回避 | 均线在趋势市中有效 | | 趋势追踪(MACD) | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | ⭐ 谨慎 | 震荡市假信号多 | | Hurst 指数 | ⭐⭐ 适用 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | 适合判断周期拐点 | | 市场情绪 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | 情绪极端是熊市底 | | 牛熊线 | ⭐⭐⭐ 推荐 | ⭐⭐⭐ 推荐 | ⭐⭐ 适用 | 适合大周期判断 | | 统计套利 | ⭐⭐ 适用 | ⭐⭐ 适用 | ⭐⭐⭐ 推荐 | 市场中性,震荡市更稳 |
目标:控制回撤,追求稳健收益
| 组件 | 策略 | 权重 | 理由 | |------|------|------|------| | 选股 | 多因子模型 | 40% | 长期 Alpha 稳定 | | 选股 | 行业轮动 | 30% | 把握行业机会 | | 择时 | 牛熊线 | 30% | 大周期判断 |
适用环境:所有环境(尤其震荡市)
目标:最大化牛市收益
| 组件 | 策略 | 权重 | 理由 | |------|------|------|------| | 选股 | 动量策略 | 50% | 趋势延续高收益 | | 选股 | 资金流策略 | 30% | 跟随主力资金 | | 择时 | 均线择时 | 20% | 把握主升浪 |
适用环境:牛市、趋势上涨行情
目标:控制回撤,等待机会
| 组件 | 策略 | 权重 | 理由 | |------|------|------|------| | 选股 | 价值因子 | 30% | 低估值防御 | | 择时 | 市场情绪 | 40% | 逃顶抄底 | | 择时 | 牛熊线 | 30% | 大周期择时 |
适用环境:熊市、趋势下跌行情
目标:在无趋势中获取收益
| 组件 | 策略 | 权重 | 理由 | |------|------|------|------| | 选股 | 反转策略 | 35% | 均值回复 | | 选股 | 风格轮动 | 25% | 风格切换收益 | | 择时 | Hurst 指数 | 20% | 周期拐点判断 | | 套利 | 统计套利 | 20% | 市场中性收益 |
适用环境:震荡市、盘整行情
| 风险等级 | 特征 | 建议组合 | |---------|------|---------| | 保守型 | 最大回撤 < 10% | 稳健增长型 | | 平衡型 | 最大回撤 10%~20% | 组合一/组合四 | | 激进型 | 最大回撤 > 20% | 牛市进攻型 |
原则:选择相关性低的策略进行组合
# 策略相关性矩阵(示例)
# 动量 vs 反转:-0.6(负相关,互补性强)
# 均线 vs Hurst:0.4(正相关,可二选一)
# 多因子 vs 资金流:0.3(低相关,可叠加)
建议:
方法一:等权重
每个策略权重 = 1 / 策略数量
简单易行,适合初学者
方法二:风险平价
每个策略对组合风险的贡献相等
需要计算策略波动率
方法三:历史绩效
权重 ∝ 历史夏普比率
但需要注意过拟合风险
| 再平衡触发条件 | 操作 | 频率 | |--------------|------|------| | 策略跑输基准 20% | 评估是否替换 | 月度 | | 市场环境切换 | 调整策略比例 | 季度 | | 策略相关性显著变化 | 重新分配权重 | 半年度 |
| 切换类型 | 领先指标 | 确认信号 | 应对操作 | |---------|---------|---------|---------| | 牛市→震荡 | 波动率下降 | 均线缠绕 | 减少动量,增加反转 | | 震荡→熊市 | 情绪过热 | 跌破60日线 | 降低仓位,增配防御 | | 熊市→震荡 | 缩量企稳 | 波动率触底 | 逐步加仓,增配套利 | | 震荡→牛市 | 价量齐升 | 突破前高 | 增加动量,放开仓位 |
背景:2023年A股整体震荡,行业轮动快
原组合:
调整过程:
Step 1: 环境判断
- 波动率 < 20% → 震荡市
- 行业轮动加快 → 轮动机会多
Step 2: 策略替换
- 减少动量(20%),增加反转(15%)
- 减少均线择时,增加 Hurst(10%)
- 增加行业轮动(15%)
Step 3: 新组合
- 反转策略 30% ← 新增
- 行业轮动 30% ← 保留
- 多因子模型 20% ← 稳定收益
- Hurst 择时 20% ← 新增
结果:回撤减少 5%,收益提升 3%
| 问题 | 原因 | 解决方案 | |------|------|---------| | 组合收益持续跑输单策略 | 策略相关性太高 | 检查相关性,减少重复策略 | | 市场环境判断总是错 | 指标参数不当 | 调整均线周期或增加确认信号 | | 策略切换后反而更差 | 切换太频繁 | 坚持策略至少 3 个月 | | 组合波动太大 | 权重分配不当 | 增加低波动策略权重 |
stock-selection/multi-factor-model: 多因子选股stock-selection/sector-rotation: 行业轮动stock-selection/momentum-reversal: 动量与反转timing/trend-following-timing: 趋势追踪择时timing/market-sentiment-timing: 市场情绪择时arbitrage/statistical-arbitrage: 统计套利┌──────────────────────────────────────────────────┐
│ 快速选择指南(按 Ctrl+D 保存) │
├──────────────────────────────────────────────────┤
│ 不知道用什么时 → 多因子 + 行业轮动 + 牛熊线 │
│ 看到明显上涨趋势 → 动量 + 均线 + 资金流 │
│ 看到明显下跌趋势 → 价值 + 情绪 + 降低仓位 │
│ 行情不涨不跌 → 反转 + Hurst + 统计套利 │
└──────────────────────────────────────────────────┘
Category:stocks-finance