多因子选股策略
由wtyu创建,最终由wtyu 被浏览 4 用户
策略逻辑与因子构成:
该策略的核心在于构建一个综合评分 (score),该评分由四个关键因子的标准化排名 (c_rank) 加权计算得出:
- 因子 1:平均净资产收益率 (roe_avg) - 权重 30%
- 含义: 衡量公司利用股东资本创造利润的平均效率。ROE 越高,表明公司盈利能力越强,资本利用效率越高。
- 作用: 识别具有持续、稳定高盈利能力的公司。c_rank(roe_avg) 确保我们关注的是该指标在同类公司中排名靠前的股票。
- 因子 2:每股资本收益 (basic_eps_period_capital) - 权重 30%
- 含义: 通常指每股收益 (EPS) 与每股资本的关系(或类似变种),反映公司单位资本投入所产生的收益能力。它更直接地衡量了资本运用的效率。
- 作用: 与 ROE 互补,更聚焦于投入资本产生的收益效率。高排名 (c_rank(basic_eps_period_capital)) 表明公司能高效地将资本转化为利润。
- 因子 3:每股经营现金流 (cce_ps) - 权重 40%
- 含义: 公司核心经营活动产生的每股现金流净额。反映公司创造真实现金的能力,是盈利质量的重要验证指标。
- 作用: 核心因子(最高权重)。高排名 (c_rank(cce_ps)) 筛选出盈利有充足现金支持、财务健康、抗风险能力强、具备真实分红或再投资能力的公司。高权重凸显策略对现金流质量的极度重视。
- 因子 4:量价验证动量 (mom) - 权重 10%
- 计算与含义:
- ret_20 = close / m_lag(close, 20): 当前价格相对于 20天前价格 的收益率(短期动量)。
- ret_60 = close / m_lag(close, 60): 当前价格相对于 60天前价格 的收益率(中期动量)。
- momentum = ret_20 - ret_60: 短期动量与中期动量的差值。正值表示短期表现强于中期(加速上涨趋势),负值表示短期表现弱于中期(涨势放缓或加速下跌)。
- volume_ratio = volume / m_avg(volume, 22): 当前成交量与过去22天平均成交量之比。比值 >1 表示放量(交易活跃度提升),比值 <1 表示缩量(交易活跃度下降)。
- mom = momentum * volume_ratio: 核心含义:这是一个结合了价格动能变化 (momentum) 和成交量验证 (volume_ratio) 的技术指标。它要求价格动能的强度必须得到成交量的支持才被视为有效信号。其值大小反映了量价配合下的趋势强度和可靠性:
- 高正值 (mom >> 0): 加速上涨 (momentum > 0) + 显著放量 (volume_ratio > 1) → 强烈看涨信号 (量价齐升,趋势强劲可靠)。
- 低正值 (mom > 0 但较小): 短期走强但成交量配合不足 (volume_ratio ≈ 1 或 < 1) → 上涨动能存疑,需谨慎。
- 高负值 (mom << 0): 加速下跌 (momentum < 0) + 显著放量 (volume_ratio > 1) → 强烈看跌信号 (恐慌抛售,下跌动能强)。
- 低负值 (mom < 0 但较小): 短期走弱但成交量萎缩 (volume_ratio < 1) → 下跌动能可能减弱。
- 作用: 辅助验证因子(较低权重)。rank(mom) 筛选出近期不仅价格呈现加速上涨趋势 (momentum > 0),并且这种趋势得到了成交量放大 (volume_ratio > 1) 有效验证的股票。10%的权重表明其主要用于:
- 增强基本面信号: 为基本面优质的股票增加一个“市场开始关注并积极交易”的确认维度。
- 过滤噪音: 通过成交量验证,避免选择那些仅有“无量空涨”动能的股票,提升动量信号的可靠性。
- 捕捉趋势启动: 量价齐升 (mom 高正值) 往往是新趋势启动或原有趋势加速的标志。
- 计算与含义:
评分计算 (score):
- 对于股票池中的每只股票,分别计算其四个因子 (roe_avg, basic_eps_period_capital, cce_ps, mom) 在当期(例如最近一个季度、半年或年度)的数值。
- 对每个因子值在股票池内进行 标准化排名 (c_rank)。
- 将每个因子的排名结果 (c_rank(...)) 乘以其对应的权重。
- 将四个加权后的排名值相加,得到最终的 综合评分 (score):\nscore = 0.3 * rank(roe_avg) + 0.3 * rank(basic_eps_period_capital) + 0.4 * rank(cce_ps) + 0.1 * rank(mom)
选股与组合构建:
- 股票池: 收盘价大于5,每日成交额大于5000000的香港股票。
- 计算评分: 按照上述公式,计算股票池中所有符合条件的股票的综合评分 (score)。
- 排序筛选: 根据 score 对所有股票进行从高到低的排序。
- 组合构建:
- 选取 score 排名最高的前 5 只股票等仓位买入。
- 定期调整: 如果score排名最高的前5只股票变化,则仓位调整至最新的5只股票。
策略特点与优势:
- 基本面主导,质量为先: 90% 的权重分配给了盈利能力 (ROE)、资本效率 (EPS/Capital) 和现金流质量 (CFO/Share) 这三个核心基本面因子,强调选择财务健康、盈利能力强且可持续的“优质”公司。
- 现金流为核心 (cce_ps 40%): 赋予现金流因子最高权重,显著提升了对盈利真实性和公司财务稳健性的要求,有助于规避盈利虚高或财务风险较大的公司。
- 动量辅助 (mom 10%): 引入少量动量因子,旨在捕捉市场情绪转向或趋势延续的信号,可能提升策略的短期表现和入市时机,同时对冲纯粹价值/质量策略可能面临的“价值陷阱”或短期表现滞后的风险。
- 系统化与客观性: 基于明确、可量化的规则进行选股和调仓,减少主观情绪干扰。
- 分散化: 通过多因子和多股票的组合,自然实现风险的分散。
- 标准化排名: 使用排名 (c_rank) 方法有效消除了不同因子量纲差异的影响,并使得策略在不同市场条件下更具适应性和可比性,更关注股票在横截面上的相对优势。
潜在风险与考量:
- 因子有效性变化: 历史表现不代表未来。盈利能力、效率、现金流或动量的市场溢价可能随时间减弱、消失甚至反转。
- 数据依赖性与滞后性: 财务数据 (roe_avg, basic_eps_period_capital, cce_ps) 存在发布滞后(季度/年度),使用最新可得数据可能并非当前真实状况。动量 (mom) 也可能在市场快速反转时失效(动量崩溃)。
- 参数敏感性: 权重分配 (30%, 30%, 40%, 10%)、排名计算方法、调仓频率、选股数量 (N 或 %) 等参数的选择会影响策略表现,需要进行严谨的回测和参数鲁棒性检验。
- 交易成本: 定期调仓会产生交易佣金和冲击成本,高频调仓尤其明显,需在回测和实盘中充分考虑。
- 市场环境适应性: 该策略更偏向于“质量+弱动量”,在价值因子强势或市场剧烈波动转向防御时可能表现较好,但在纯粹成长股主导或动量因子极度强势的市场中可能相对落后。
- 模型风险: 量化模型是对现实的简化,可能忽略重要的定性因素或市场结构变化。
策略实现:
Input Features (DAI SQL) (v1)
Input Mode选择Expression
Expression features计算出score:
Expression filters 筛选收盘价大于5,日成交额大于5000000的股票
Expression-default tables 填写 hk_stock_prefactors
Data Extraction (DAI) (v1)
Start date/start_date:2024-01-01
End date/end_date:2025-06-17
Number of days to look back for historical data:120
BigTrader (High-Performance Backtesting) (v13)
买入股票为5只,score从大到小排序
策略代码:
https://n2nquant.com/codesharev3/98491c9d-3cc4-4abe-801a-e78eb522c368
\