方法论与计算说明
指标与计算方法
所有因子在横截面(同一交易日、全市场)上做 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:
当日成交量 / 前 20 日均量 ≥ 2.0 成交显著放大的“异常量比”,通常伴随资金关注或事件驱动。vol_window(均量窗口)= 20。
现价 ≥ N 日最高价 × 0.999(N = 60) 创 60 日新高附近的右侧突破信号,常被视为趋势启动。breakout_window = 60。
单日涨幅 ≥ 9.5% 接近或等于涨停(A 股主板 10%),情绪与资金合力的最强体现。
close > MA20 > MA60 价格站上 20 日均线、且 20 日均线上穿 60 日均线,呈多头排列。
因子选股策略(5 套)
每月 / 每季(见各策略标签)对全市场打分,取排名前 N 的标的进入 selection 表。
每个标的被多少个不同策略选中,是后续「交叉共振」判定的依据。
score = −z(PE) − z(PB) + z(div_yield) 价值+红利双因子:低市盈率、低市净率叠加高股息率。市场恐慌或错杀时的“安全垫”底仓。
score = z(ROE) 单因子:全市场净资产收益率(ROE)横截面排名。偏好盈利质量高、复利能力强的标的。
score = mom(252) − mom(21) > 0 12−1 月动量:近一年收益剔除近一月收益后取正。遵循“动量效应”,持有中期强势标的。
score = 0.3·(−z(PE)−z(PB)) + 0.3·z(ROE) + 0.2·z(div_yield) + 0.2·z(mom126) 价值+质量+红利+动量的四因子等权组合,是组合的核心仓,兼顾多个市场异象。
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 | 历史波动率最低的一篮子极端防御仓。 |
- 选股打分
−z(PE) − z(PB) + 0.55·z(div_yield)- 买入信号
- 股息率 > 3% 且 ROE > 8%
- 卖出信号
- 股息率 < 2% 或 ROE < 5%(分红/盈利恶化)
- 适用环境
- 震荡市、价值回归阶段;防御性底仓。
- 主要风险
- 低估值陷阱:基本面持续恶化仍便宜。
- 选股打分
mom(252) − mom(21),仅取正值- 买入信号
- 现价 > 60 日均线
- 卖出信号
- 现价 < 120 日均线(动量转弱)
- 适用环境
- 趋势市、强势板块轮动。
- 主要风险
- 动量反转/追高回撤;震荡市频繁止损。
- 选股打分
z(ROE)- 买入信号
- ROE > 12%
- 卖出信号
- ROE < 8%(盈利质量回撤)
- 适用环境
- 长线持有、慢牛环境。
- 主要风险
- 高 ROE 不可持续;估值过高。
- 选股打分
0.7·z(growth) + 0.3·z(mom126)- 买入信号
- 默认调仓日买入
- 卖出信号
- growth ≤ 0(增长证伪)
- 适用环境
- 业绩披露期、成长行情。
- 主要风险
- 增长不及预期杀估值;盈利质量差。
- 选股打分
−z(price_60) + 0.3·(−z(PE))- 买入信号
- 价格 z-score < −1.5(明显超跌)
- 卖出信号
- 价格 z-score > −0.3(回归均值)
- 适用环境
- 非趋势市、错杀反弹。
- 主要风险
- 接下跌飞刀;价值陷阱延续。
- 选股打分
0.3·val + 0.3·z(ROE) + 0.2·z(div) + 0.2·z(mom126)- 买入信号
- 默认调仓日买入
- 卖出信号
- 跌出榜单(不在最新选股内)
- 适用环境
- 全天候核心仓。
- 主要风险
- 因子阶段性失效;权重固化。
- 选股打分
0.6·z(div) + 0.4·(−z(vol126))- 买入信号
- 股息率 > 3%
- 卖出信号
- 股息率 < 1.5% 或波动率跳升 > 1.6× 基线
- 适用环境
- 熊市/避险、稳健配置。
- 主要风险
- 红利削减;低波在危机中失效。
- 选股打分
z(growth) + z(mom126)- 买入信号
- 默认调仓日买入
- 卖出信号
- growth < 10%
- 适用环境
- 成长股牛市、赛道行情。
- 主要风险
- 高波动;增速放缓剧烈回撤。
- 选股打分
mom(120),仅取 MA20>MA60>MA120 的多头标的- 买入信号
- 现价上穿 20 日均线(金叉)
- 卖出信号
- 现价 < 60 日均线
- 适用环境
- 中长趋势市。
- 主要风险
- 假突破;震荡市来回打脸。
- 选股打分
−z(vol(252))- 买入信号
- 默认调仓日买入
- 卖出信号
- 近期波动率 > 1.5× 基线
- 适用环境
- 极端避险、组合压波动。
- 主要风险
- 低波股在危机中可能补跌。
实现位置:quant_strategies/trading_systems.py
报告产生依据
每日报告由 Python 端自动生成,整体链路如下:
数据来源
行情、估值、财务、成交量数据由采集模块(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)
风险提示
本报告由量化模型自动生成,所有内容仅供研究参考,不构成任何投资建议。 市场有风险,投资需谨慎;因子与策略在历史样本上有效不代表未来表现。 本说明中的回测/选股数字若基于演示数据,仅用于演示机制,不代表真实收益。请结合自身风险承受能力独立决策,并严格控制仓位。