AI Group Quantitative Analysis MCP Service - Machine Learning Models (No Torch Required)
Project description
aigroup-quant-mcp - Roo-Code量化分析MCP服务
🎯 专为Roo-Code设计的MCP量化分析服务 - 提供LightGBM/XGBoost/sklearn机器学习建模,无需torch依赖
🚀 快速开始(Roo-Code用户)
一键启动MCP服务
# 使用uvx快速启动(推荐,无需安装)
uvx aigroup-quant-mcp
就这么简单! MCP服务会自动:
- ✅ 下载最新版本
- ✅ 配置轻量级依赖(仅~100MB)
- ✅ 启动并连接到Roo-Code
- ✅ 提供8个专业量化工具
配置Roo-Code
方式:手动配置
如果需要手动配置RooCode的MCP服务,请在RooCode的设置中添加以下配置:
{
"mcpServers": {
"aigroup-quant-mcp": {
"command": "uvx",
"args": [
"aigroup-quant-mcp"
],
"env": {},
"alwaysAllow": [
"preprocess_data",
"calculate_factor",
"generate_alpha158",
"merge_factor_data",
"evaluate_factor_ic",
"apply_processor_chain",
"train_ml_model",
"predict_ml_model",
"list_factors"
]
}
}
}
配置说明:
- command: 使用uvx运行,无需本地安装
- args: 启动参数
- alwaysAllow: 允许访问的工具列表
- env: 环境变量(可留空)
配置完成后,RooCode将自动连接到aigroup-quant-mcp服务,您可以直接使用以下工具:
| 工具 | 功能 | 用途 |
|---|---|---|
preprocess_data |
数据预处理 | 加载CSV数据并自动清洗 |
generate_alpha158 |
Alpha158因子生成 | 生成158个技术指标因子 |
merge_factor_data |
数据合并 | 合并因子数据和价格数据(新增v1.0.24) |
calculate_factor |
单因子计算 | 计算动量、波动率等6种基础因子 |
evaluate_factor_ic |
因子评估 | 评估因子IC并生成报告 |
apply_processor_chain |
数据标准化 | 智能标准化处理(单商品/多商品自动适配) |
train_ml_model |
机器学习训练 | 训练LightGBM/XGBoost/sklearn模型 |
predict_ml_model |
模型预测 | 使用训练好的模型进行预测 |
list_factors |
查看因子 | 列出所有已加载的数据和因子 |
📦 安装方式
方式1:uvx(推荐,无需安装)
# 直接运行最新版本
uvx aigroup-quant-mcp
# 或指定版本
uvx aigroup-quant-mcp@1.0.17
优点:
- ⚡ 快速启动(几秒钟)
- 🔄 自动获取最新版本
- 💾 无需本地安装
- 🎯 轻量级依赖(~100MB,包含机器学习库)
方式2:pip安装
# 基础安装(包含机器学习功能,无torch)
pip install aigroup-quant-mcp
# 完整安装(包含深度学习)
pip install aigroup-quant-mcp[full]
# 或只安装深度学习依赖
pip install aigroup-quant-mcp[dl]
# 运行
aigroup-quant-mcp
依赖说明
- 核心依赖(默认):pandas, numpy, scipy, mcp, lightgbm, xgboost, scikit-learn
[dl]:torch(深度学习,需要时再装)[full]:所有功能(适合完整开发)
💡 推荐:直接使用基础安装,包含所有机器学习功能,无需额外安装torch!
✨ 核心特性
1️⃣ 智能数据预处理
- ✅ 自动清洗:自动处理缺失值和异常值
- ✅ 智能导出:清洗后数据自动保存
- ✅ 质量评估:自动生成数据质量报告
2️⃣ Alpha158因子库
- 📊 158个技术指标:Qlib级专业因子库
- 🎯 分类清晰:K线(9) + 价格(5) + 成交量(5) + 滚动统计(139)
- 🔧 灵活配置:支持自定义窗口和因子组合
- 💾 导出支持:可导出CSV/JSON便于查看
3️⃣ 因子评估
- 📈 IC分析:Spearman/Pearson相关性分析
- 📊 ICIR计算:信息比率评估因子稳定性
- 📝 报告生成:自动生成Markdown评估报告
- 🎯 质量评级:智能评估因子有效性
4️⃣ 智能标准化
- 🤖 自动识别:单商品/多商品自动适配
- 🔄 智能切换:CSZScoreNorm自动优化
- ✅ 避免NaN:单商品自动使用ZScoreNorm
- 📊 透明化:明确告知调整原因
5️⃣ 机器学习建模
- 🤖 三模型支持:LightGBM/XGBoost/sklearn
- ⚡ 无需torch:轻量级机器学习解决方案
- 📊 完整评估:MSE/MAE/R²/IC等指标
- 🎯 特征分析:自动特征重要性分析
- 🔮 批量预测:支持导出预测结果
📋 工具详细说明
preprocess_data
加载CSV数据并自动清洗
参数:
file_path:CSV文件路径data_id:数据唯一标识auto_clean:是否自动清洗(默认true)export_path:导出路径(可选)
返回:
- 数据摘要(行数、列数、日期范围)
- 数据质量评估
- 清洗详情
- 导出信息
generate_alpha158
生成Alpha158因子集
参数:
data_id:数据源IDresult_id:结果IDkbar:是否生成K线因子(默认true)price:是否生成价格因子(默认true)volume:是否生成成交量因子(默认true)rolling:是否生成滚动统计因子(默认true)rolling_windows:窗口大小列表export_path:导出路径(可选)
返回:
- 因子数量和分类统计
- 数据质量评估
- 导出信息
merge_factor_data
⭐ 新增于v1.0.24 - 合并因子数据和价格数据
功能说明:
解决了因子数据无法直接用于 train_ml_model的问题。将Alpha158等因子数据与原始价格数据合并,生成包含所有因子列和close列的完整数据集。
参数:
factor_data_id:因子数据ID(如alpha158_normalized)price_data_id:原始价格数据ID(必须包含close列)result_id:合并后数据的唯一标识export_path:导出路径(可选)export_format:导出格式csv/json(可选)
返回:
- 合并数据信息(因子数+close列)
- 数据质量评估
- 导出信息(如果指定)
典型用法:
{
"factor_data_id": "alpha158_normalized",
"price_data_id": "stock_data_2023",
"result_id": "merged_for_training"
}
详细文档:docs/MERGE_FACTOR_DATA_GUIDE.md
evaluate_factor_ic
评估因子IC并生成报告
参数:
factor_name:因子名称data_id:数据源IDmethod:计算方法(spearman/pearson)report_path:报告保存路径(可选,新增于v1.0.16)
返回:
- IC指标(IC均值、IC标准差、ICIR、IC正值占比)
- 因子质量评级
- 预测方向和预测能力分析
- 使用建议
新增功能(v1.0.16):
- ✨ 自动生成Markdown格式评估报告
- 📊 包含详细的指标解读
- 💡 提供后续步骤指引
apply_processor_chain
智能数据标准化
参数:
data_id:数据源IDresult_id:结果IDprocessors:处理器配置列表
特点:
- 🤖 自动识别单商品/多商品
- 🔄 CSZScoreNorm自动优化
- ✅ 避免单商品100% NaN问题
推荐用法:
{
"processors": [
{"name": "CSZScoreNorm"}
]
}
系统会自动判断并选择最佳标准化方法。
list_factors
列出所有已加载的数据和因子
参数:无
返回:
- 数据列表
- 因子列表
- 每个因子的类型和形状
train_ml_model
训练机器学习模型
参数:
data_id:数据源ID(必须包含close列)model_id:模型唯一标识model_type:模型类型(lightgbm/xgboost/linear)train_start:训练开始日期train_end:训练结束日期test_start:测试开始日期test_end:测试结束日期params:模型参数(可选)
返回:
- 训练和测试性能指标(MSE/MAE/R²/IC)
- 特征重要性分析
- 模型质量评估
predict_ml_model
使用训练好的模型进行预测
参数:
model_id:模型IDdata_id:预测数据IDexport_path:导出路径(可选)
返回:
- 预测结果统计
- 预测值预览
- 导出信息(如果指定)
📚 高级使用(Python API)
如果您需要在Python脚本中使用,可以直接导入:
from quantanalyzer.data import DataLoader
from quantanalyzer.factor import Alpha158Generator, FactorEvaluator
# 加载数据
loader = DataLoader()
data = loader.load_from_csv("stock_data.csv")
# 生成因子
generator = Alpha158Generator(data)
factors = generator.generate_all(rolling_windows=[5, 10, 20])
# 评估因子
returns = data['close'].groupby(level=1).pct_change().shift(-1)
evaluator = FactorEvaluator(factors, returns)
ic_metrics = evaluator.calculate_ic(method='spearman')
print(f"IC均值: {ic_metrics['ic_mean']:.4f}")
print(f"ICIR: {ic_metrics['icir']:.4f}")
更多Python API示例请查看 examples/ 目录。
📂 项目结构
aigroup-quant-mcp/
├── quantanalyzer/ # 核心包
│ ├── mcp/ # MCP服务
│ │ ├── server.py # MCP服务器
│ │ ├── handlers.py # 工具处理函数
│ │ ├── schemas.py # 工具Schema定义
│ │ └── ...
│ ├── data/ # 数据层
│ ├── factor/ # 因子层
│ │ ├── alpha158.py # Alpha158因子
│ │ ├── evaluator.py # 因子评估
│ │ └── library.py # 基础因子
│ ├── model/ # 模型层
│ └── backtest/ # 回测层
├── examples/ # 示例脚本
├── exports/ # 导出数据目录
├── reports/ # 评估报告目录
├── .roo/ # RooCode配置
│ └── mcp.json # MCP服务配置示例
├── pyproject.toml # 项目配置
├── CHANGELOG.md # 更新日志
└── README.md # 本文档
🔧 故障排除
uvx安装卡住
问题:uvx aigroup-quant-mcp 卡住不动
解决:
- 确保使用v1.0.17或更高版本
- 检查网络连接
- 尝试清除缓存:
uvx --no-cache aigroup-quant-mcp
因子评估返回错误
问题:evaluate_factor_ic返回NoneType
解决:
- 升级到v1.0.16或更高版本
- 确保因子已正确生成
- 使用list_factors查看可用因子
单商品数据标准化后全是NaN
问题:使用CSZScoreNorm后数据全是NaN
解决:
- 升级到v1.0.14或更高版本
- 系统会自动切换为ZScoreNorm
- 或手动使用ZScoreNorm处理器
机器学习模型训练失败
问题:train_ml_model返回错误
解决:
- 确保数据包含close列用于生成标签
- 检查时间范围参数是否正确
- 确认数据格式与训练时一致
- 查看详细错误信息和建议
模型预测结果异常
问题:predict_ml_model返回异常值
解决:
- 确保预测数据特征与训练时一致
- 检查数据是否正确标准化
- 确认模型已正确训练
- 查看模型评估指标判断质量
RooCode中无法使用MCP工具
问题:在RooCode中看不到aigroup-quant-mcp工具
解决:
- 确保配置了正确的MCP服务配置
- 检查uvx是否正常工作:
uvx --version - 重启RooCode
- 查看RooCode的MCP服务日志
MCP服务连接失败
问题:MCP服务启动失败或连接超时
解决:
- 检查网络连接
- 尝试使用
uvx --no-cache aigroup-quant-mcp清除缓存 - 确保Python版本>=3.8
- 查看详细错误日志
🤝 贡献
欢迎提交Issue和Pull Request!
- Fork项目
- 创建功能分支
- 提交更改
- 开启Pull Request
📄 许可证
MIT License - 查看 LICENSE 了解详情
🙏 鸣谢
📞 支持
- 💬 提交 jackdark425/aigroup-quant-mcp: Quant Analyzer package with Alpha158 factors and deep learning models
- 📧 邮件:jackdark425@gmail.com
- 📚 文档:查看项目文档和示例
立即开始: uvx aigroup-quant-mcp 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aigroup_quant_mcp-1.0.29.tar.gz.
File metadata
- Download URL: aigroup_quant_mcp-1.0.29.tar.gz
- Upload date:
- Size: 72.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
239df58ca7136e6fcdfb577cfaf344178621a9f857786930213bc1f596dce029
|
|
| MD5 |
d01f8da1b9e22dda3bb8299d0e7b5eab
|
|
| BLAKE2b-256 |
9ed3d86b438c8fdff0db4d080ec25128587efe9780de60946f4e1f290a67d571
|
File details
Details for the file aigroup_quant_mcp-1.0.29-py3-none-any.whl.
File metadata
- Download URL: aigroup_quant_mcp-1.0.29-py3-none-any.whl
- Upload date:
- Size: 74.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96b710b05ebc12a051e8b786395dc684bc9f399617e4b332cbdbe4212327f8f5
|
|
| MD5 |
ddc285e980721fd51ddbd504e205b104
|
|
| BLAKE2b-256 |
f35938c96bd765ebb043890ece8f693e73397fca538de483e773729ea650e3c2
|