当前位置:首页>行情>量化交易的核心秘密:不同行情下,因子搭配完全不同

量化交易的核心秘密:不同行情下,因子搭配完全不同

  • 2026-11-12 08:59:43
量化交易的核心秘密:不同行情下,因子搭配完全不同

一、90%的量化策略失效,不是因为因子不行,而是因为“用错了行情”

很多量化初学者都有过这样的经历:明明回测曲线很漂亮,一上实盘就变脸;上个月赚得盆满钵满的策略,这个月亏得爹妈不认。

原因往往不是因子本身失效,而是——市场行情变了,你的因子没变。

A股市场从来不是单一节奏:牛市主升浪、熊市阴跌、熊市反弹、震荡横盘、结构性分化……不同行情下,有效的因子完全不同。用牛市的动量策略去熊市里跑,就是送钱;用震荡市的反转策略去牛市中做,就是踏空。

这篇文章,我帮你把6种典型A股行情分别拆解,给出最适配的因子组合、技术指标参数和交易逻辑。文末还附了一个动态切换的PTrade代码框架,可以直接上手。


二、先学会判断:现在到底是什么行情?

在选因子之前,先解决一个问题:当前市场处于什么状态?

2.1 华泰金工牛熊指标(推荐方法)

利用波动率 + 换手率两个维度的趋势方向,划分四象限:

市场状态
波动率方向
换手率方向
市场特征
牛市
↑上行
↑上行
暴涨+放量,情绪高涨
熊市
↑上行
↓下行
暴跌+缩量,恐慌出逃
牛市初期/反弹
↓下行
↑上行
恐慌消退,资金进场
震荡市
↓下行
↓下行
方向不明,观望浓厚

实操中,用60日线性回归斜率判断方向(比均线大小对比更稳定),分别计算上证综指的20日波动率序列和20日换手率序列,看斜率正负。

2.2 技术指标快速打分(五维加权)

你也可以用下面这套综合打分模型,每日输出一个分数,判断市场状态:

市场得分 = 0.25×趋势分 + 0.20×动量分 + 0.20×波动率分 + 0.20×成交量分 + 0.15×市场广度分

  • 得分 > 60 → 牛市特征
  • 得分 40~60 → 震荡市特征
  • 得分 < 40 → 熊市特征

每个维度的评分标准,参考文档中的量化规则(比如趋势分看MA20/MA60的差值占比,动量分看MACD的DIF位置等)。

有了这个判断,我们就可以“看菜下饭”了。


三、6种行情下的因子搭配与交易逻辑

3.1 牛市主升浪:趋势为王,强者恒强

市场特征:MA20>MA60>MA120多头排列,MACD DIF>0且上行,成交额>1.2万亿,涨跌比>1.5。

核心逻辑:趋势延续 + 动量加速 + 散户追涨 → 顺势而为,别猜顶。

最适配因子组合:

排序
因子
权重
方向
1
中期动量(20日/60日收益率)
25%
正
2
MACD_DIF
20%
正
3
小市值(流通市值)
20%
负
4
营收增速
15%
正
5
高换手率
10%
正
6
Beta
10%
正

技术指标配置:MA5>MA10>MA20>MA60(强趋势确认),MACD零轴上方金叉加仓,布林带沿上轨运行持有,OBV持续新高确认资金流入。

牛市禁忌:❌ 不要用反转因子(RSI超卖抄底) ❌ 不要用低波动因子 ❌ 不要过度看重价值因子 ❌ 不要频繁止损(给趋势15%以上空间)

调仓建议:月度调仓,集中持仓3~5只,止损放宽到-15%,MACD零轴上方二次金叉或回踩MA20不破可加仓。


3.2 牛市初期(底部反转):超跌修复,资金抄底

市场特征:前期跌幅>20%,波动率从高位回落,换手率从低位回升,MACD底部金叉,MA5上穿MA20。

核心逻辑:超跌修复 + 资金流入 → 前期跌得越惨,反弹越猛。这阶段因子和主升浪完全不同。

最适配因子组合:

排序
因子
权重
方向
1
短期反转(5日/10日收益率)
25%
负
2
RSI_14
20%
负
3
小市值
20%
负
4
OBV斜率
15%
正
5
低换手率
10%
负
6
BP(账面市值比)
10%
正

技术指标:RSI<30抄底区间,KDJ的J值<0后上穿,MACD底部金叉(最好配合底背离),布林带触及下轨后回升,MA5上穿MA20为第一反转信号。

禁忌:❌ 不要用动量因子(方向混乱) ❌ 不要用成长因子 ❌ 不要等“确认牛市”再进场(那时已经涨了20%)

调仓建议:周度调仓(反弹变化快),持仓4~6只,止损-8%,退出信号为RSI>70、MACD顶背离或MA20走平。


3.3 熊市:持续下跌——活下去是第一要务

市场特征:MA20<MA60<MA120空头排列,MACD DIF<0且下行,成交额持续萎缩,换手率下行、波动率上行(恐慌)。

核心逻辑:防守 + 质量 + 低波动 → 目标不是赚钱,而是少亏,跑赢指数。

最适配因子组合:

排序
因子
权重
方向
1
低波动率(ATR取反)
25%
负
2
ROE(高盈利质量)
20%
正
3
EP(低估值)
15%
正
4
布林带宽度取反
15%
负
5
低换手率
10%
负
6
股息率
15%
正

技术指标:ATR/C越低越好,布林带带宽越窄越稳定,股价必须站上MA60(否则排除),RSI控制在30~50区间,排除OBV持续下降的票。

禁忌:❌ 小市值(熊市跌最惨) ❌ 动量因子(容易崩溃) ❌ 成长因子(杀估值) ❌ 重仓单一行业 ❌ 加杠杆

调仓建议:月度调仓,持仓5~8只高度分散,止损严控-5%,**仓位控制在30%~50%**,可考虑沪深300ETF对冲。


3.4 熊市反弹:快进快出,弹完就跑

市场特征:熊市中跌幅>15%后出现,波动率从极高回落,成交量突然放大,MACD低位金叉,KDJ的J值<0后拐头,通常持续1~4周。

核心逻辑:短期修复,不是反转 → 跌得最多的反弹最猛 + 弹性大的涨幅最大。这是最考验择时的行情。

最适配因子组合:

排序
因子
权重
方向
1
短期反转(3日/5日收益率)
25%
负
2
KDJ_J
20%
负
3
小市值
20%
负
4
布林带%B(跌破下轨)
15%
负
5
换手率变化(突然放大)
10%
正
6
Beta
10%
正

技术指标:KDJ的J<0后上穿20(最敏感底部信号),RSI(6)<20后拐头,收盘价跌破布林下轨后首次收回,MACD底部金叉,成交量>1.5倍均量确认反弹。

退出信号(重要!) 满足任意一条即减仓:

  1. RSI(6)>80
  2. 价格触及MA20受阻回落
  3. 成交量萎缩到反弹前水平
  4. 连续2天阴线吞没前一周涨幅
  5. MACD柱连续3天缩短

调仓建议:周度甚至日度调仓,持仓集中2~3只,止损-5%,仓位30%~50%,最长持有期不超过4周。


3.5 震荡市:高抛低吸,均值回归

市场特征:指数在MA20和MA60之间反复穿越,MACD在0轴附近震荡,成交额6000~9000亿,波动率中等偏低,板块轮动快,无持续主线。

核心逻辑:买低卖高 + 反转 + 质量 → 没有趋势,动量失效,靠超买超卖反复做波段。

最适配因子组合:

排序
因子
权重
方向
1
短期反转(5日收益率)
20%
负
2
ROE(高盈利质量)
20%
正
3
RSI_14
15%
负
4
EP(低估值)
15%
正
5
低换手率
15%
负
6
MA偏离度
15%
负

技术指标:RSI<30买入、>70卖出;KDJ的K<20买入、>80卖出;布林带触下轨买入、触上轨卖出;MACD仅在零轴附近做金叉死叉波段;价格偏离MA20超过±5%时反向操作。

禁忌:❌ 动量因子 ❌ 趋势跟踪 ❌ 追涨杀跌 ❌ 重仓单一方向

调仓建议:周度调仓,持仓4~6只,止损-5%,仓位60%~80%,单次盈利目标5%~10%(不贪)。


3.6 结构性行情:跟热点,抓行业动量

市场特征:指数涨幅不大甚至微跌,但某些板块暴涨;涨跌比接近1;成交额集中于热点板块;行业轮动极快(典型:2023年AI、2024年红利)。

核心逻辑:行业/主题驱动,不是因子驱动 → 宽基多因子失效,需要聚焦热点行业 + 资金流向。

最适配因子组合:

排序
因子
权重
方向
1
行业动量(行业近20日涨幅)
25%
正
2
换手率变化(突然放大)
20%
正
3
OBV斜率
15%
正
4
MACD_DIF
15%
正
5
短期反转(行业内)
10%
负
6
营收增速
15%
正

技术指标:OBV创新高+价格创新高(资金确认),MACD高位不拐头,连续放量且价格不跌(主力吸筹),RSI(6)强势回调到50~60区间不破,北向/主力资金持续净流入热点行业。

退出信号:行业成交量连续3天萎缩,领涨股MACD死叉,资金连续净流出该行业,行业RSI(6)>85。

调仓建议:周度调仓,总持仓15~25只但集中在2~3个热点行业(单一行业不超过40%),止损-8%,仓位70%~90%。


四、一张速查总表:什么行情用什么因子

因子有效性矩阵(⭐越多越有效)

因子
牛市
牛市初期
熊市
熊市反弹
震荡市
结构性
动量(20/60日)
⭐⭐⭐⭐⭐
⭐
⭐
⭐
⭐
⭐⭐⭐
短期反转
⭐
⭐⭐⭐⭐⭐
⭐⭐
⭐⭐⭐⭐⭐
⭐⭐⭐⭐⭐
⭐⭐⭐
小市值
⭐⭐⭐⭐⭐
⭐⭐⭐⭐
⭐
⭐⭐⭐⭐
⭐⭐⭐
⭐⭐⭐
EP(低估值)
⭐⭐
⭐⭐⭐
⭐⭐⭐
⭐⭐
⭐⭐⭐⭐
⭐⭐
ROE(质量)
⭐⭐
⭐⭐
⭐⭐⭐⭐⭐
⭐
⭐⭐⭐⭐⭐
⭐⭐⭐
营收增速(成长)
⭐⭐⭐⭐
⭐
⭐
⭐⭐
⭐⭐
⭐⭐⭐⭐
低波动率
⭐
⭐
⭐⭐⭐⭐⭐
⭐
⭐⭐⭐
⭐⭐
股息率
⭐
⭐⭐
⭐⭐⭐⭐
⭐
⭐⭐⭐
⭐⭐⭐
换手率变化
⭐⭐⭐
⭐⭐⭐
⭐⭐
⭐⭐⭐
⭐⭐
⭐⭐⭐⭐⭐
OBV斜率
⭐⭐⭐⭐
⭐⭐⭐
⭐⭐
⭐⭐⭐
⭐⭐⭐
⭐⭐⭐⭐⭐

一句话口诀

牛市追趋势(动量+MACD),熊市保安全(低波动+ROE),震荡做反转(RSI+均值回归),反弹打弹性(小市值+KDJ),结构性跟热点(行业动量+资金流)。


五、动态切换:用代码实现“看行情下菜碟”

  1. 每月初判断当前市场状态(牛/熊/震荡/反弹/结构性……)
  2. 根据状态切换因子组合、权重、方向、仓位上限
  3. 用切换后的因子进行选股

核心函数接口示例:

defjudge_market_state(context):
# 返回 'bull' / 'bear' / 'shock' / 'rebound' / 'structural'

defget_factor_weights(market_state):
# 返回对应状态的因子列表、权重、方向、仓位上限

注意事项:状态判断有滞后性 → 可设置“缓冲区”(得分45~55沿用上月判断),或采用大小周期共振(长周期稳趋势+短周期抓拐点),以及斜率加速度、ADL背离预警等进阶优化。文档中提供了完整优化方案,篇幅所限不展开,感兴趣的朋友可以私信获取完整代码。


写在最后

量化交易不是找到一个“万能因子”然后躺赢。真正的专业,是懂得在不同市场环境下,主动切换不同的因子组合和交易逻辑。

这套方法论,你可以直接用在自己已有的策略上:先加一个市场状态判断模块,再根据上文的速查表动态调整因子权重。你会发现,策略的最大回撤明显下降,而收益曲线更加平滑。

最后送你三句话:

  • 没有坏的因子,只有用错行情的因子。
  • 牛市里不要自作聪明做反转,熊市里不要头铁追动量。
  • 策略模型是骨架,行情适配是血肉,纪律执行才是灵魂。

风险提示:本文所有内容仅为量化策略教学与研究分享,不构成任何投资建议。因子策略基于历史数据,历史表现不代表未来收益。市场有风险,投资需谨慎。请根据自身风险承受能力独立决策。


如果觉得这篇文章对你有帮助,欢迎点赞、在看、转发,让更多朋友看到。

最新文章

随机文章