🚀 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 文件。