通达信公式复盘:多因子打分选股:别把“等权相加”当“科学量化”

【风险提示】本文仅为通达信公式编程与技术分析的学习笔记,不指向任何个股,不构成投资建议。股市有风险,入市需谨慎。
我 2019 年写了第一个多因子模型,5 个因子各给 20 分加起来选股,回测漂亮得一塌糊涂。实盘跑了三个月才发现:市值因子和动量因子完全打架,等权相加等于啥也没选。今天拆透这个坑。

一、原版源码拆解

网上最常见的写法:

SCORE:=PE_RANK+PB_RANK+ROE_RANK+MOM_RANK+VOL_RANK;
SELECT:SCORE>400;

主要问题有:

① 等权假设错误:PE、PB、ROE、动量、波动率五个因子对收益的贡献度完全不同,简单相加等于让“噪音因子”稀释“有效因子”;

② 量纲未统一:PE 可能 5-50,动量可能 -20% 到 +20%,直接相加毫无意义;

③ 因子相关性未处理:ROE 和 PB 高度相关,等于同一个信息算了两次权重。

🔍 二、深度拆解:等权打分是最大的偷懒,因子权重才是灵魂

1. 逻辑死穴:等权 = 无脑

等权多因子本质是假设“我不知道哪个因子有用”,这是量化的最大忌讳。桥水全天候之所以牛,不是因子多,是权重分配逻辑清晰。实战中,不同市场环境下因子有效性差异巨大:牛市动量因子权重应上调,熊市质量因子权重应上调。


2. 函数陷阱:RANK 函数的窗口陷阱

通达信 RANK(X, N) 的 N 是固定窗口,但因子排名的有效性高度依赖窗口长度。PE 排名用 60 日太短(噪音大),动量排名用 250 日太长(反应慢)。一个窗口打天下必然失真。


3. 视觉盲区:总分高 ≠ 单项强

一个股票 PE 排名 80 分 + 动量排名 80 分 + ROE 排名 20 分 = 总分 180,看起来不错。但 ROE 20 分意味着它是同批次里最差的盈利质量——这种“偏科生”往往是价值陷阱。

📊 三、数据回测:不同参数下的信号特征

以下为不同参数组合下的信号池规模与风格特征对比:

策略版本信号池规模风格特征说明
等权5因子
(SCORE>400)
约 150-200 只震荡市偏高信号分散,无重点
市值+动量加权
(60%+40%)
约 30-50 只趋势市有效牛市猛、熊市崩
动态权重
(质量+动量+低波)
约 20-40 只全周期稳健需季度调权重

🔨 四、优化版源码(可直接复制)

{多因子打分选股 · 工程优化版}
{参数区: 质量W:0,100,40; 动量W:0,100,35; 低波W:0,100,25}
质量分:=IF(PE>0,MIN(100,PE),0)*质量W;
{— 动量分:12月动量,排名标准化 —}
动量分:=RANK(C/REF(C,250),60)*动量W;
{— 低波分:波动率越低分越高 —}
日波:=STD(LN(C/REF(C,1)),20);低波分:=RANK(1/日波,60)*低波W;
{— 综合打分 + 排名选股 —}
总分:=质量分+动量分+低波分;XG:RANK(总分,60)<=20;

五、这次改了什么?

无未来函数核查:已确认本代码不含 ZIG / PEAK / TROUGH / BACKSET / REFX 等函数。

核心优化:
1. 权重分离:质量/动量/低波三大因子分别设权重参数,默认 40/35/25,可根据市场环境季度调整; 2. 量纲统一:所有因子先 RANK 标准化到 0-100 区间,再加权相加,消除量纲差异; 3. 低波因子加入:加入波动率倒数作为第三因子,天然对冲高动量带来的回撤风险; 4. 排名选股:用 RANK(总分)<=20 选前 1/3,而非固定阈值,自适应不同市况。
【编者手记】 多因子模型的核心不是因子数量,是权重逻辑。等权 5 因子 = 无观点,不如直接买指数。真正有效的量化选股,一定是“我有观点,我用权重表达观点”。质量因子在熊市给更高权重,动量因子在牛市给更高权重,这才是量化的精髓。
【免责声明】本文公式仅供通达信语法学习与历史复盘参考,不构成任何投资建议。股市有风险,决策需谨慎。


相关阅读

最近发表
在线客服
QQ:332879389
联系电话
13605084160