4.3 KiB
4.3 KiB
通用风控模块 - 个股利好利空风险监控
模块说明
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 | 安全,按计划操作 |
整合进五维风险评估:
原来四个维度 + 消息风险维度:
- 流动性风险 (15%)
- 估值风险 (20%)
- 技术面风险 (20%)
- 基本面风险 (20%)
- 消息面风险 (25%) → 权重更高,因为黑天鹅危害大
使用方法
# 导入通用模块
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