Anandhabhavatarini/market-surveillance-intelligence-platform
GitHub: Anandhabhavatarini/market-surveillance-intelligence-platform
一个端到端的股票市场数据工程与商业智能平台,通过 ETL 流水线、规则异常检测和 Power BI 仪表板实现市场风险监控与异常交易预警。
Stars: 0 | Forks: 0
# 市场监控情报平台
## 用于股票市场风险监控的端到端数据工程与商业智能解决方案




## 概述
**市场监控情报平台**是一个端到端的数据分析 pipeline,旨在监控股票市场活动,识别异常交易模式,并通过交互式 Power BI 仪表板提供可操作的洞察。
该平台实现了完整的数据工作流自动化:
- 市场数据获取
- 数据验证与转换
- 金融特征工程
- 基于规则的异常检测
- 关系型数据存储
- 商业智能报告
该项目通过集成 API、ETL pipeline、SQL 数据库和 BI 分析,展示了一个真实的**数据工程工作流**。
# 业务问题
金融市场会持续产生大量的价格和交易活动数据流。由于金融时间序列数据的规模庞大且极其复杂,依靠人工识别异常的市场行为非常困难。
该平台帮助分析师监控:
- 异常的价格波动
- 异常的交易量
- 波动率上升
- 潜在的市场风险事件
# 解决方案架构
```
Yahoo Finance API
|
|
v
Data Ingestion Layer
(Python + yFinance)
|
|
v
Data Processing Layer
Cleaning + Validation + Feature
Engineering (Pandas)
|
|
v
Surveillance Engine
Rule-Based Anomaly Detection
|
|
v
MySQL Data Warehouse
|
|
v
Power BI Analytics Layer
```
# 技术栈
## 编程语言
- Python
- SQL
## 数据工程
- Pandas
- NumPy
- SQLAlchemy
## 数据来源
- Yahoo Finance API
## 数据库
- MySQL
## 可视化与报告
- Power BI
- MySQL ODBC Connector
## 开发工具
- Git
- GitHub
- 虚拟环境
# 数据 Pipeline 工作流
## 1. 数据获取
从 Yahoo Finance 提取历史股票市场数据。
收集的属性:
| 列名 | 描述 |
|---|---|
| Date | 交易日 |
| Open | 开盘价 |
| High | 最高价 |
| Low | 最低价 |
| Close | 收盘价 |
| Volume | 交易量 |
| Stock Symbol | 公司标识符 |
## 2. 数据验证与清洗
该 pipeline 执行以下操作:
- 缺失值检查
- 数据类型验证
- 去重
- 日期标准化
- schema 验证
## 3. 特征工程
为监控分析生成各项金融指标。
创建的特征:
| 特征 | 描述 |
|-|-|
| Daily Return | 价格涨跌幅 |
| Moving Average | 趋势指标 |
| Rolling Volatility | 市场波动测量 |
| Volume Ratio | 异常交易量检测 |
| Price Change % | 突发波动检测 |
| Z-Score | 统计异常测量 |
## 4. 市场监控引擎
一个基于规则的检测系统,用于识别异常活动。
### 价格波动规则
检测剧烈的价格波动。
示例:
```
Daily Return > Threshold
|
v
Generate Alert
```
### 交易量激增规则
检测异常的交易量。
示例:
```
Current Volume /
Average Historical Volume
|
v
High Volume Alert
```
### 波动率规则
识别市场不稳定性的突增情况。
# 数据库设计
处理后的数据存储在 MySQL 中。
## 数据表
## market_data
存储清洗后的市场价格。
| 列名 | 描述 |
|-|-|
| id | 主键 |
| company | 股票代码 |
| date | 交易日 |
| open | 开盘价 |
| high | 最高价 |
| low | 最低价 |
| close | 收盘价 |
| volume | 交易量 |
## features
存储经过特征工程处理的金融指标。
| 列名 | 描述 |
|-|-|
| company | 股票代码 |
| date | 交易日 |
| daily_return | 价格回报率 |
| volatility | 滚动波动率 |
| volume_ratio | 交易量异常度 |
| z_score | 风险评分 |
## alerts
存储检测到的市场异常情况。
| 列名 | 描述 |
|-|-|
| company | 股票代码 |
| date | 预警日期 |
| alert_type | 触发的规则 |
| severity | 风险类别 |
| anomaly_score | 异常检测分数 |
# Power BI 仪表板
Power BI 仪表板提供交互式的市场情报。
## 仪表板 1:高管风险概览
提供管理层级别的洞察:
- 监控的公司总数
- 生成的预警总数
- 高风险预警
- 市场风险分布
- 风险趋势分析
## 仪表板 2:市场分析
提供详细的股票分析:
- 价格趋势
- 交易量分析
- 日回报率
- 波动率追踪
- 移动平均线
## 仪表板 3:监控管理
专注于异常活动检测:
- 预警监控表
- 严重程度分类
- 触发的规则
- 公司风险排名
## 仪表板 4:公司专项调查
允许分析师深入调查特定公司:
- 历史价格波动
- 交易量行为
- 风险事件时间线
- 预警历史
# 核心工程特性
✔ 自动化数据获取 pipeline
✔ 模块化 Python 项目结构
✔ 基于 SQL 的分析型存储
✔ 金融特征工程
✔ 基于规则的异常检测
✔ Power BI 交互式报告
✔ ODBC 数据库连接
# 项目结构
```
MARKET-SURVEILLANCE-PIPELINE/
├── data/
│ ├── logs/
│ ├── metadata/
│ ├── processed/
│ ├── raw/
│ └── cleaned
├── src/
│ ├── __pycache__/
│ ├── analytics.py
│ ├── clean.py
│ ├── config.py
│ ├── database.py
│ ├── detect.py
│ ├── features.py
│ ├── ingest.py
│ ├── load_database.py
│ ├── logger.py
│ └── validate.py
├── venv/
├── .gitignore
├── main.py
├── README.md
└── requirements.txt
```
# 安装与设置
## 克隆仓库
```
git clone
cd market-surveillance-pipeline
```
## 创建虚拟环境
```
python -m venv venv
```
激活:
Windows:
```
venv\Scripts\activate
```
Linux:
```
source venv/bin/activate
```
## 安装依赖
```
pip install -r requirements.txt
```
# 配置数据库
创建 MySQL 数据库:
```
CREATE DATABASE market_surveillance;
```
在配置文件中更新数据库凭证。
# 运行 Pipeline
执行:
```
python main.py
```
该 pipeline 将会:
1. 提取市场数据
2. 处理并清洗数据
3. 生成金融特征
4. 检测异常情况
5. 将结果加载到 MySQL 中
# Power BI 连接
数据流:
```
Power BI
|
|
ODBC Connector
|
|
MySQL Database
|
|
Market Surveillance Tables
```
刷新仪表板以查看最新的分析结果。
# 未来展望
## 实时流处理 Pipeline
实施:
```
Yahoo Finance
|
v
Kafka
|
v
Spark Structured Streaming
|
v
MySQL
|
v
Power BI
```
## 机器学习检测
未来的模型:
- Isolation Forest
- Autoencoders
- 时间序列预测模型
## 云部署
可能的部署方案:
- AWS RDS
- AWS Glue
- Amazon MSK Kafka
- Power BI Service
# 技能展现
- 数据工程
- ETL Pipeline 开发
- Python 自动化
- SQL 数据库设计
- 金融分析
- 数据可视化
- 商业智能
# 作者
**Anandha Bhavatarini**
标签:ETL流水线, PowerBI, Python, 商业智能, 多线程, 异常检测, 数据工程, 无后门, 逆向工具, 金融风控