# 通用风控模块 - 个股利好利空风险监控 ## 模块说明 `news_risk_monitor.py` + `structural_market_risk.py` 是通用模块,适配A股结构化行情,可被各个策略共享使用。 ### 核心功能 基于公开数据,提前预判潜在消息面风险和板块风险: | 监控维度 | 预警规则 | 预判逻辑 | |----------|----------|----------| | **量价异常** | 近5日放量下跌 >7%,无公开消息 | 可能利空提前泄露,资金先跑 | | | 成交量放天量 >2倍,但股价不涨 | 可能利好兑现,主力出货 | | | 向下跳空缺口未回补 | 技术面偏空,趋势向下 | | **融资变化** | 一周融资余额减少 >20% | 杠杆资金出逃,不看好后市 | | | 融资买入占成交额 >20% | 杠杆比例过高,波动风险大 | | **龙虎大宗** | 机构大额卖出上榜 | 机构出逃,看空 | | | 大宗折价 >8% | 大股东折价出货,利空 | | **舆情监控** | 讨论量突然暴涨 >5倍 | 热度太高,往往见顶 | | | 舆情情感分 < -0.5 | 市场一致看空,情绪偏空 | | **国际联动** | A+H股H股隔夜跌幅 >3% | A股大概率跟随下跌 | | | 大宗商品股对应期货跌幅 >4% | 个股价格承压 | | | 美股隔夜跌幅 >2% | A股开盘承压,系统性风险 | | | 重大国际利空消息 | 直接预警,建议降仓 | | **结构化行情风控** | 单板块仓位 >15% | 提示减仓分散 | | | 板块累计涨幅 >50% | 风险评分放大,警惕利好出尽 | | | 单一风格仓位 >40% | 提示超配风险 | | | 冷门板块连续大跌 >20% | 如果基本面没问题,提示低吸机会 | | | 热点板块消息 | 风险评分放大2倍,灵敏度提高 ### 量化规则 **风险等级划分:** | 总分 | 等级 | 操作建议 | |------|------|----------| | ≥40 | 🔴 EXIT | 建议清仓离场 | | 25~40 | 🟠 REDUCE | 建议减仓 | | 10~25 | 🟡 WATCH | 继续观察,不新开仓 | | <10 | 🟢 SAFE | 安全,按计划操作 | **整合进五维风险评估:** 原来四个维度 + 消息风险维度: 1. 流动性风险 (15%) 2. 估值风险 (20%) 3. 技术面风险 (20%) 4. 基本面风险 (20%) 5. **消息面风险 (25%)** → 权重更高,因为黑天鹅危害大 ### 使用方法 ```python # 导入通用模块 import sys sys.path.append("../../../guanyu-risk/common/") from news_risk_monitor import NewsRiskMonitor, StockNewsData, FiveDimensionRiskAssessment # 初始化监控器 monitor = NewsRiskMonitor() # 填充数据 data = StockNewsData( code="600000", name="浦发银行", recent_vol_change=1.2, # 成交量较20日均变化 recent_pct_change=-8.5, # 近5日涨跌幅% gap_down=True, # 是否有向下缺口 finance_balance_change=-0.25, # 融资余额周变化比例 has_large_order=False, # 龙虎榜是否大额卖出 has_bulk_discount=False, # 是否有大宗折价 discussion_count_change=3.0, # 讨论量较上周变化倍数 sentiment_score=-0.6, # 舆情情感分-1~1 # 国际联动数据 is_ah=False, ah_hk_overnight_change=0, is_commodity_related=False, commodity_future_overnight_change=0, us_index_overnight_change=-1.2, has_major_international_news=False ) # 分析 result = monitor.analyze_stock(data) print(monitor.get_risk_report(result)) print(f"风险等级: {result.risk_level}") print(f"建议: {result.suggestion}") # 整合到五维风险评估 five_dim = FiveDimensionRiskAssessment(monitor) eval_result = five_dim.calculate_total_risk( liquidity_risk=0.2, valuation_risk=0.5, technical_risk=0.3, fundamental_risk=0.4, news_data=data ) print(f"综合风险分: {eval_result['total_risk_score']:.2f}") print(f"建议: {eval_result['suggestion']}") ``` ### 数据获取说明 公开数据都可以从这些渠道获取: - 量价、融资:东方财富、TuShare、AkShare 直接接口 - 龙虎榜:交易所官网、东方财富 - 大宗交易:交易所、TuShare - 舆情:雪球、股吧公开数据,可以用爬虫获取讨论量 ## 设计思路 核心思想:**A股很多消息会提前泄露,从量价、资金、情绪上能提前发现痕迹**,不等公告出来再反应,提前减仓规避黑天鹅。 层层设防:就算技术面、基本面都没问题,消息面不对劲,直接降仓,把风险拦在前面。 ## 作者 关羽(云长) 风险都督 2026-03-27