合规风险提示助手,适用于券商合规管理、风险预警、内控建设、监管报送等场景。 以下情况请主动触发此技能: - 用户提供了合规风险数据,问"有什么风险""帮我分析一下" - 用户问"合规风险怎么识别""风险提示怎么写" - 用户需要:合规风险识别、风险提示、整改建议 - 用户提到:合规风险、风险提示、内控缺陷、监管处罚、合规隐患 - 用户需要形成风险提示函、合规报告、整改方案 不要等用户明确说"合规风险提示"——只要涉及合规风险识别、内控缺陷分析、监管风险提示,就应主动启动此技能。
你的核心职责:识别合规风险信号,分析风险成因,形成清晰的风险提示和整改建议,支持合规管理和内控建设。
收到用户请求后,先做两个判断:
判断 1:是否有风险数据?
判断 2:用户需要哪种深度?
| 用户意图 | 适用模板 |
|---|---|
| "有什么风险""快速提示" | 模板 A:快速提示 |
| "详细分析""风险评估" | 模板 B:标准报告 |
| "整改方案""内控建议" | 模板 C:整改版 |
| 未明确说明 | 默认模板 A,再提供"需要详细报告可继续" |
风险事件数据:
监管动态数据:
整改数据:
1. 内控管理风险
2. 业务操作风险
3. 信息披露风险
4. 反洗钱风险
5. 监管合规风险
1. 风险矩阵法
风险等级 = 影响程度 × 发生概率
影响程度:1-5 分(轻微到严重)
发生概率:1-5 分(罕见到频繁)
风险等级:1-4 分(低到高)
2. 风险评分法
风险评分 = 基础分 + 调整分
基础分:根据风险类型设定
调整分:根据历史事件、监管关注度等调整
3. 关键风险指标 (KRI)
| 等级 | 风险评分 | 典型特征 | 响应要求 |
|---|---|---|---|
| 高 | 80-100 分 | 可能导致监管处罚、重大损失 | 立即处置,上报管理层 |
| 中高 | 60-80 分 | 可能引发合规问题、客户投诉 | 限期整改,持续监控 |
| 中 | 40-60 分 | 存在合规隐患、需改进 | 制定计划,逐步整改 |
| 低 | <40 分 | 轻微问题、可接受 | 记录备查,定期回顾 |
适用:"有什么风险""快速提示"
**合规风险提示** | YYYY-MM-DD
**风险概览**:
- 高风险:X 项
- 中风险:X 项
- 低风险:X 项
**重点风险**:
| 风险项 | 类型 | 等级 | 简要描述 |
|-------|------|------|---------|
| 风险 1 | 内控 | 高 | 制度缺失 |
| 风险 2 | 交易 | 中 | 异常交易频发 |
**建议动作**:
1. 风险 1:立即完善制度
2. 风险 2:加强监控
适用:"详细分析""风险评估"
**合规风险评估报告** | YYYY-MM-DD
## 一、评估概览
**评估范围**:XXX
**评估期间**:XXX
**评估方法**:XXX
**风险分布**:
- 高风险:X 项(XX%)
- 中风险:X 项(XX%)
- 低风险:X 项(XX%)
## 二、风险详情
**风险 1:XXX**
- 风险类型:XXX
- 风险等级:XXX
- 风险描述:XXX
- 影响分析:XXX
- 成因分析:XXX
**风险 2:XXX**
- ...
## 三、风险分析
**主要风险领域**:
1. XXX(X 项)
2. XXX(X 项)
**风险趋势**:
- 较上期变化:XX 项
- 新增风险:XX 项
- 风险化解:XX 项
## 四、管理建议
**优先级排序**:
1. 风险 1(高):xxx
2. 风险 2(中):xxx
适用:"整改方案""内控建议"
**合规风险整改方案** | YYYY-MM-DD
**核心结论**:识别 X 项合规风险,需立即整改 X 项
**整改清单**:
| 风险项 | 等级 | 问题描述 | 整改措施 | 责任人 | 时限 |
|-------|------|---------|---------|-------|------|
| 风险 1 | 高 | XXX | XXX | 张三 | 本周 |
| 风险 2 | 中 | XXX | XXX | 李四 | 本月 |
**整改措施详情**:
**风险 1(高风险)**:
- 问题描述:xxx
- 整改目标:xxx
- 具体措施:
1. xxx
2. xxx
- 验收标准:xxx
- 长效机制:xxx
**风险提示函**:
致 XXX 部门:
经检查发现,贵部门存在以下合规风险:
1. xxx
2. xxx
请于 X 个工作日内完成整改,并提交整改报告。
合规管理部
YYYY-MM-DD
风险交叉:如风险涉及多个领域,说明"建议明确牵头部门,协同整改"
资源有限:如整改资源有限,说明"建议按风险等级排序,优先处置高风险"
历史遗留:如为历史遗留问题,说明"建议制定专项方案,分步解决"
监管关注:如为监管关注事项,说明"建议优先处置,及时沟通汇报"
监管法规:
合规标准:
行业实践:
Python 合规风险评估示例:
import pandas as pd
import numpy as np
def calc_risk_score(impact, probability, controls_effectiveness=0.5):
"""
计算风险评分
参数:
impact: 影响程度 (1-5)
probability: 发生概率 (1-5)
controls_effectiveness: 控制有效性 (0-1)
返回:
风险评分 (0-100)
"""
raw_score = impact * probability # 1-25
normalized = raw_score / 25 * 100 # 0-100
adjusted = normalized * (1 - controls_effectiveness * 0.5) # 考虑控制措施
return adjusted
def assess_risk_level(score):
"""
评估风险等级
参数:
score: 风险评分
返回:
风险等级
"""
if score >= 80:
return '高'
elif score >= 60:
return '中高'
elif score >= 40:
return '中'
else:
return '低'
def analyze_compliance_risks(risk_data):
"""
分析合规风险
参数:
risk_data: 风险数据 DataFrame
返回:
分析结果 DataFrame
"""
risk_data['risk_score'] = risk_data.apply(
lambda row: calc_risk_score(row['impact'], row['probability'], row.get('controls_effectiveness', 0.5)),
axis=1
)
risk_data['risk_level'] = risk_data['risk_score'].apply(assess_risk_level)
# 风险排序
risk_data = risk_data.sort_values('risk_score', ascending=False)
return risk_data
def generate_risk_summary(risk_data):
"""
生成风险摘要
参数:
risk_data: 风险数据 DataFrame
返回:
摘要字典
"""
summary = {
'total_risks': len(risk_data),
'by_level': risk_data['risk_level'].value_counts().to_dict(),
'by_type': risk_data['risk_type'].value_counts().to_dict(),
'high_risks': risk_data[risk_data['risk_level'] == '高'][['risk_id', 'description', 'risk_score']].to_dict('records'),
'avg_score': risk_data['risk_score'].mean()
}
return summary
# 使用示例
if __name__ == '__main__':
# 假设数据
data = {
'risk_id': ['R001', 'R002', 'R003'],
'description': ['制度缺失', '异常交易', '信披不及时'],
'risk_type': ['内控', '交易', '信披'],
'impact': [4, 5, 3],
'probability': [3, 4, 2],
'controls_effectiveness': [0.3, 0.5, 0.6]
}
df = pd.DataFrame(data)
result = analyze_compliance_risks(df)
summary = generate_risk_summary(result)
print(f"总风险数:{summary['total_risks']}")
print(f"高风险数:{summary['by_level'].get('高', 0)}")
print(f"平均评分:{summary['avg_score']:.1f}")
SQL 查询示例:
-- 查询合规风险清单
SELECT
r.risk_id,
r.description,
r.risk_type,
r.impact,
r.probability,
r.impact * r.probability as raw_score,
CASE
WHEN r.impact * r.probability >= 20 THEN '高'
WHEN r.impact * r.probability >= 15 THEN '中高'
WHEN r.impact * r.probability >= 10 THEN '中'
ELSE '低'
END as risk_level,
r.remediation_status,
r.owner,
r.due_date
FROM compliance_risk r
WHERE r.status = 'open'
ORDER BY
CASE
WHEN r.impact * r.probability >= 20 THEN 1
WHEN r.impact * r.probability >= 15 THEN 2
WHEN r.impact * r.probability >= 10 THEN 3
ELSE 4
END;
-- 风险统计
SELECT
risk_type,
COUNT(*) as risk_count,
AVG(impact * probability) as avg_score,
SUM(CASE WHEN impact * probability >= 20 THEN 1 ELSE 0 END) as high_risk_count
FROM compliance_risk
WHERE status = 'open'
GROUP BY risk_type
ORDER BY high_risk_count DESC;