根据python案例,基本面权重应占多少?

wen python案例 2

基本面权重在量化选股中的占比参考

基本面权重应占多少",没有一个固定答案,取决于策略类型、持仓周期、市场环境,但可以给出业界常用的参考区间和Python实践建议。

根据python案例,基本面权重应占多少?


按策略类型的经验权重

策略类型 持仓周期 基本面权重 技术/量价权重 说明
短线交易/打板 1-5天 0% ~ 10% 90% ~ 100% 基本面几乎不参与
趋势/动量 1-3月 20% ~ 30% 70% ~ 80% 基本面做过滤
多因子选股 1-6月 40% ~ 60% 40% ~ 60% 最典型场景
价值投资 1年以上 70% ~ 90% 10% ~ 30% 基本面主导
指数增强 3-12月 50% ~ 70% 30% ~ 50% 基本面+风控因子

最常用的通用答案:多因子选股场景下,基本面权重约 50%~60%。


Python中常见的权重分配方式

方式1:等权(入门)

# 基本面因子 6个,技术因子 4个 → 各占50%
fund_weight = 0.5
tech_weight = 0.5

方式2:分层权重(推荐)

# 基本面内部再细分
weights = {
    'value':     0.20,   # 估值 PE/PB
    'quality':   0.15,   # ROE/毛利率
    'growth':    0.15,   # 营收/净利润增速
    'momentum':  0.25,   # 动量
    'volatility':0.10,   # 波动率
    'liquidity': 0.15,   # 流动性
}
# 基本面合计 = 0.50

方式3:IC/ICIR 动态加权(进阶)

# 根据因子历史 IC 表现自动分配权重
import numpy as np
ic_series = compute_ic(factors)  # 各因子IC序列
icir = ic_series.mean() / ic_series.std()
weights = np.clip(icir, 0, None) / np.clip(icir, 0, None).sum()
# 结果通常基本面因子合计落在 40%~65%

决定权重的关键因素

  1. 持仓周期越长 → 基本面权重越高

    • 日频:< 10%
    • 月频:30%~50%
    • 季频/年频:> 60%
  2. 市场环境

    • A股熊市/震荡市:基本面(低估值、高ROE)权重上调
    • 牛市/主题行情:技术面(动量、资金)权重上调
  3. 股票池

    • 大盘蓝筹:基本面权重 60%+
    • 中小盘/题材:技术面权重 60%+
  4. 风险约束

    若要求低回撤 → 提高质量因子(属基本面)权重


Python回测验证建议

不要拍脑袋定权重,用代码验证:

import itertools
import numpy as np
best = None
for w_f in np.arange(0.3, 0.8, 0.1):        # 基本面权重
    for w_t in [1 - w_f]:                    # 技术面权重
        score = w_f * fund_score + w_t * tech_score
        ret = backtest(score)
        ir = ret.mean() / ret.std()
        if best is None or ir > best['ir']:
            best = {'w_f': w_f, 'ir': ir}
print(best)

绝大多数A股多因子策略的最优基本面权重落在 0.4 ~ 0.6 之间。


直接回答

  • 如果只能给一个数:50%~60%
  • 短线:0~20%
  • 中线多因子:50%左右
  • 长线价值:70%~90%

需要我针对你具体的策略(持仓周期、股票池、因子列表)给出一个更精确的权重方案吗?

抱歉,评论功能暂时关闭!