🚀 QuantConnect MCP Server
QuantConnect MCP Server 是一个面向量化交易领域的强大工具,它为 QuantConnect 算法交易平台提供了生产就绪的模型上下文协议服务器。该服务器能够无缝集成 QuantConnect 的研究环境、统计分析和投资组合优化功能,让你可以轻松地将这些高级功能融入到自己的 AI 工作流程中。本地部署的方式不仅保证了数据的安全性,还能显著提高工作效率。
🚀 快速开始
在不到 2 分钟的时间内启动并运行服务器:
⚠️ 重要提示
在运行服务器之前,你必须拥有 QuantConnect 凭证(用户 ID 和 API 令牌)。没有正确的身份验证,服务器将无法正常工作。有关获取这些凭证的详细信息,请参阅 身份验证 部分。
使用 uvx 安装(推荐)
uvx quantconnect-mcp
uv pip install quantconnect-mcp
pip install quantconnect-mcp
一键式 Claude 桌面安装(推荐)
- 下载:从 “Releases” 页面获取最新的
quantconnect-mcp.dxt
文件。
- 安装:双击该文件,Claude 桌面应用将打开并提示你进行 安装。
- 配置:在 Claude 桌面应用中,依次点击 设置 → 扩展 → QuantConnect MCP,粘贴你的用户 ID 和 API 令牌。
- 开始使用:启动一个新的 Claude 聊天会话,即可调用任何 QuantConnect 工具。
为什么选择 DXT?
桌面扩展文件(.dxt
)将服务器、依赖项和清单文件打包在一起,用户只需 一键操作 即可从下载过渡到使用 MCP 服务器,无需使用终端、编辑 JSON 文件,也不会出现版本冲突问题。
2. 设置 QuantConnect 凭证(必需)
服务器需要以下环境变量才能正常运行:
export QUANTCONNECT_USER_ID="your_user_id"
export QUANTCONNECT_API_TOKEN="your_api_token"
export QUANTCONNECT_ORGANIZATION_ID="your_org_id"
3. 启动服务器
uvx quantconnect-mcp
MCP_TRANSPORT=streamable-http MCP_PORT=8000 uvx quantconnect-mcp
4. 使用自然语言进行交互
你可以使用自然语言与连接的 AI 客户端(如 Claude、GPT 或任何其他兼容 MCP 的接口)进行交互,而无需以编程方式调用工具。
“初始化一个研究环境,添加 GOOGL、AMZN 和 MSFT,然后对它们在 2023 年的数据进行主成分分析(PCA)。”
✨ 主要特性
QuantConnect MCP 服务器开箱即用,为你提供以下功能:
- 完整的项目生命周期管理:可以通过编程方式
创建
、读取
、更新
、编译
和管理 QuantConnect 项目及文件。
- 端到端的回测功能:能够
编译
项目、创建回测
、读取详细结果
,并分析 图表
、订单
和 洞察信息
。
- 交互式研究环境:与
QuantBook
全面集成,可进行动态金融分析,包括历史和 替代数据
的检索。
- 高级分析功能:支持执行
主成分分析(PCA)
、Engle-Granger 协整检验
、均值回归分析
和 相关性研究
。
- 投资组合优化:利用复杂的
稀疏优化
方法,结合 Huber 下行风险最小化策略,计算投资组合的绩效并进行策略基准测试。
- 投资范围选择:可以根据多个标准动态
筛选资产
,分析 ETF 成分股
,并基于相关性选择资产。
- 企业级安全保障:通过安全的
SHA-256 认证 API
与 QuantConnect 进行集成。
- 高性能核心:采用
异步优先
的设计,实现并发数据处理,确保系统响应迅速。
- AI 原生接口:专为通过
自然语言
与高级 AI 客户端进行无缝交互而设计。
📦 安装指南
使用 uvx 安装(推荐)
uvx quantconnect-mcp
uv pip install quantconnect-mcp
pip install quantconnect-mcp
一键式 Claude 桌面安装(推荐)
- 下载:从 “Releases” 页面获取最新的
quantconnect-mcp.dxt
文件。
- 安装:双击该文件,Claude 桌面应用将打开并提示你进行 安装。
- 配置:在 Claude 桌面应用中,依次点击 设置 → 扩展 → QuantConnect MCP,粘贴你的用户 ID 和 API 令牌。
- 开始使用:启动一个新的 Claude 聊天会话,即可调用任何 QuantConnect 工具。
💻 使用示例
基础用法
以下是使用自然语言与服务器交互的示例:
"初始化一个研究环境,添加 GOOGL、AMZN 和 MSFT,然后对它们在 2023 年的数据进行主成分分析(PCA)。"
高级用法
因子驱动的投资组合构建流程
“构建一个 2025 年的全球股票多空投资组合:
1. 提取截至 2024 年 12 月 31 日的 QQQ、SPY 和 EEM 的成分股(无幸存者偏差)。
2. 对于每个符号,使用 2022 年 1 月 1 日至 2024 年 12 月 31 日的每日数据计算 Fama-French 五因子和质量减垃圾因子的载荷。
3. 根据价值(市净率)和动量(12 - 1)将股票排名为三分位数;做多顶部三分位数,做空底部三分位数,并与标准普尔 500 指数保持贝塔中性。
4. 在每个类别中,应用分层风险平价(HRP)方法确定仓位规模,每一侧的总风险敞口上限为 5%。
5. 目标年化预期波动率 ≤ 10%;在 95% 的置信水平下使用 CVaR 最小化方法进行求解。
6. 以 MSCI 世界指数为基准;报告 2023 年 1 月 1 日至 2024 年 12 月 31 日期间的年化收益率、波动率、夏普比率、索提诺比率、最大回撤、命中率和换手率。
7. 将最优权重和完整的分析报告导出为 `pdf` 和 `csv` 文件。
8. 安排每月的再平衡任务,并将信号推送到实时交易端点。”
稳健的统计套利工作流程
“测试并优化一个配对交易策略:
• 投资范围:美国必需消费品行业,市值 > 50 亿美元,股价 > 10 美元。
• 数据:2023 年 1 月 2 日至 2025 年 6 月 30 日的 15 分钟 K 线数据。
• 步骤 1 – 对于所有配对,计算滚动 60 天的距离相关性;保留距离相关性 ≥ 0.80 的配对。
• 步骤 2 – 对筛选后的配对进行 Johansen 协整检验(滞后阶数 = 2);保留迹统计量 < 5% 临界值的配对。
• 步骤 3 – 对于每个协整配对:
– 估计均值回归的半衰期;如果半衰期 > 7 天则剔除。
– 计算赫斯特指数;要求赫斯特指数 < 0.4。
• 步骤 4 – 模拟贝叶斯卡尔曼滤波价差,以实现时变对冲比率。
• 入场条件:z 分数穿越 ±2(两根 K 线确认);出场条件:z = 0 或 t_max = 3 × 半衰期。
• 风险控制:每对名义价值上限为净资产的 3%,投资组合总杠杆 ≤ 3 倍,止损点为 z = 4。
• 输出:交易日志、盈亏归因、阿尔法的自助法 p 值以及制度转换的似然比检验结果。”
自动化项目、回测和超参数扫描
“在 QuantConnect 中启动一个实验套件:
1. 创建名为 ‘DynamicPairs_Kalman’ 的 Python 项目。
2. 添加以下文件:
• `alpha.py` – 信号生成(占位符)
• `risk.py` – 自定义仓位规模
• `config.yaml` – 参数网格:
```yaml
entry_z: [1.5, 2.0, 2.5]
lookback: [30, 60, 90]
hedge: ['OLS', 'Kalman']
```
3. 触发一个标记为 ‘GridSearch-v1’ 的参数扫描回测,使用 2022 - 2023 年的样本内数据。
4. 当任务完成后,根据信息比率和最大回撤 < 10% 对运行结果进行排名;保留前 3 个配置。
5. 自动为获胜配置启动 2024 年至今的样本外回测。
6. 生成一份执行摘要:包含表格和图表(权益曲线、滚动夏普比率、风险敞口直方图)。
7. 将最佳模型打包为 Docker 镜像,推送到镜像仓库,并部署到实时交易集群,设置当单日损失 > 3σ 时停止交易。”
📚 详细文档
身份验证工具
工具 |
描述 |
关键参数 |
configure_quantconnect_auth |
设置 API 凭证 |
user_id , api_token , organization_id |
validate_quantconnect_auth |
测试凭证有效性 |
- |
get_auth_status |
检查身份验证状态 |
- |
test_quantconnect_api |
测试 API 连接性 |
endpoint , method |
clear_quantconnect_auth |
清除存储的凭证 |
- |
项目管理工具
工具 |
描述 |
关键参数 |
create_project |
创建新的 QuantConnect 项目 |
name , language , organization_id |
read_project |
获取项目详细信息或列出所有项目 |
project_id (可选) |
update_project |
更新项目名称/描述 |
project_id , name , description |
compile_project |
编译项目以进行回测 |
project_id |
文件管理工具
工具 |
描述 |
关键参数 |
create_file |
在项目中创建文件 |
project_id , name , content |
read_file |
从项目中读取文件 |
project_id , name (可选) |
update_file_content |
更新文件内容 |
project_id , name , content |
update_file_name |
重命名项目中的文件 |
project_id , old_file_name , new_name |
QuantBook 研究工具
工具 |
描述 |
关键参数 |
initialize_quantbook |
创建新的研究实例 |
instance_name , organization_id , token |
list_quantbook_instances |
查看所有活动实例 |
- |
get_quantbook_info |
获取实例详细信息 |
instance_name |
remove_quantbook_instance |
清理实例 |
instance_name |
数据检索工具
工具 |
描述 |
关键参数 |
add_equity |
添加单个股票证券 |
ticker , resolution , instance_name |
add_multiple_equities |
添加多个证券 |
tickers , resolution , instance_name |
get_history |
获取历史价格数据 |
symbols , start_date , end_date , resolution |
add_alternative_data |
订阅替代数据 |
data_type , symbol , instance_name |
get_alternative_data_history |
获取替代数据历史 |
data_type , symbols , start_date , end_date |
统计分析工具
工具 |
描述 |
关键参数 |
perform_pca_analysis |
主成分分析 |
symbols , start_date , end_date , n_components |
test_cointegration |
Engle-Granger 协整检验 |
symbol1 , symbol2 , start_date , end_date |
analyze_mean_reversion |
均值回归分析 |
symbols , start_date , end_date , lookback_period |
calculate_correlation_matrix |
资产相关性分析 |
symbols , start_date , end_date |
投资组合优化工具
工具 |
描述 |
关键参数 |
sparse_optimization |
高级稀疏优化 |
portfolio_symbols , benchmark_symbol , 优化参数 |
calculate_portfolio_performance |
计算投资组合绩效指标 |
symbols , weights , start_date , end_date |
optimize_equal_weight_portfolio |
等权重优化 |
symbols , start_date , end_date , rebalance_frequency |
投资范围选择工具
工具 |
描述 |
关键参数 |
get_etf_constituents |
获取 ETF 持仓 |
etf_ticker , date , instance_name |
add_etf_universe_securities |
添加所有 ETF 成分股 |
etf_ticker , date , resolution |
select_uncorrelated_assets |
查找不相关资产 |
symbols , num_assets , method |
screen_assets_by_criteria |
多标准筛选资产 |
symbols , min_return , max_volatility 等 |
回测管理工具
工具 |
描述 |
关键参数 |
create_backtest |
从编译结果创建新的回测 |
project_id , compile_id , backtest_name |
read_backtest |
获取回测结果 |
project_id , backtest_id , chart |
read_backtest_chart |
获取回测图表数据 |
project_id , backtest_id , name |
read_backtest_orders |
获取回测订单历史 |
project_id , backtest_id , start , end |
read_backtest_insights |
获取回测洞察信息 |
project_id , backtest_id , start , end |
🔧 技术细节
项目架构
quantconnect-mcp/
├── ◆ quantconnect_mcp/ # 主包目录
│ ├── main.py # 服务器入口点和配置文件
│ └── src/ # 源代码模块
│ ├── ⚙ server.py # FastMCP 服务器核心
│ ├── ⚙ tools/ # 工具实现
│ │ ├── ▪ auth_tools.py # 身份验证管理
│ │ ├── ▪ project_tools.py # 项目 CRUD 操作
│ │ ├── ▪ file_tools.py # 文件管理
│ │ ├── ▪ quantbook_tools.py # 研究环境
│ │ ├── ▪ data_tools.py # 数据检索
│ │ ├── ▪ analysis_tools.py # 统计分析
│ │ ├── ▪ portfolio_tools.py # 投资组合优化
│ │ ├── ▪ universe_tools.py # 投资范围选择
│ │ └── ▪ backtest_tools.py # 回测管理
│ ├── ◆ auth/ # 身份验证系统
│ │ ├── __init__.py
│ │ └── quantconnect_auth.py # 安全的 API 身份验证
│ └── ◆ resources/ # 系统资源
│ ├── __init__.py
│ └── system_resources.py # 服务器监控
├── ◆ tests/ # 全面的测试套件
│ ├── test_auth.py
│ ├── test_server.py
│ └── __init__.py
├── ◆ pyproject.toml # 项目配置文件
└── ◆ README.md # 本文件
核心设计原则
- 模块化架构:每个工具类别都进行了清晰的分离,便于维护。
- 安全至上:采用 SHA-256 认证 API 和安全的凭证管理系统。
- 异步高性能:非阻塞操作确保最大吞吐量。
- 类型安全:使用 mypy 进行全面的类型注解验证。
- 可扩展性:基于插件的架构,便于轻松添加新功能。
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。