Files

122 lines
4.3 KiB
Markdown

# 通用风控模块 - 个股利好利空风险监控
## 模块说明
`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