kariuki392/DataAnalysisProject20-AntiMoneyLaunderingTransactionMonitoring
GitHub: kariuki392/DataAnalysisProject20-AntiMoneyLaunderingTransactionMonitoring
一个基于Python的反洗钱交易监控分析项目,通过符合FATF标准的规则检测引擎对合成银行交易进行洗钱类型学筛查,并生成风险评分、SAR叙述及合规仪表板。
Stars: 1 | Forks: 0
# 🏦 反洗钱 (AML) 交易监控
## 可疑活动检测与金融犯罪分析
    
## 📋 目录
- [概述](#-overview)
- [监管框架](#-regulatory-framework)
- [数据集](#-dataset)
- [项目结构](#-project-structure)
- [检测规则](#-detection-rules)
- [分析部分](#-analysis-sections)
- [关键发现](#-key-findings)
- [工具与库](#-tools--libraries)
- [运行方式](#-how-to-run)
## 🎯 概述
反洗钱合规是金融服务中技术要求最高且风险最大的职能之一。银行或支付机构处理的每一笔交易都必须经过可疑模式筛查——当发现预警信号时,合规团队必须评估风险,适当进行上报,并在严重情况下向相关的金融情报机构 (FIU) 提交可疑活动报告 (SAR)。
本项目复现了银行、金融科技公司和货币服务企业中 AML 合规团队使用的**交易监控工作流**。针对 15 个合成客户——涵盖个人、企业、政治公众人物 (PEP) 和空壳公司结构——在整整一个日历年中生成了 500 多笔交易,并通过符合 **FATF 40 项建议**的八条规则检测引擎进行了筛查。
输出内容包括包含风险评分的完整预警记录、SAR 提交决策,以及自动生成的 SAR 叙述——这是 AML 分析师为 MLRO(反洗钱报告官)审查而制作的完整交付成果集。
## 📐 监管框架
| 框架 | 管辖区 | 应用的关键条款 |
|---|---|---|
| **FATF 40 项建议** | 全球 | R.10 CDD · R.12 PEP · R.19 高风险国家 · R.20 STR · R.24 受益所有权 |
| **POCA 2002** | 英国 | S.330 未披露罪 · S.333A 泄密罪 |
| **银行保密法 / FinCEN** | 美国 | 现金交易报告 · SAR 提交要求 |
| **巴塞尔 AML 指数** | 全球 | 国家风险评分方法 |
| **肯尼亚央行指南** | 肯尼亚 | 2013 年 AML/CFT 法规 |
## 📊 数据集
所有数据均在 Notebook 中**合成生成**——无需外部文件:
| 属性 | 详情 |
|---|---|
| **客户** | 15 个合成画像(个人、企业、PEP、空壳公司) |
| **交易** | 2024 年 1 月至 12 月期间的 500 多笔交易 |
| **交易类型** | 现金存款 · 现金取款 · 电汇 · 内部转账 · 移动支付 · 贸易融资 · 加密货币兑换 · ATM |
| **渠道** | 分支机构 · 移动银行 · 网上银行 · ATM · 代理 · SWIFT |
| **国家** | 12 个交易对手管辖区,包括 FATF 高风险和保密管辖区 |
| **报告阈值** | 10,000 美元(触发 SAR 提交) |
| **结构化阈值** | 9,500 美元(低于阈值检测) |
## 🗂️ 项目结构
```
aml-transaction-monitoring/
│
├── aml_transaction_monitoring.ipynb # Fully executed analysis notebook
│ # (no external data file required)
├── charts/
│ ├── monitoring_dashboard.png # Transaction monitoring overview
│ ├── risk_intelligence.png # Risk analytics & detection performance
│ └── mlro_dashboard.png # MLRO compliance summary dashboard
│
└── README.md
```
## 🔍 检测规则
| 规则 | 类型学 | FATF 参考 | 触发条件 |
|------|----------|---------------|-------------------|
| **R01** | 结构化 / 蚂蚁搬家 | R.20 | 3 笔及以上介于 9,500 美元至 9,999 美元之间的现金交易 |
| **R02** | 大额现金交易 | R.20 | 单笔超过 10,000 美元的现金交易 |
| **R03** | 离析 —— 快速转移 | R.20 | 72 小时内发生 3 笔及以上金额超过 50,000 美元的电汇/转账/加密货币交易 |
| **R04** | PEP 交易 | R.12 | 涉及政治公众人物且金额超过 2,000 美元的任何交易 |
| **R05** | 高风险管辖区 | R.19 | 涉及 FATF 灰名单/黑名单管辖区的 2 笔及以上转入或转出交易 |
| **R06** | 速度异常 | R.20 | 单个客户在一天内发生 5 笔及以上交易 |
| **R07** | 整数金额模式 | R.20 | 3 笔及以上金额恰好为 5,000 美元或其整数倍的交易 |
| **R08** | 空壳公司 | R.24 | 位于保密管辖区且总活动金额超过 20,000 美元的企业 |
**风险评分:**
- 每条规则的基础分:25–55 分
- PEP 额外加分:+20 分
- 高风险管辖区额外加分:+15 分
- 最高分:100 分
**SAR 决策阈值:**
- 分数 ≥ 70 → **必须提交 SAR**(向 FIU 提交)
- 分数 50–69 → **上报至 MLRO**
- 分数 30–49 → **加强监控**
- 分数 < 30 → **常规监控**
## 🔍 分析部分
### 1️⃣ 合成交易数据生成
15 个具有真实属性(PEP 状态、管辖区、职业、实体类型)的客户画像,以及涵盖 8 种交易类型和 12 个交易对手国家的 500 多笔交易——经过加权以产生真实的类型学分布。
### 2️⃣ 符合 FATF 的检测规则引擎
将八个基于规则的检测器应用于所有客户交易历史记录,每个检测器都会生成包含 FATF 参考、类型学标签、交易笔数、总金额以及 PEP/高风险管辖区标记的结构化预警记录。
### 3️⃣ 交易监控仪表板
按类型划分的交易量、按类型学划分的可疑交易与正常交易对比、月度交易量趋势(正常交易与可疑交易堆叠图)、预警优先级分布、SAR 决策饼图以及按预警数量排名前列的客户。
### 4️⃣ 风险情报仪表板
按类型学划分的预警、带有决策阈值的风险评分分布、按交易对手国家划分的可疑交易率、检测规则性能(预警与 SAR 结果的对比)、客户风险热力图以及 PEP 与非 PEP 预警的比较。
### 5️⃣ SAR 叙述生成器
为每条预警自动生成符合 FinCEN/FRC 标准的 SAR 叙述——涵盖主体信息、可疑活动详情、类型学分析,以及包括泄密警告在内的建议监管行动。
### 6️⃣ MLRO 合规仪表板
按优先级划分的月度预警趋势、SAR 提交流水线、按 SAR 决策划分的审查总金额、按类型学划分的风险评分箱线图、MLRO KPI 汇总表以及客户风险敞口气泡矩阵。
## 💡 关键发现
### 💸 结构化是最常见的类型学
多个客户表现出典型的结构化模式——以略低于 10,000 美元报告阈值的金额存入现金,以避免触发现金交易报告 (CTR) 义务。根据 POCA 2002 和《银行保密法》,无论底层资金的合法性如何,结构化行为本身就是一种刑事犯罪。
### 🏛️ PEP 客户产生的风险评分最高
由于 FATF R.12 规定的强制增强尽职调查要求,所有被标记为 PEP 的预警都获得了较高的分数。PEP 关系需要高级管理层批准、财富来源验证和季度监控审查——这使其成为任何 AML 计划中接触最频繁的客户群体。
### 🌍 保密管辖区产生了最大金额的预警
在英属维尔京群岛、开曼群岛和巴拿马注册的企业客户产生了最高金额的预警——这与在洗钱的放置和离析阶段使用空壳公司结构的做法相符。FATF R.24 要求在为这些实体处理进一步交易之前,必须进行最终受益所有人 (UBO) 核实。
### ⚡ 在高价值账户中检测到离析行为
通过电汇和加密货币交易所进行的快速资金转移——离析的标志性特征——集中在收入最高的客户账户中。这些情况需要立即考虑限制账户,是 MLRO 采取行动方面在业务操作上最紧急的预警。
### 🚨 所有 SAR 案例中都存在泄密风险
一旦做出提交 SAR 的决定,向作为主体的客户披露提交情况即构成 POCA 2002 S.333A 下的刑事泄密罪。所有要求提交 SAR 的案件都必须在合规团队内部按照严格的信息安全协议进行管理。
## 🛠️ 工具与库
| 库 | 应用 |
|---------|------------|
| **Pandas** | 交易数据生成、客户画像、预警汇总 |
| **NumPy** | 合成数据生成、风险评分计算、随机抽样 |
| **Matplotlib / Seaborn** | 跨 3 个仪表板的 18 多个可视化——条形图、热力图、箱线图、气泡图、饼图 |
| **Python (原生)** | 8 条规则检测引擎、SAR 叙述生成器、风险评分逻辑 |
## ▶️ 运行方式
1. 克隆代码库并导航至项目文件夹
2. 安装依赖项:
```
pip install pandas numpy matplotlib seaborn
```
3. 打开并运行 Notebook——**无需外部数据文件**,所有数据均在内部生成:
```
jupyter notebook aml_transaction_monitoring.ipynb
```
## 📌 关于本项目
开发此项目旨在展示 AML 合规的应用知识——即 AML 分析师或金融犯罪合规专家在银行、金融科技或专业服务机构中会应用的检测规则、监管框架、风险评分方法和报告义务。
**展示的技能:**
- FATF 40 项建议的应用知识
- 基于规则的类型学检测引擎设计
- SAR 叙述生成和 MLRO 报告
- 风险评分和预警分类方法
- 监管知识:POCA 2002、《银行保密法》、FinCEN SAR 要求
**作品集背景:** 本项目是金融犯罪合规三部曲的一部分,该三部曲还包括:
- ⚖️ 利益冲突筛查 (IESBA/IFAC/PCAOB)
- 🏦 AML 交易监控 (FATF/POCA/FinCEN) ← *本项目*
- 🔍 KYC 尽职调查筛查 *(即将推出)*
*这是一个包含 21 个项目的数据分析作品集的一部分,涵盖人力资源分析、财务预测、NLP、电子商务、供应链、公共卫生、房地产、信用风险、航空、媒体、网络安全、临床医疗、城市分析和金融犯罪合规。*
标签:NoSQL, Python, 代码示例, 反洗钱, 数据分析, 无后门, 逆向工具, 金融合规, 风险控制