小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
54
最近更新:5天前

xtquant 用于 AI,MCP 项目。

xtquantai 是一个基于模型上下文协议 (Model Context Protocol, MCP) 的服务器,它将迅投 (xtquant) 量化交易平台的功能与人工智能助手集成,使 AI 能够直接访问和操作量化交易数据和功能。

Python 版本
许可证

功能特点

XTQuantAI 提供以下核心功能(陆续更新中,欢迎大家提交新创意):

基础数据查询

  • 获取交易日期 (get_trading_dates) - 获取指定市场的交易日期
  • 获取板块股票列表 (get_stock_list) - 获取特定板块的股票列表
  • 获取股票详情 (get_instrument_detail) - 获取股票的详细信息

行情数据

  • 获取历史行情数据 (get_history_market_data) - 获取股票的历史行情数据
  • 获取最新行情数据 (get_latest_market_data) - 获取股票的最新行情数据
  • 获取完整行情数据 (get_full_market_data) - 获取股票的完整行情数据

图表和可视化

  • 创建图表面板 (create_chart_panel) - 创建股票图表面板,支持各种技术指标
  • 创建自定义布局 (create_custom_layout) - 创建自定义的图表布局,可以指定指标名称、参数名和参数值

安装

⚠️ 注意事项

  1. QMT 生态系统目前仅支持 Windows,因此以下均在 Windows 环境实现
  2. Windows 环境目前在实现 MCP 过程中有不少细节,需要注意

前提条件

  • Python 3.11 或更高版本
  • 迅投 QMT 或投研终端
  • uv 包管理工具 (推荐)

uv 的安装及注意事项

uv 是用作启动包的工具,因此您需要安装一下,注意要在需要运行 xtquantai 的环境中安装该包,这是第一个可能的出现问题的地方,如果有疑问的话,可以全都安装一下。

python 复制代码
pip install uv

第二个注意点,uv 有缓存机制,因此才有了 clear_cache_and_run.py 文件,如果中途有错误的运行,不清除缓存会导致不会更新,所以请在需要更新时运行删除。

下载即可

bash 复制代码
git clone https://github.com/dfkai/xtquantai.git

或者直接下载压缩包,您可以将其下载到任意文件夹,只要能正确找到 xtquantai 的具体地址即可,最好是在文件夹内直接复制地址。

使用方法

与 Cursor 的集成

Windows(QMT/投研端目前仅支持 Windows,需在 Windows 环境)

在 Cursor 中配置 MCP 服务器:

方法一:

在当前项目中建立 .cursor 文件夹,在该文件夹下建立 mcp.json 文件,则 Cursor 编辑器会在启动时自动加载这个 mcp 工具:

json 复制代码
{
  "mcpServers": {
    "xtquantai": {
      "command": "cmd /c uvx",
      "args": [
        "path:\\to\\xtquantai"
      ]
    }
  }
}

⚠️ 注意:在 Windows 中,命令必须加上 cmd /c,否则会导致打开的命令行窗口立即关闭。

方法二:

直接在 设置 > MCP > 添加新的 MCP Server 中添加,名称(name)设置为 xtquantai,命令(command)设置为:cmd /c uvx path:\to\xtquantai,调整状态为Enabled

这里注意 path to 是指您自己的本地地址,同时注意在手动输入时应使用单斜杠,但是在 JSON 文件中需要两个斜杠以防止转义。

工具使用示例

获取交易日期

python 复制代码
# 获取上海市场的交易日期
dates = get_trading_dates(market="SH")

获取股票清单

python 复制代码
# 获取沪深A股板块的股票清单
stocks = get_stock_list(sector="沪深A股")

创建图表面板

python 复制代码
# 创建包含 MA 指标的图表面板
result = create_chart_panel(
    codes="000001.SZ,600519.SH",
    period="1d",
    indicator_name="MA",
    param_names="period",
    param_values="5"
)

开发

直接启动服务器

bash 复制代码
# 使用 python 配置文件直接运行服务器
python -m xtquantai

# 或者通过已安装的 XTQuantAI 工具来运行
xtquantai

使用 MCP Inspector 进行调试(仅限于开发阶段)

需要安装 node 环境。

bash 复制代码
npx @modelcontextprotocol/inspector uv run xtquantai

构建与发布

准备打包:

  1. 同步依赖并更新锁定文件:
bash 复制代码
uv sync
  1. 构建包分发:
bash 复制代码
uv build
  1. 在 PyPI 上发布:
bash 复制代码
uv publish

调试

由于 MCP 服务器通过标准输入/输出运行,在调试上可能会有一些挑战,我们推荐使用 MCP Inspector 进行调试。

项目结构

复制代码
xtquantai/
├── src/
│   └── xtquantai/
│       ├── __init__.py    # 包初始化文件
│       └── server.py      # MCP 服务器实现文件
├── main.py                  # 启动脚本文件
├── server_direct.py         # 直接 HTTP 服务器功能实现
├── pyproject.toml           # 项目配置
└── README.md                # 项目说明文件

许可证

该项目使用的是 MIT 许可证 - 可在 LICENSE 文件中查阅。

贡献机会

十分欢迎您对本项目进行贡献!如有任何问题或者改进的想法,请随时提交问题或更改请求。

感谢

  • 感谢 [迅投科技(ThinkTrader)][迅投官网] 提供的量化解决方案
  • 谢谢 [模型上下文协议][modelcontextprotocol] 提供的人工智能集成功能框架