strategy-selection

star 7

量化投资策略组合选择指南,根据市场环境(牛/熊/震荡)选择合适的选股和择时策略组合。适用于需要构建或调整量化投资组合、不知道如何搭配使用多种策略的投资者。

FeiCoder By FeiCoder schedule Updated 2/27/2026

name: strategy-selection description: 量化投资策略组合选择指南,根据市场环境(牛/熊/震荡)选择合适的选股和择时策略组合。适用于需要构建或调整量化投资组合、不知道如何搭配使用多种策略的投资者。

策略组合选择

概述

量化投资不是单策略打天下,而是需要根据市场环境变化动态调整策略组合。本技能提供一套系统化的方法,帮助你判断当前市场环境并选择合适的策略搭配。

何时使用此技能:

  • 当你拥有多个策略但不知道如何组合使用时
  • 当市场环境发生变化需要调整策略时
  • 当你需要构建一个稳健的量化投资系统时
  • 当你想了解策略与市场环境的匹配关系时

核心框架:三层决策体系

┌─────────────────────────────────────────────────────────┐
│                    战略层:资产配置                       │
│         (决定股票/债券/商品/现金的配置比例)                │
├─────────────────────────────────────────────────────────┤
│                    战术层:策略选择                       │
│         (决定选股策略+择时策略的组合)                      │
├─────────────────────────────────────────────────────────┤
│                    执行层:参数优化                       │
│              (具体因子参数、阈值调优)                      │
└─────────────────────────────────────────────────────────┘

本技能聚焦于"战术层":如何选择合适的策略组合


第一步:判断市场环境

四要素判断法

指标 牛市特征 熊市特征 震荡市特征
价格趋势 均线多头排列 均线空头排列 均线缠绕
波动率 适中(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% 市场中性收益

适用环境:震荡市、盘整行情


第四步:组合构建流程

Step 1:风险偏好评估

风险等级 特征 建议组合
保守型 最大回撤 < 10% 稳健增长型
平衡型 最大回撤 10%~20% 组合一/组合四
激进型 最大回撤 > 20% 牛市进攻型

Step 2:策略相关性检验

原则:选择相关性低的策略进行组合

# 策略相关性矩阵(示例)
# 动量 vs 反转:-0.6(负相关,互补性强)
# 均线 vs Hurst:0.4(正相关,可二选一)
# 多因子 vs 资金流:0.3(低相关,可叠加)

建议

  • 选股策略选 23 个,择时策略选 12 个
  • 避免重复(如同时用 MA 和 MACD 择时)
  • 优先选相关性低的策略

Step 3:权重分配

方法一:等权重

每个策略权重 = 1 / 策略数量
简单易行,适合初学者

方法二:风险平价

每个策略对组合风险的贡献相等
需要计算策略波动率

方法三:历史绩效

权重 ∝ 历史夏普比率
但需要注意过拟合风险

Step 4:动态再平衡

再平衡触发条件 操作 频率
策略跑输基准 20% 评估是否替换 月度
市场环境切换 调整策略比例 季度
策略相关性显著变化 重新分配权重 半年度

第五步:市场环境监测与切换

环境切换信号

切换类型 领先指标 确认信号 应对操作
牛市→震荡 波动率下降 均线缠绕 减少动量,增加反转
震荡→熊市 情绪过热 跌破60日线 降低仓位,增配防御
熊市→震荡 缩量企稳 波动率触底 逐步加仓,增配套利
震荡→牛市 价量齐升 突破前高 增加动量,放开仓位

切换原则

  1. 渐进切换:不要一次性完全切换,先调整 20%~30% 权重
  2. 双确认:至少两个独立信号确认再切换
  3. 有备选:每个环境准备至少一个备选策略

实战案例

案例:2023年A股策略组合调整

背景:2023年A股整体震荡,行业轮动快

原组合

  • 动量策略 50% + 均线择时 50%
  • 问题:动量策略在震荡市频繁亏损

调整过程

Step 1: 环境判断
   - 波动率 < 20% → 震荡市
   - 行业轮动加快 → 轮动机会多

Step 2: 策略替换
   - 减少动量(20%),增加反转(15%)
   - 减少均线择时,增加 Hurst(10%)
   - 增加行业轮动(15%)

Step 3: 新组合
   - 反转策略 30% ← 新增
   - 行业轮动 30% ← 保留
   - 多因子模型 20% ← 稳定收益
   - Hurst 择时 20% ← 新增

结果:回撤减少 5%,收益提升 3%


注意事项

  1. 没有万能组合:任何组合都有适用和不适用的时候
  2. 分散要适度:3~5 个策略即可,过多增加复杂性
  3. 贵在坚持:不要因为短期表现频繁更换策略
  4. 定期复盘:至少每季度评估一次策略有效性

错误处理与故障排查

问题 原因 解决方案
组合收益持续跑输单策略 策略相关性太高 检查相关性,减少重复策略
市场环境判断总是错 指标参数不当 调整均线周期或增加确认信号
策略切换后反而更差 切换太频繁 坚持策略至少 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 + 统计套利           │
└──────────────────────────────────────────────────┘
Install via CLI
npx skills add https://github.com/FeiCoder/Skill-Factory --skill strategy-selection
Repository Details
star Stars 7
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator