历元智能投研由Antares多因子选股系统驱动
ANTARES / PUBLIC/doc/散户用AI能赢过机构吗/三市场三周期量化与基本面融合多因子选股系统设计方案
Skip to content

三市场三周期量化与基本面融合多因子选股系统设计方案 ​

副标题:A股、港股、美股:三周期量化 + 基本面选股系统设计

目的是建立一套 Quantamental(量化与基本面融合)多因子选股系统,分别服务于三个投资周期、三个股票市场。 不是简单地把几十个指标加权求和,而是搭建五层体系:

  1. 股票池筛选:剔除不可交易、流动性不足及重大风险标的
  2. 多因子评分:依据市场和持有周期,计算0—100分
  3. 基本面验证:识别财务异常、催化剂真实性及预期差
  4. 交易与风控:决定能否买入、仓位、退出条件
  5. 回测与持续校准:检验扣除交易成本后是否存在稳定优势

这套系统应同时输出四个结果:股票综合评分、相对排名、预期风险收益比、交易建议状态。 所有初始权重和筛选阈值都是待验证的策略假设,而不是已经通过真实历史回测证明有效的参数。

一、九套模型的初始权重 ​

把全部指标统一为七个一级因子,但针对三个市场、三个投资周期,采用九组不同权重。

模型A:周内短线(1—5个交易日) ​

一级因子A股港股美股
资金与筹码结构30%30%23%
消息与事件催化25%20%27%
情绪与技术趋势25%18%20%
盈利与预期修正5%9%12%
宏观与政策8%12%10%
估值水平2%5%3%
行业景气与竞争优势5%6%5%
合计100%100%100%

设计理由: A股短线提高资金和情绪权重,重点识别题材扩散、成交量异常、板块联动和筹码拥挤。港股短线重视成交深度和流动性,避免模型给出高分却难以实际成交。美股短线适当提高事件与业绩预期权重,尤其关注财报、指引及重大公司公告。

模型B:中期趋势(1—6个月) ​

一级因子A股港股美股
资金与筹码结构13%12%10%
消息与事件催化15%11%13%
情绪与技术趋势15%10%13%
盈利与预期修正22%27%30%
宏观与政策15%18%12%
估值水平7%12%12%
行业景气与竞争优势13%10%10%
合计100%100%100%

这个周期的核心应是盈利预期修正 + 趋势确认,而不是单纯追逐上涨幅度最大的股票。

中期模型在A股、港股与美股的因子初始权重

模型C:中长期投资(6—24个月) ​

一级因子A股港股美股
资金与筹码结构5%7%4%
消息与事件催化6%5%7%
情绪与技术趋势5%3%4%
盈利与预期修正30%28%32%
宏观与政策13%17%13%
估值水平18%25%20%
行业景气与竞争优势23%15%20%
合计100%100%100%

中长期投资应优先判断公司的盈利、现金流、资本回报率和竞争优势,再评估价格是否合理。

模型之间的重要区别: 周内模型预测短期资金供需,中期模型寻找预期上修与持续趋势,长期模型研究未来盈利增长与估值重估。因此,不能把三个模型的分数直接比较,也不应该把同一只股票在三个周期的排名简单求平均。

二、七大因子如何量化 ​

这里是整套系统最重要的部分:把抽象的“资金”“情绪”“盈利能力”,转化为有明确计算方法的数据指标。

1. 周内短线模型:重点指标 ​

因子二级指标及组内权重
资金与筹码5日成交额放大程度40%、换手率异常25%、交易成本与流动性20%、主动买卖失衡15%
事件催化事件重要性40%、信息新颖性30%、事件时效性30%
情绪与趋势5日相对强弱40%、波动率调整后的趋势30%、市场及板块广度30%
盈利预期最新业绩超预期程度50%、管理层指引变化50%
宏观政策政策或宏观意外变化50%、个股对应风险敏感度50%
估值同业估值偏离70%、极端估值风险30%
行业景气板块相对强弱60%、上涨股票占比40%

这张表中的百分比是各一级因子内部的二级权重。

例如,A股短线的资金因子总权重为30%,其中“5日成交额放大程度”的实际总权重为:

text
30\%\times40\%=12\%

几个关键指标的计算方式: ​

① 成交额放大倍数 ​

text
VA_5=\frac{近5日平均成交额}{此前20日平均成交额}

用于识别资金活跃度变化。需要注意,成交量异常放大并不一定利多,也可能意味着高位分歧或集中抛售,因此应与价格方向结合判断。

② 相对强弱 ​

text
RS_5=R_{\text{股票},5日}-R_{\text{所属行业},5日}

③ 主动买卖失衡 ​

text
OBI=\frac{主动买入量-主动卖出量}{主动买入量+主动卖出量}

该指标需要可靠的逐笔成交或订单流数据,不应该用普通行情软件标注的“主力资金净流入”直接替代。

④ 事件分数 ​

可把事件重要性、来源可信度和新颖程度标准化,再使用时间衰减函数:

text
EventScore_t=E_0e^{-\Delta t/\tau}

其中 (\tau) 为衰减尺度,需要回测确定,不建议预先认定所有消息三天后都会失效。

2. 1—6个月模型:重点指标 ​

因子二级指标及组内权重
资金与筹码20/60日成交活跃度变化40%、可验证的持仓变化30%、流通盘换手30%
事件催化业绩指引变化40%、里程碑兑现30%、政策或重大合同进展30%
情绪与趋势12-1动量50%、均线趋势30%、下行波动率20%
盈利预期FY1 EPS修正45%、FY2 EPS修正25%、收入预测修正15%、利润率趋势15%
宏观政策增长与信用环境50%、利率汇率敏感性50%
估值同业远期PE分位40%、EV/EBITDA分位30%、自由现金流收益率30%
行业景气订单与需求40%、价格与库存30%、供需变化30%

其中,我最看重两个指标。

① 盈利预测修正 ​

text
EPSRev_{30}=\frac{EPS_{t}^{FY1}-EPS_{t-30}^{FY1}}{Price_t}

这里使用同一预测财年、同一会计口径的历史一致预期,并把EPS转换为与价格相同的货币单位。 之所以不直接使用EPS增长率,是因为企业可能处在亏损转盈利阶段,简单百分比会出现极端值。

② 12-1动量 ​

text
MOM_{12-1}=\frac{P_{t-21}}{P_{t-252}}-1

即大约过去12个月、但排除最近1个月的累计收益。 这是经典动量研究采用的常见构造思路;它不是简单的“过去涨得越多,未来必然继续上涨”。

我的中期模型会特别重视: 盈利预测上修与价格动量同时发生的股票。 这种组合值得测试,但必须通过与单独使用盈利修正、单独使用动量的模型比较,才能证明融合是否真正增加了预测能力。

3. 6—24个月模型:重点指标 ​

因子二级指标及组内权重
资金与筹码流动性稳定性50%、股本稀释与融资压力50%
事件催化战略里程碑兑现50%、经营与治理重大变化50%
情绪与趋势200日相对趋势60%、下行风险变化40%
盈利预期未来两年EPS增长30%、ROIC 25%、现金流质量25%、财务稳定性20%
宏观政策中长期增长与信用条件50%、利率汇率风险暴露50%
估值自由现金流收益率40%、远期PE相对估值30%、适用行业的企业价值估值30%
行业景气市场份额40%、相对定价能力30%、竞争壁垒与资本强度30%

建议重点监控四项财务指标。

① 投入资本回报率 ROIC ​

text
ROIC=\frac{税后经营利润(NOPAT)}{平均投入资本}

② 自由现金流 FCF ​

text
FCF=经营现金流-资本性支出

③ 自由现金流收益率 ​

text
FCFYield=\frac{自由现金流}{权益市值}

④ 净负债/EBITDA ​

text
Leverage=\frac{有息债务-现金及等价物}{EBITDA}

对于银行、保险、REITs、尚未盈利的生物科技公司,这套通用财务模板不能直接照搬,应采用行业专属指标,例如银行的ROE、P/B、不良贷款率,REITs的FFO/AFFO等。

行业竞争优势也需要量化代理变量,例如市场份额变化、相对竞争对手的毛利率差额、客户留存率或研发成果转化率。无法从可靠来源取得的数据不能凭印象填高分。

三、统一评分公式:如何给一只股票打分 ​

这是九套模型共用的核心引擎。

第一步:指标标准化 ​

不同指标单位不一致,不能把ROIC的18%、每日成交额的20亿元、以及动量的35%直接相加。 我建议使用同市场、同一时点的截面百分位评分。 首先,对每个指标确定方向:例如ROIC越高越好、融资风险越低越好。然后对极端值进行缩尾处理,再计算分位数:

text
s_{i,j,t}=100\times PercentileRank(x_{i,j,t})

其中:

  • (i):股票
  • (j):指标
  • (t):评分日期
  • (s):0—100之间的得分 估值、盈利能力等指标建议同时计算行业内分位,避免银行的PE与软件公司的PE直接比较。对于动量,还应保留一定的全市场强弱信息,不能把所有行业趋势全部中性化掉。

第二步:计算一级因子得分 ​

假设某一级因子包含三个二级指标:

text
F_i=0.4s_{i,1}+0.35s_{i,2}+0.25s_{i,3}

每个一级因子最终也会得到0—100分。

宏观因子需要特殊处理:利率、信用环境等变量对大多数股票是共同信息,因此不能简单给每只股票相同的宏观分数。应该使用宏观状态 × 个股历史敏感度,计算其不同风险暴露下的分数;市场整体风险状态另用于调整组合总仓位。

第三步:计算综合分数 ​

text
\boxed{S_{i,m,h,t}=\sum_{k=1}^{7}w_{m,h,k}F_{i,k,t}}

其中 (m) 为市场,(h) 为投资周期。各因子权重之和为100%。

以一只假设的A股股票、1—6个月模型为例:

一级因子权重指标评分
资金与筹码13%70
事件催化15%80
情绪与趋势15%65
盈利预期22%85
宏观政策15%60
估值7%55
行业景气13%75

综合模型评分:72.15 / 100分

该结果只是示范计算,未对应任何真实股票。

这个72.15分只能说明该股票在模型指标下的相对吸引力,绝不能解释成72.15%的上涨概率。 若要预测上涨概率,应使用历史样本对评分进行独立校准:

text
p_H=P(R_{i,H}^{excess}>0\mid S_i,\text{市场状态})

并进一步计算扣除成本后的交易期望:

text
EV=p_H\times平均盈利-(1-p_H)\times平均亏损-交易成本

只有样本外校准表现可靠,才适合输出类似“未来20个交易日上涨概率”的数字。

第四步:加入基本面人工验证 ​

我的建议是:基本面研究不要随意修改公式算出的分数,而应独立完成证据核查。

核查经营现金流真实性、财务重述、股权质押、商誉减值、核心产品竞争力、重大订单可兑现程度等。 存在重大且未经澄清的财务造假证据、严重流动性危机等情况时,可以直接设置风险否决。普通研究判断也必须记录证据、时间和结论,不能在看到后续股价走势后倒填分析记录。 对于缺失数据,要求保留覆盖率标记。如果缺失的指标累计权重超过20%,我建议暂停正式排名;否则可在合理范围内按剩余有效指标重新归一化,但不能把缺失的盈利预测当成0分。事件缺席则可以定义为中性分50。

四、三个市场的数据来源 ​

这是整个系统最现实的实施问题。

免费的历史行情比较容易获得;可靠的历史盈利预测修正、真实交易时点的公告、机构持仓和订单簿数据则明显困难得多。

数据来源推荐 ​

数据类别A股港股美股
日线行情、成交额Tushare Pro、AKShare、交易所HKEX、授权行情商Nasdaq Data Link、行情服务商
公司财务报表巨潮资讯、沪深交易所、WindHKEXnewsSEC EDGAR、公司IR
历史盈利一致预期Wind、Choice、FactSetFactSet、LSEGFactSet、LSEG、S&P
机构持仓基金定期披露、上市公司公告CCASS、权益披露SEC 13F等披露
实时盘口与逐笔数据授权Level-2行情HKEX授权行情Nasdaq或交易所授权数据
利率、汇率、宏观央行、统计局等HKMA、政府统计处FRED、美联储等

几个重要来源已经核实:

  • Tushare Pro 和 AKShare:可用于构建A股研究数据的初始方案,但需检查接口稳定性、权限、复权和历史数据质量。
  • HKEXnews 披露易:可搜索港股上市公司公告、业绩和财务报告,包括已退市公司的相关文档。
  • SEC EDGAR API:提供公开申报记录以及部分标准化XBRL财务数据,无须API密钥,但必须遵守访问规则。
  • FactSet历史时点一致预期:提供历史时点的分析师预测快照,适合构建真正的盈利修正回测。

LSEG I/B/E/S与S&P Capital IQ也提供全球盈利预测、历史修正等数据,但授权和历史范围取决于订阅服务。

我会把数据方案分为两个档次: 低成本研究版:采用公开行情、官方财报和公告,以盈利历史趋势及管理层指引代替部分一致预期指标。可以建立研究原型,但不能声称完全实现了“分析师盈利预期修正模型”。 专业版:使用具备历史时点快照的数据,加入可验证的分析师预测、逐笔交易及机构仓位变化,用于正式回测与模拟交易。 每条财务或公告数据至少保存两个时间字段:信息实际公开时间和系统接收时间。回测只能使用交易决策时已经可获得的信息。

五、交易规则必须分别建模 ​

A股、港股和美股不能共用同一个订单执行模拟器。

市场必须考虑的交易约束
A股股票通常不能当日买入当日卖出;交易板块的涨跌幅制度、停牌和无法成交的涨跌停订单
港股T+2交收、每手买卖单位、买卖价差、部分证券的VCM冷静期
美股T+1交收、盘前盘后流动性、LULD波动限制及个股暂停交易

截至2026年10月,特别需要落实以下规则: A股上交所现行交易规则明确规定普通股票交收前不得卖出;2026年7月6日起,沪深主板风险警示股票涨跌幅限制已由5%调整为10%。这意味着回测2025年与2026年下半年的ST股票,不能套用同样的涨跌停参数。 港股现金市场仍实行T+2交收,T+1是港交所提出的后续改革方向。港股的VCM冷静期也不是A股式的每日固定涨跌停板。 美股自2024年5月28日起,对大多数证券交易实行T+1标准交收;它与A股买入后不能立即卖出的交易限制是两个不同概念。

交易成本 ​

在回测中,交易成本应拆成:

text
C=佣金+税费+买卖价差+滑点+市场冲击+融资及换汇成本

其中港股特别需要注意,通常应税股票买卖双方各收0.1%印花税,普通来回交易仅这一项就约占成交金额0.2%,此外还有交易费、征费和券商佣金。

A股证券交易印花税自2023年8月28日起减半,建模时也必须按历史生效日期使用当时的税费。

对短线策略,我建议同时观察毛收益与净收益。如果策略在扣除成本后没有明显优势,即使预测胜率看起来不错,也没有足够的实战价值。

六、风控系统设计 ​

在我看来,风控不能被当作第八个普通评分因子,而应该是独立于选股评分之外的强制模块。

三周期建议风控参数 ​

下面是保守研究原型的起始参数,不是对所有资金规模都适用的固定建议。

风控项周内短线1—6个月6—24个月
单只股票仓位上限3%5%7%
单次交易初始风险预算净值0.3%净值0.5%净值0.75%
单行业总仓位上限20%25%25%
主要退出机制ATR、事件失效、时间止损盈利修正逆转、趋势破坏投资逻辑失效、估值明显透支
组合检查频率每日每周每月及重要事件时

单笔仓位可以按照风险预算计算:

text
仓位比例 \leq
\frac{单笔风险预算}{计划止损幅度}

例如,账户净值风险预算为0.3%,预设合理退出距离为6%,风险预算对应的仓位上限就是5%;但由于短线模型另设3%的单票上限,最终最多只能配置3%。 同时还需要受到成交能力限制:

text
单次订单金额\leq ADV_{20}\times参与率上限

这里可以先使用日均成交额1%的订单参与率作为压力测试假设,实际再根据账户规模、交易时段和盘口深度重新校准。 必须注意:止损单并不能保证按止损价成交,A股连续跌停、港股跳空和美股暂停交易都可能令真实损失超出预设预算。 我还建议建立三类额外约束:

  • 相关性风险:限制同行业、同主题、同一实际控制人或A/H两地上市公司带来的重复风险暴露。
  • 市场与汇率风险:分别计算RMB、HKD、USD计价的净值、汇兑收益和风险敏感度。
  • 模型失效风险:若近期信号有效性、实际滑点或回撤明显偏离验证期范围,降低新开仓规模并重新评估,而不是立刻优化历史参数来“修复”回测曲线。

七、历史回测如何验证这九套模型 ​

我建议采取先验证选股信号,再验证组合交易,最后验证整体风控的顺序。

1. 信号回测 ​

三个周期分别使用不同预测窗口。

模型主要观察收益窗口信号更新
周内短线1、3、5个交易日每日
1—6个月21、63、126个交易日每周
6—24个月126、252、504个交易日附近每月、业绩更新时

以交易日计算只是近似,真正的6个月、24个月收益窗口还需结合各市场日历。 首先测试各因子与未来收益的关系。核心指标是Rank IC:

text
IC_t=Spearman(S_{i,t},R_{i,t\to t+H})

其中未来收益建议使用扣除市场和必要风险暴露后的相对收益,防止模型实际上只是在买高Beta股票。 观察平均IC、IC的稳定程度、不同评分分组的未来收益是否有序,以及信号有效性是否随持有时间衰减。

2. 时间序列与样本外验证 ​

不能把全样本随机拆成训练集和测试集,因为相邻的持仓收益窗口可能重叠。 正确方式是按照真实时间顺序进行Walk-forward测试,并使用Purging与Embargo处理重叠标签。 示意流程如下:

历史训练、验证期与样本外测试的滚动流程

对于24个月持有模型,尤其不能把尚未经过完整24个月的信号当成已经有完整收益结果的样本。 回测股票池也必须包含历史退市、停牌、上市时间较短及最终表现不佳的股票。仅使用今天仍然上市的公司,会引入幸存者偏差。

3. 策略绩效指标 ​

我会把下列指标设为正式验收字段:

指标验证目标
年化收益率 CAGR扣成本后的绝对表现
年化超额收益是否跑赢对应市场基准
Sharpe Ratio单位波动的风险调整收益
Information Ratio超额收益是否稳定
最大回撤 MDD最坏历史损失幅度
Rank IC及ICIR选股因子预测稳定性
换手率交易频率与成本敏感性
盈亏比、胜率收益分布与交易质量
尾部损失、CVaR极端行情的承受能力

基准应根据股票池选择,而不是机械地让所有策略都和沪深300或标普500比较。例如,中小盘股票池应使用规模更接近的基准,并尽量采用包含分红的总回报口径。

4. 必须通过的压力测试 ​

我认为正式部署前至少完成以下实验:

  1. 成本翻倍测试:佣金、价差和滑点假设明显恶化后,是否仍有正的净超额收益?
  2. 因子消融测试:分别删除资金、消息、盈利、估值等因子,验证新增因子是否真正改善表现。
  3. 权重扰动测试:各主要权重在合理范围内变化时,策略是否仍有相近表现?
  4. 市场状态测试:分别在牛市、熊市、横盘、高波动和低波动期间验证。
  5. 流动性测试:减少可成交量、增加冲击成本,检查回测表现是否严重衰减。
  6. 极端风险测试:加入停牌、跳空、涨跌停无法成交、退市损失和换汇冲击。 多次尝试参数还会形成数据挖掘偏差,因此正式测试集不应反复用于调参;如果进行了大量策略尝试,应考虑多重检验或Deflated Sharpe Ratio等方法。

八、怎样从0开始实施 ​

我建议分三个版本推进,而不是一开始就训练复杂的深度学习股票预测器。

V1:规则型多因子系统 ​

建立三个市场的历史股票池、可交易性过滤、数据标准化、七大因子评分、回测引擎与风险报告。先使用本文的固定权重。

V2:统计学习权重优化 ​

使用正则化线性模型、LightGBM等学习非线性关系,并与固定权重系统比较。对权重变化、特征贡献和跨市场稳定性施加约束。

V3:基本面事件引擎与模拟交易 ​

增加公告结构化、财报文本分析、盈利预期变化、风险否决记录、市场状态识别,并通过模拟盘核对实际成交与模型假设。

如果以后要加入大语言模型,我会优先让AI负责阅读公告、提取经营数据、识别风险和生成可核查的研究解释,而不是直接让语言模型猜测明天的股票价格。

九、我建议采用的最终系统架构 ​

三市场数据、因子模型、基本面复核、交易模拟与回测的系统架构

技术实现上,我倾向使用Python作为核心语言,采用Parquet或数据库保存历史数据,使用独立的因子计算、回测、组合优化和报告模块。框架可以参考 QuantConnect LEAN 的事件驱动回测设计,但需要额外验证A股和港股市场规则、行情授权及数据覆盖范围。

最终建议 ​

我认为这套系统最值得优先验证的,不是全部七大因子,而是各周期真正承担预测任务的核心组合:

周期首先验证的核心组合
周内短线事件超预期程度 × 异常成交 × 相对强弱
1—6个月盈利预测修正 × 价格动量 × 行业景气
6—24个月可持续盈利增长 × ROIC/现金流 × 合理估值

这些组合先分别与单因子策略、等权模型及对应市场基准比较。如果它们在三个市场的样本外净收益表现稳定,再逐步加入更复杂的因子和机器学习。 真正应该追求的,不是让模型指标越来越多,而是让每增加一个指标,都能证明它带来了独立、稳定、扣除成本后仍然存在的预测价值。

项目规划 ​

项目名称: quantamental-tricycle

模块开发内容
数据中心A股、港股、美股行情、财报、公告与宏观数据
选股模型三个投资周期、七大因子、九套评分权重
基本面分析盈利质量、估值、行业竞争力与财务风险
回测引擎历史数据回测、收益分析、策略验证
风控系统仓位管理、止损、交易成本、市场风险
策略优化参数校准、Walk-forward、机器学习扩展

开发顺序 ​

  1. V1:可运行原型 — 建立Python项目、评分引擎、样例数据、基础回测和自动化测试。
  2. V2:数据与策略扩展 — 接入三市场真实数据源,完善财务因子、市场交易规则与风险控制。
  3. V3:智能分析平台 — 加入AI公告分析、交互式界面、模拟交易与模型优化。 开发任务已包含原方案中的全部九套初始权重、关键公式、数据来源和回测要求。

历元智能投研 · 由Antares多因子选股系统驱动知识库