方法论与计算说明

指标与计算方法

所有因子在横截面(同一交易日、全市场)上做 z-score 标准化后再合成打分, 使不同量纲的因子(市盈率、股息率、收益率…)可直接相加。绩效指标均基于净值序列 NAV 计算,年化以 252 个交易日为基准。

指标公式口径说明
横截面 z-score z = (x − mean) / std 对因子值在“全市场当日”做标准化,使不同量纲的因子可比、可加。均值与标准差在全股票池内计算(population std)。
动量(Momentum) mom(w) = P_last / P_w0 − 1 最近 w 个交易日的区间收益率(window 日收益)。如 252 日动量≈近一年收益,21 日动量≈近一月收益。
年化波动率(Vol) σ_ann = std(daily_ret) × √252 日收益率标准差按 252 个交易日年化。窗口内标准差越低,标的越“稳健”。
年化收益(Ann Return) R_ann = (NAV_end / NAV_start)^(252/n) − 1 净值序列按 252 交易日年化。n 为序列有效长度。
夏普比率(Sharpe) Sharpe = √252 × mean(r) / std(r) 单位风险的超额收益(此处未扣无风险利率,为收益/波动比)。越高代表风险调整后收益越好。
最大回撤(MaxDD) MaxDD = min(NAV / cummax(NAV) − 1) 净值相对历史最高点的最大跌幅,衡量极端下行风险,取值为负。

实现位置:quant_strategies/quant_framework.py

异动扫描信号

报告第一段「异动扫描」捕捉四类当日异常。阈值取自 scanner.py

量能异动VOLUME_SPIKE
当日成交量 / 前 20 日均量 ≥ 2.0

成交显著放大的“异常量比”,通常伴随资金关注或事件驱动。vol_window(均量窗口)= 20。

价格突破PRICE_BREAKOUT
现价 ≥ N 日最高价 × 0.999(N = 60)

创 60 日新高附近的右侧突破信号,常被视为趋势启动。breakout_window = 60。

涨停LIMIT_UP
单日涨幅 ≥ 9.5%

接近或等于涨停(A 股主板 10%),情绪与资金合力的最强体现。

均线多头MA_BULL
close > MA20 > MA60

价格站上 20 日均线、且 20 日均线上穿 60 日均线,呈多头排列。

因子选股策略(5 套)

每月 / 每季(见各策略标签)对全市场打分,取排名前 N 的标的进入 selection 表。 每个标的被多少个不同策略选中,是后续「交叉共振」判定的依据。

低估值高股息 LowValDiv
Q · Top 12 score = −z(PE) − z(PB) + z(div_yield)

价值+红利双因子:低市盈率、低市净率叠加高股息率。市场恐慌或错杀时的“安全垫”底仓。

高质量 ROE QualityROE
Q · Top 12 score = z(ROE)

单因子:全市场净资产收益率(ROE)横截面排名。偏好盈利质量高、复利能力强的标的。

中期动量 Momentum
M · Top 10 score = mom(252) − mom(21) > 0

12−1 月动量:近一年收益剔除近一月收益后取正。遵循“动量效应”,持有中期强势标的。

多因子核心 MultiFactor
M · Top 12 score = 0.3·(−z(PE)−z(PB)) + 0.3·z(ROE) + 0.2·z(div_yield) + 0.2·z(mom126)

价值+质量+红利+动量的四因子等权组合,是组合的核心仓,兼顾多个市场异象。

红利低波 DivLowVol
Q · Top 12 score = 0.6·z(div_yield) + 0.4·(−z(vol126))

防御型:高股息叠加低 126 日波动率。波动越低、分红越高越靠前,适合稳健底仓。

实现位置:quant_monitor/selector.py · quant_monitor/factors.py

交易系统(10 套)

每套系统都是自闭环的「选股 + 买入信号 + 卖出信号 + 仓位 + 调仓 + 风控」, 而非笼统等权买入。下方先给出总览,再逐套展开。同一标的被 ≥ 2 套系统 选中即标记为共振高亮。

代码名称调仓持仓核心理念
ValDiv 低估值高股息 季(Q) 12 价值底仓:低 PE/PB + 高股息 + 正 ROE。
Momentum 中期动量轮动 月(M) 10 持有中期最强动量且站稳 60 日均线的标的。
QualityROE 高质量 ROE 复利 季(Q) 12 高 ROE 且盈利质量稳定的复利型底仓。
EarnMom 盈利动量 月(M) 10 盈利/营收高增长主导、价格动量确认的盈余惊喜。
MeanRev 均值回归抄底 双周(2W) 10 价格显著低于自身 N 日均值且估值便宜时分笔建仓。
MultiFactor 多因子核心 月(M) 12 价值+质量+红利+动量 四因子等权综合打分。
DivLowVol 红利低波 季(Q) 12 高股息 + 低波动率的防御仓。
Growth 高成长 月(M) 10 高盈利增速叠加强价格动量的纯成长。
Trend 趋势跟踪(均线多头) 月(M) 10 均线多头排列中、价格上穿 20 日均线时建仓。
LowVol 低波动 季(Q) 12 历史波动率最低的一篮子极端防御仓。
低估值高股息 ValDiv
调仓 季(Q) 持仓 12 只 止损 −25%
选股打分
−z(PE) − z(PB) + 0.55·z(div_yield)
买入信号
股息率 > 3% 且 ROE > 8%
卖出信号
股息率 < 2% 或 ROE < 5%(分红/盈利恶化)
适用环境
震荡市、价值回归阶段;防御性底仓。
主要风险
低估值陷阱:基本面持续恶化仍便宜。
中期动量轮动 Momentum
调仓 月(M) 持仓 10 只 止损 −20%
选股打分
mom(252) − mom(21),仅取正值
买入信号
现价 > 60 日均线
卖出信号
现价 < 120 日均线(动量转弱)
适用环境
趋势市、强势板块轮动。
主要风险
动量反转/追高回撤;震荡市频繁止损。
高质量 ROE 复利 QualityROE
调仓 季(Q) 持仓 12 只 止损 −25%
选股打分
z(ROE)
买入信号
ROE > 12%
卖出信号
ROE < 8%(盈利质量回撤)
适用环境
长线持有、慢牛环境。
主要风险
高 ROE 不可持续;估值过高。
盈利动量 EarnMom
调仓 月(M) 持仓 10 只 止损 −20%
选股打分
0.7·z(growth) + 0.3·z(mom126)
买入信号
默认调仓日买入
卖出信号
growth ≤ 0(增长证伪)
适用环境
业绩披露期、成长行情。
主要风险
增长不及预期杀估值;盈利质量差。
均值回归抄底 MeanRev
调仓 双周(2W) 持仓 10 只 止损 −15%
选股打分
−z(price_60) + 0.3·(−z(PE))
买入信号
价格 z-score < −1.5(明显超跌)
卖出信号
价格 z-score > −0.3(回归均值)
适用环境
非趋势市、错杀反弹。
主要风险
接下跌飞刀;价值陷阱延续。
多因子核心 MultiFactor
调仓 月(M) 持仓 12 只 止损 −20%
选股打分
0.3·val + 0.3·z(ROE) + 0.2·z(div) + 0.2·z(mom126)
买入信号
默认调仓日买入
卖出信号
跌出榜单(不在最新选股内)
适用环境
全天候核心仓。
主要风险
因子阶段性失效;权重固化。
红利低波 DivLowVol
调仓 季(Q) 持仓 12 只 止损 −25%
选股打分
0.6·z(div) + 0.4·(−z(vol126))
买入信号
股息率 > 3%
卖出信号
股息率 < 1.5% 或波动率跳升 > 1.6× 基线
适用环境
熊市/避险、稳健配置。
主要风险
红利削减;低波在危机中失效。
高成长 Growth
调仓 月(M) 持仓 10 只 止损 −20%
选股打分
z(growth) + z(mom126)
买入信号
默认调仓日买入
卖出信号
growth < 10%
适用环境
成长股牛市、赛道行情。
主要风险
高波动;增速放缓剧烈回撤。
趋势跟踪(均线多头) Trend
调仓 月(M) 持仓 10 只 止损 −18%
选股打分
mom(120),仅取 MA20&gt;MA60&gt;MA120 的多头标的
买入信号
现价上穿 20 日均线(金叉)
卖出信号
现价 < 60 日均线
适用环境
中长趋势市。
主要风险
假突破;震荡市来回打脸。
低波动 LowVol
调仓 季(Q) 持仓 12 只 止损 −25%
选股打分
−z(vol(252))
买入信号
默认调仓日买入
卖出信号
近期波动率 > 1.5× 基线
适用环境
极端避险、组合压波动。
主要风险
低波股在危机中可能补跌。

实现位置:quant_strategies/trading_systems.py

报告产生依据

每日报告由 Python 端自动生成,整体链路如下:

1
数据采集行情 / 估值 / 财务 / 成交量入库 MySQL
2
异动扫描量能·突破·涨停·均线多头
3
因子打分选股5 套因子月度/季度再平衡
4
交易系统信号10 套系统买卖信号
5
汇总成文markdown 报告 + 共振解读

数据来源

行情、估值、财务、成交量数据由采集模块(market_data.py)从公开接口获取并入库 MySQL; 接口失败时使用 Mock/缓存回退,保证流程不中断。anomaly 表存异动、selection 表存因子选股、交易系统选股由 strategies_report.py 计算。

报告命名与元信息

报告以最新数据日期命名(优先 anomaly.trade_date,其次 selection.select_date 的最大值)。 文件顶部 HTML 注释含元信息,供前端 manifest 解析:

<!-- meta: dataDate=... | generatedAt=... | anomalyTotal=... | selectionTotal=... | strategiesTotal=... -->

交叉共振判定

因子层:同一标的被 ≥ 2 个不同因子策略 选中(按 code 去重统计,避免同一标的因多批次重复计入); 系统层:同一标的被 ≥ 2 套交易系统 选中。共振标的在报告中以赭红高亮,代表多信号合力、确定性相对更高。

实现位置:quant_monitor/report.py_selection_read / _strategy_section_md

风险提示

本报告由量化模型自动生成,所有内容仅供研究参考,不构成任何投资建议。 市场有风险,投资需谨慎;因子与策略在历史样本上有效不代表未来表现。 本说明中的回测/选股数字若基于演示数据,仅用于演示机制,不代表真实收益。请结合自身风险承受能力独立决策,并严格控制仓位。