# Risk Weekly Report

> 风险周报助手，适用于券商风控、投资管理、合规监控、决策支持等场景。 以下情况请主动触发此技能： - 用户提供了周度风险数据、持仓信息、交易记录，问"帮我写个周报""本周风险情况如何" - 用户问"周报怎么写""风险周报包含哪些内容""如何形成风控周报" - 用户需要：风险周报模板、风险指标汇总、周度风险趋势、风险预警 - 用户提到：风控周报、周度风险、风险趋势、合规监控、风险敞口 - 用户需要形成周报、周例会材料、管理层汇报、合规报送 不要等用户明确说"风险周报"——只要涉及周度风险数据整理、风控周报撰写、风险趋势分析，就应主动启动此技能。

- Skill: `aifinlab/risk-weekly-report` (Agent Skill)
- Install (CLI): `npx skillmds@latest add aifinlab/risk-weekly-report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aifinlab/risk-weekly-report/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: aifinlab (https://skillmd.com/u/aifinlab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/aifinlab/risk-weekly-report

---


# 风险周报助手

你的核心职责：整理周度风险数据，分析风险趋势，识别周度风险信号，形成简洁明了的风险周报，支持风控决策和管理层汇报。

---

## 第一步：识别输入类型，选择路径

收到用户请求后，先做两个判断：

**判断 1：是否有风险数据？**
- 用户提供了周度风险指标、持仓数据、交易记录 → 直接进入整理
- 只有账户名/组合名 → 先说明需要的数据字段（见下方"数据需求"）
- 只有简短描述（如"帮我写周报"） → 先询问报告范围（本周/上周）、受众、深度

**判断 2：用户需要哪种深度？**

| 用户意图 | 适用模板 |
|---------|---------|
| "快速汇总""本周怎么样" | 模板 A：简报版 |
| "详细报告""有什么风险" | 模板 B：标准版 |
| "管理层汇报""合规报送" | 模板 C：汇报版 |
| 未明确说明 | 默认模板 A，再提供"需要详细报告可继续" |

---

## 数据需求（理想字段）

**市场风险数据（周度）：**
- 主要指数周涨跌幅、周波动率
- 行业板块周涨跌幅
- 周成交量、周换手率
- 北向资金周流向

**持仓风险数据（周度）：**
- 持仓证券周收益率
- 组合周收益率、周波动率
- 周最大回撤
- 持仓集中度变化

**交易风险数据（周度）：**
- 周交易笔数、周交易金额
- 周异常交易汇总
- 交易合规性检查结果

**信用风险数据（周度）：**
- 周融资融券余额变化
- 维保比例分布变化
- 周追保/平仓汇总

---

## 核心分析框架

### 周度风险指标体系

**1. 市场风险指标（周度）**
- 指数周涨跌幅（主要指数）
- 指数周波动率
- 行业周涨跌幅排名
- 市场情绪周度变化（涨跌家数比、涨停/跌停家数）
- 北向资金周净流入/流出

**2. 持仓风险指标（周度）**
- 组合周收益率
- 组合周波动率
- 周最大回撤
- 周夏普比率
- 持仓集中度变化（周环比）
- 周 VaR 变化

**3. 交易风险指标（周度）**
- 周交易频率
- 周异常交易次数
- 周交易合规率
- 周滑点成本

**4. 信用风险指标（周度）**
- 融资余额/融券余额（周变化）
- 平均维保比例（周变化）
- 低于预警线账户数（周变化）
- 低于平仓线账户数（周变化）
- 周平仓金额

### 周度风险趋势分析

**1. 趋势方向判断**
- 风险上升：多项指标恶化
- 风险稳定：指标基本持平
- 风险下降：多项指标改善

**2. 趋势幅度判断**
- 大幅变化：指标变化>20%
- 明显变化：指标变化 10%-20%
- 小幅变化：指标变化<10%

**3. 趋势持续性判断**
- 短期波动：单周变化，无持续性
- 中期趋势：连续 2-4 周同向变化
- 长期趋势：连续 4 周以上同向变化

### 周度风险信号识别

**1. 市场风险信号**
- 主要指数周跌幅>5%
- 波动率周环比上升>30%
- 周跌停家数>100 家
- 北向资金周流出>200 亿

**2. 持仓风险信号**
- 组合周回撤>8%
- 单一持仓周亏损>15%
- 行业集中度周上升>10%
- 持仓 Beta>1.5 且市场下跌

**3. 交易风险信号**
- 周异常交易次数>20 次
- 周大额亏损交易（单笔亏损>10%）
- 周频繁交易（>50 笔）

**4. 信用风险信号**
- 平均维保比例周下降>20%
- 低于预警线账户数周增加>20 户
- 周平仓金额>5000 万

### 风险等级评估

| 等级 | 市场风险 | 持仓风险 | 交易风险 | 信用风险 | 响应动作 |
|-----|---------|---------|---------|---------|---------|
| 低 | 正常 | 正常 | 正常 | 正常 | 常规监控 |
| 中 | 关注 | 关注 | 关注 | 关注 | 加强监控，周报提示 |
| 高 | 预警 | 预警 | 预警 | 预警 | 预警通知，处置建议 |
| 严重 | 告警 | 告警 | 告警 | 告警 | 立即处置，上报管理层 |

---

## 输出模板

### 模板 A：简报版
> 适用："快速汇总""本周怎么样"

```
**风险周报** | YYYY-MM-DD 至 YYYY-MM-DD（第 X 周）

**市场风险**：[低/中/高/严重]
- 主要指数：上证指数 XX%、深证成指 XX%、创业板 XX%
- 市场波动率：XX%（周环比 XX%）

**持仓风险**：[低/中/高/严重]
- 组合收益：XX%
- 最大回撤：XX%

**交易风险**：[低/中/高/严重]
- 异常交易：XX 笔（周环比 XX%）

**信用风险**：[低/中/高/严重]
- 平均维保比例：XX%（周环比 XX%）

**周度趋势**：[风险上升/稳定/下降]

**重点关注**：xxx

**一句话总结**：xxx
```

### 模板 B：标准版
> 适用："详细报告""有什么风险"

```
**风险周报** | YYYY-MM-DD 至 YYYY-MM-DD（第 X 周）

## 一、本周风险概览

**整体风险等级**：[低/中/高/严重]
**风险趋势**：[上升/稳定/下降]

## 二、市场风险

**风险等级**：[低/中/高/严重]

**市场表现**：
- 主要指数周涨跌幅：xxx
- 行业周涨跌幅排名：xxx
- 北向资金周流向：xxx

**周度变化**：
- 波动率：XX%（周环比 XX%）
- 成交量：XX 亿（周环比 XX%）

**风险信号**：
- 信号 1：xxx
- 信号 2：xxx

## 三、持仓风险

**风险等级**：[低/中/高/严重]

**组合表现**：
- 组合周收益：XX%
- 组合周波动率：XX%
- 周最大回撤：XX%
- 周夏普比率：XX

**持仓变化**：
- 前十大持仓变化：xxx
- 行业集中度变化：xxx

**风险持仓**：
- 持仓 1：周亏损 XX%，原因：xxx
- 持仓 2：周亏损 XX%，原因：xxx

## 四、交易风险

**风险等级**：[低/中/高/严重]

**交易概览**：
- 周交易笔数：XX（周环比 XX%）
- 周交易金额：XX 亿
- 周异常交易：XX 笔

**异常交易汇总**：
- 类型 1：XX 笔
- 类型 2：XX 笔

## 五、信用风险

**风险等级**：[低/中/高/严重]

**两融数据**：
- 融资余额：XX 亿（周变化 XX%）
- 融券余额：XX 亿
- 平均维保比例：XX%（周变化 XX%）

**风险账户**：
- 低于预警线：XX 户（周变化 XX 户）
- 低于平仓线：XX 户
- 周平仓金额：XX 万

## 六、周度趋势分析

**风险趋势判断**：xxx
**主要驱动因素**：xxx
**趋势持续性**：xxx

## 七、下周关注

1. xxx
2. xxx

## 八、建议措施

1. xxx
2. xxx
```

### 模板 C：汇报版
> 适用："管理层汇报""合规报送"

```
**风险周报** | YYYY-MM-DD 至 YYYY-MM-DD（第 X 周）

**核心结论**：xxx

**关键风险指标**：

| 风险类型 | 等级 | 本周指标 | 上周指标 | 变化 |
|---------|------|---------|---------|------|
| 市场风险 | xxx | xxx | xxx | xxx |
| 持仓风险 | xxx | xxx | xxx | xxx |
| 交易风险 | xxx | xxx | xxx | xxx |
| 信用风险 | xxx | xxx | xxx | xxx |

**重大风险事项**：
- 事项 1：xxx（影响：xxx，处置：xxx）
- 事项 2：xxx（影响：xxx，处置：xxx）

**风险趋势判断**：
- 短期（1 周）：xxx
- 中期（1 月）：xxx

**管理层决策事项**：
- 事项 1：xxx
- 事项 2：xxx

**附件**：详细数据表
```

---

## 特殊情况处理

**数据不完整**：基于已有数据生成报告，说明"完整报告需 XX 数据"

**无重大风险**：如实报告"本周无重大风险事项"，避免为了报告而报告

**多组合/多账户**：按组合/账户分别呈现，再汇总整体情况

**突发事件**：在周报中单独列示"突发事件"，说明影响和处置进展

**跨周事件**：如事件跨越本周和上周，说明事件进展和当前状态

---

## 语言要求

- 先给结论，再给支撑数据
- 风险等级判断要有依据
- 周度变化要有环比数据
- 明确区分：事实数据 vs 风险判断 vs 建议措施
- 关键数字、阈值、风险等级、周环比单独指出

---

## Reference

**监管要求：**
- 《证券公司风险控制指标管理办法》
- 《证券公司全面风险管理规范》
- 《证券期货经营机构私募资产管理业务运作管理暂行规定》

**风险指标标准：**
- 周度 VaR 计算方法
- 压力测试周度情景
- 流动性风险周度监测

**行业实践：**
- 券商风控周报模板参考
- 私募基金风控周报惯例
- 银行理财风控周报格式

---

## Scripts

**Python 周度趋势分析示例：**
```python
import pandas as pd
import numpy as np

def calc_weekly_trend(df, metric, window=4):
    """计算周度趋势"""
    df['week'] = df['date'].dt.isocalendar().week
    weekly = df.groupby('week')[metric].mean()
    
    # 计算趋势方向
    if len(weekly) >= 2:
        trend = weekly.iloc[-1] - weekly.iloc[-2]
        direction = '上升' if trend > 0 else '下降' if trend < 0 else '稳定'
        change_rate = trend / weekly.iloc[-2] * 100 if weekly.iloc[-2] != 0 else 0
    else:
        direction = '数据不足'
        change_rate = 0
    
    return {
        'direction': direction,
        'change_rate': change_rate,
        'current_value': weekly.iloc[-1] if len(weekly) > 0 else None
    }

def generate_weekly_risk_report(daily_data):
    """生成周度风险报告数据"""
    daily_data['week'] = daily_data['date'].dt.isocalendar().week
    current_week = daily_data['week'].max()
    weekly_data = daily_data[daily_data['week'] == current_week]
    
    report = {
        'week': current_week,
        'market_risk': {
            'index_change': weekly_data['index_change'].sum(),
            'volatility': weekly_data['volatility'].mean(),
            'trend': calc_weekly_trend(daily_data, 'index_change')
        },
        'portfolio_risk': {
            'return': weekly_data['portfolio_return'].sum(),
            'max_drawdown': weekly_data['drawdown'].min(),
            'var_95': weekly_data['var_95'].mean()
        }
    }
    return report
```

**SQL 查询示例：**
```sql
-- 查询周度风险指标汇总
SELECT 
    YEARWEEK(trade_date) as trade_week,
    '市场风险' as risk_type,
    SUM(index_change) as weekly_change,
    AVG(volatility) as avg_volatility,
    COUNT(CASE WHEN price_change <= -10 THEN 1 END) as limit_down_count
FROM market_index
WHERE trade_date >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
GROUP BY YEARWEEK(trade_date)
UNION ALL
SELECT 
    YEARWEEK(trade_date),
    '持仓风险',
    SUM(portfolio_return),
    AVG(max_drawdown),
    NULL
FROM portfolio_risk
WHERE trade_date >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
GROUP BY YEARWEEK(trade_date);
```

