股灾预警系统 v2.0

有框架的工程化升级版。它不推翻以前的设计,而是把“漏洞补上、执行压实、遗忘点锁死”。


《A股股灾预警系统 v2.0 —— 工程化执行方案》

一、设计理念:预警的不是股灾,是“你的脆弱性”

股灾不可预测,但市场脆弱性可以识别。

本系统的核心目标不是回答“明天会不会跌”,而是每天回答三个问题:

1. 现在市场容不容易亏钱?

2. 我的持仓是不是暴露在最危险的地方?

3. 今天如果必须做一件事,是什么?


二、数据层的“降级路径”(解决数据依赖陷阱)

TuShare 是主力,但绝不能当唯一。必须为每个核心数据源定义降级路径,否则接口一挂,整个预警系统直接失灵。

核心数据主方案(TuShare)降级方案(备用)数据缺失时的系统行为
涨跌停数据limit_list_ddaily 中涨跌幅≥9.8%近似跌停使用近似值,并在报告中标注“数据估算”
北向资金moneyflow_hsgt离岸人民币汇率 + 港股走势 + 南向资金反向推断北向模块权重自动归零,剩余模块权重等比例放大
融资融券margin全市场成交额变化率 + 换手率分位杠杆模块权重自动归零
全市场行情daily + daily_basic本地缓存昨日数据 + 今日已拉取的部分数据若缺失超过10%样本,全系统降级为“只输出昨日结论”
行业分类index_member_all本地缓存的行业成分表(每周更新一次)使用上周缓存数据,标注“行业成分非最新”

硬规则:任一核心模块数据连续2天降级运行,预警系统自动降一档输出(即原本该出橙色,只出黄色;原本该出黄色,只出观察)。


三、九大底层风险模块(原七模块 + 新增两个)

在原七大模块(指数趋势、市场广度、涨跌停恐慌、成交流动性、行业扩散、资金压力、持仓暴露)基础上,增加两个被遗漏的关键维度。

新增模块 8:指数间背离风险

指标计算方法预警含义
大小盘偏离度上证50与中证1000的5日涨跌幅差值偏离度进入历史90%分位 → 权重掩护出货
沪深300与全A中位数偏离沪深300涨跌幅 - 全A中位数涨跌幅指数红、个股绿 → 虚假繁荣
上证与创业板方向一致性两者是否同向、涨跌幅差值方向不一致 → 结构脆弱

新增模块 9:关键位筹码密集区压力

指标计算方法预警含义
全市场筹码成本分布计算各指数上方套牢盘比例套牢盘 > 60% → 反弹即抛压
关键点位距离当前价与最近密集成交区距离距离不足3%且缩量 → 假突破风险

四、动态权重系统(解决固定权重失灵)

权重不固定。系统先识别当前市场状态,再套用对应的权重矩阵。

第一步:识别市场状态

状态判定条件
趋势市主要指数沿20日线同向运行,日线MACD未背离
震荡市指数在20日线与60日线之间反复,无明显趋势
危机模式全市场广度 < 30% 或 波动率突然放大1.5倍以上

第二步:三套权重矩阵

模块趋势市权重震荡市权重危机模式权重
指数趋势20%15%15%
市场广度20%30%20%
指数间背离15%10%10%
涨跌停恐慌10%10%15%
行业扩散10%15%10%
成交流动性5%10%20%
资金压力10%5%5%
持仓暴露5%5%5%
关键位筹码5%0%0%

震荡市里,广度最敏感;危机模式里,流动性最重要。


五、历史分位 + 连续确认机制(解决频繁误报)

1. 所有指标不设死阈值,一律用“历史分位 + 标准分”

每个指标计算三个值:

当前值
过去60日分位
过去252日分位
z-score(偏离均值多少个标准差)

2. 模块评分规则

分位区间模块得分
< 60%0分(正常)
60% ~ 80%1分(关注)
80% ~ 95%2分(警示)
> 95%3分(极端)

3. 预警触发规则(双重确认,杜绝狼来了)

预警等级触发条件
黄色加权总分 ≥ 45分,且至少连续1天达到;或任一模块得3分且z-score>2.5
橙色加权总分 ≥ 60分,且至少连续2天达到;或任一模块得3分且z-score>3.5
红色加权总分 ≥ 80分,且至少连续2天达到;或触发一票否决硬规则

4. 解除规则(慢放慢收)

当前等级解除条件
黄色加权总分 < 40分,且连续2天改善
橙色加权总分 < 55分,且连续3天改善
红色加权总分 < 70分,且连续3天改善,且市场广度恢复至40%以上

六、一票否决硬规则(极端情况快速响应)

满足以下任一条件,直接跳级,不等连续确认:

条件最低等级
主要指数单日跌幅 > 5%橙色
全市场站上20日线比例 < 20%橙色
跌停家数 > 过去一年99%分位红色
沪深300与全A中位数偏离度 > 历史95%分位,且中位数跌幅 > -2%红色
全市场成交额较20日均值下降 > 40%,且跌停 > 50家红色
你的账户单日回撤 > 总资金3%橙色(个人级)
你的账户连续3日回撤 > 总资金1.5%红色(个人级)

七、输出层:每天只推“三条执行指令”(解决信息过载)

市场风险报告不写长文。每天只输出一个精简面板,最核心的是三条指令

每日输出模板:

【市场风险哨兵|YYYY-MM-DD】
等级:橙色 R2 | 总分:63/100 | 状态:已连续2天
最大建议仓位:30%

—— 三条执行指令 ——
① 今日唯一禁止动作:禁止新开仓,禁止追高,禁止打板
② 今日唯一强制动作:检查持仓中属于【机器人、AI算力】的股票,减仓至半仓以下
③ 今日观察窗口:若全市场涨跌比回升至1:1以上,且跌停家数降至30家以下,明日再评估是否降级

—— 核心数据速览 ——
广度:站上20日线比例 28%(高危)
趋势:沪深300跌破60日线,创业板指跌破120日线
情绪:跌停87家,过去一年分位 94%
流动性:成交额较20日均值下降22%
背离:上证50涨+0.3%,中证1000跌-1.8%,偏离度极值

八、特殊场景处理(那些容易被遗忘的角落)

1. 长假前效应(日历白名单)

春节前5天、国庆前3天,流动性指标权重自动减半,并在报告中标注“节前效应,不自动升级预警”。

2. 历史分位基线重置

每年1月第一个交易日,自动重算过去3年(756个交易日)的历史分位基线,替换去年的252日基线。旧基线存档,不删除。

3. 数据源长周期失效

若TuShare某个接口连续3天不可用,系统自动发邮件/企业微信通知人工介入,并将该模块的权重临时分配给“市场广度”模块,直到恢复。

4. 指数成分调整日

每年6月和12月指数成分调整前后各5天,暂停使用“指数间背离”模块,因成分变动会导致数据不连续。


九、个人层:你的状态和持仓容忍度(补上行为漏洞)

1. 每日情绪打卡(强制)

每天盘前或盘后,你需要输入一个情绪标签:

[冷静] [中性] [焦虑] [亢奋] [恐惧]

若情绪标签为“焦虑/亢奋/恐惧”,系统在当天的预警总分上自动增加5~8分(相当于升半档),并在报告中提示:“情绪因子已介入,今日偏保守。”

2. 持仓容忍度标签(提前标记)

holdings.yaml 中为每只持仓股标记容忍度:

- ts_code: 600519.SH
  tolerance_level: "底仓"      # 底仓 / 战术 / 博弈
  max_loss_pct: 15
  max_loss_days: 30

- ts_code: 688256.SH
  tolerance_level: "战术"
  max_loss_pct: 8
  max_loss_days: 5

预警系统读取此标签,针对不同持仓输出差异化的减仓建议:

【持仓处理】
汇川技术(底仓级):允许观察,不急减
寒武纪(战术级):已浮亏-7%,建议今日减半

十、自动化调度与运维检查清单(防止被遗忘)

每日自动运行(盘后)

17:00  拉取 TuShare 全量数据
17:30  数据质量检查 + 降级路径判断
18:00  九大模块计算 + 历史分位更新
18:15  预警等级判定 + 状态机转换
18:25  生成“三条指令”面板
18:30  推送到企业微信 / Obsidian

每周强制人工检查(周五盘后)

1. 检查本周预警等级是否与实际行情体验一致(人机对账)
2. 检查各数据源本周降级次数,超过3次的模块标记为“待修复”
3. 检查历史分位基线是否需要手动微调
4. 更新持仓容忍度标签(如有新开仓)

每月强制复盘(月末最后一个交易日盘后)

1. 统计本月预警准确率:红色/橙色预警后3日内是否出现明显下跌?
2. 统计误报次数:黄色预警后2日内市场反而走强的次数
3. 动态调整各模块阈值:若误报率 > 30%,放宽该模块的触发分位(从95%调整到97%)
4. 重算历史分位基线(滚动3年窗口)

每年强制维护(12月最后一个交易日)

1. 全量重算过去3年历史分位基线
2. 检查所有TuShare接口的调用权限和token有效期
3. 检查数据降级路径的备用接口是否仍有效
4. 回顾全年预警记录,总结“哪类风险系统最容易漏掉”,写入次年改进计划

十一、系统自我进化机制

1. 预警后验统计(季度)

每季度统计一次:

黄色预警后5日,沪深300平均涨跌幅
橙色预警后5日,沪深300平均涨跌幅
红色预警后5日,沪深300平均涨跌幅

如果红色预警后5日平均只跌了-0.5%,说明红色阈值太紧,需要收紧(降低触发分位)。 如果黄色预警后5日跌了-3%,说明黄色阈值太松,需要放宽(提高触发分位)。

2. 模块有效性评估(半年)

计算每个模块对预警总分的“贡献度”与“预测能力”的比值:

模块效率 = 该模块预警时,后续下跌概率 / 该模块占用权重

效率低于0.8的模块,下调权重;效率高于1.2的模块,上调权重。


十二、最终总结

这套 v2.0 方案相比你原来的设计,核心改进有三:

维度原方案v2.0 改进
数据可靠性依赖TuShare,无备选每个核心接口有降级路径,数据缺失时有明确行为
预警稳定性单日触发即报警,频繁误报加权总分 + 连续确认 + 解除慢放
执行可操作性长报告,信息过载每天只输出“三条指令”,强制聚焦

这套系统一旦跑起来,你不会再问“明天会不会跌”,而是每天平静地执行那三条指令——该停就停,该减就减,该等就等

这才是股灾预警系统的最终形态:不是预测灾难,而是在灾难来临前,你已经不坐在牌桌上了。