VeighNa (vnpy) 详细部署教程

VeighNa(原名 vnpy)是一套基于 Python 的开源量化交易系统开发框架,自发布以来已积累众多来自私募基金、证券公司等机构的用户。本教程将指导你完成从环境准备到最终启动量化交易终端的全流程。

目录

  1. 准备工作
  2. Windows 部署(推荐新手)
  3. Ubuntu 部署
  4. macOS 部署
  5. Docker 部署
  6. 源码手动安装(进阶)
  7. 启动与验证
  8. 常见问题与解决

准备工作

系统与硬件要求

  • 操作系统:Windows 11/Windows Server 2022、Ubuntu 22.04 LTS、macOS 10.13+。
  • Python 版本:Python 3.10 以上(64 位),推荐 Python 3.13
  • 硬件:内存至少 4GB(虚拟机需调至 4GB 以上,否则编译会报错)。

前置知识

  • 基础命令行操作。
  • 了解 Python 虚拟环境概念(推荐使用 conda 或 venv)。

Windows 部署(推荐新手)

VeighNa 为 Windows 用户提供了一站式 Python 发行版 VeighNa Studio,这是最快捷的安装方式,集成了 Python 解释器、VeighNa 框架及所有依赖库。

方式一:VeighNa Studio 一键安装(最简单)

第一步:下载安装包

  • 访问 VeighNa 官网,找到 VeighNa Studio 下载链接。注意官网提供的是 VeighNa Station(图形化管理工具)的下载入口,Studio 是包含完整环境的安装包。

第二步:运行安装

  1. 双击下载的安装包,推荐右键选择“使用管理员身份运行”
  2. 按照安装向导,点击 “快速安装” 使用默认路径(C:\veighna_studio)。
  3. 等待安装完成,桌面会出现 VeighNa Station 图标。

第三步:启动
双击桌面 VeighNa Station 图标,登录社区账号后,点击 “VeighNa Trader” 按钮即可启动量化交易终端。

方式二:基于源码手动安装

适合已有 Python 环境或有定制需求的用户。

第一步:准备环境

  • 确保已安装 Python 3.10+(64 位)。

  • 建议创建虚拟环境,如使用 conda:

    1
    2
    conda create -n vnpy python=3.10
    conda activate vnpy
  • 网络问题提示:在公司网络或需要代理的环境下,安装可能因防火墙失败,建议切换至畅通的网络环境。

第二步:下载源码

  • 从 GitHub Releases 页面下载 Source code (zip) 并解压。

第三步:执行安装脚本

  • 进入解压后的目录,以管理员身份打开命令提示符(CMD)或 PowerShell。

  • 运行 install.bat 脚本:

    1
    install.bat

    脚本会自动安装 ta-lib 等依赖库及 VeighNa 本身。


Ubuntu 部署

第一步:安装系统依赖
打开终端,安装编译工具及 Python 开发环境:

1
2
3
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python3-dev # 替换为你的 python 软连接名,如 python3.10-dev

第二步:下载源码

  • 从 GitHub Releases 页面下载 tar.gz 格式的源码包并解压。

第三步:执行安装脚本
进入源码目录,运行一键安装脚本:

1
sudo bash install.sh

如果你的 Python 命令不是 python(例如是 python3),请指定:

1
sudo bash install.sh python3

第四步:图形界面支持(重要)
若在有图形界面的 Ubuntu 上启动 VeighNa Trader,可能遇到图形驱动问题,需安装额外依赖:

1
sudo apt-get install libxcb-xinerama0

如果系统语言是英文,连接国内期货接口(如 CTP)时可能出现中文编码报错,需安装中文字体支持。


macOS 部署

第一步:安装系统依赖

  • 推荐使用 Homebrew 安装 TA-Lib:

    1
    brew install ta-lib

第二步:创建虚拟环境
建议使用 conda 创建独立 Python 3.10 环境:

1
2
conda create -n vnpy310 python=3.10
conda activate vnpy310

第三步:克隆源码并安装

  • 克隆仓库并使用 macOS 专用安装脚本:

    1
    2
    3
    git clone https://github.com/vnpy/vnpy.git
    cd vnpy
    ./install_osx.sh

第四步:解决常见模块缺失
首次运行 python examples/veighna_trader/run.py 时,可能提示缺少 vnpy_ctp 等模块。需要手动从 GitHub 克隆相应仓库并安装:

1
2
3
git clone https://github.com/vnpy/vnpy_ctp
cd vnpy_ctp
pip install -e .

同理,如果提示缺少 vnpy_ctabacktestervnpy_sqlite 等,也通过 pip install 安装。


Docker 部署

Docker 方式适合 Linux 服务器或不想污染本地环境的用户。社区提供了 Docker 镜像,其中甚至内置了 noVNC 和 Jupyter Notebook,可通过浏览器访问。

第一步:拉取镜像

1
docker pull dehim/veighna:4.3.0.0

第二步:运行容器
以下命令会映射端口并挂载数据卷:

1
2
3
4
5
docker run -d -p 80:80 -p 8888:8888 \
-v /path/to/your/data:/shareVolume \
--name veighna \
--restart=always \
dehim/veighna:4.3.0.0
  • -p 80:80:映射 noVNC Web 界面端口(访问 http://127.0.0.1,默认密码 1234)。
  • -p 8888:8888:映射 Jupyter Notebook 端口。

第三步:图形化配置(Windows WSL2)
若在 Windows 的 WSL2 中运行 Docker,需要配合 XLaunch 等 X Server 软件,并设置 DISPLAY 环境变量才能显示 GUI。

1
2
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
xhost +local:docker

之后运行容器时,挂载 X11 相关卷:

1
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ...

源码手动安装(进阶)

如果你需要对 VeighNa 进行二次开发,可以选择源码安装模式。

通用步骤:

  1. 克隆项目git clone https://github.com/vnpy/vnpy.git
  2. 安装依赖pip install -r requirements.txt
  3. 安装框架pip install -e .(可编辑模式,便于开发调试)

各平台对应脚本

  • Windows:install.bat
  • Ubuntu:install.sh
  • macOS:install_osx.sh

注意事项:在 Linux 上编译 C++ 接口时,若使用 --no-build-isolation,需提前安装 meson-pythonmesonpybind11ninja-build 等依赖。


启动与验证

图形化启动(VeighNa Trader)

进入示例目录,运行 run.py

1
2
cd examples/veighna_trader
python run.py

如果成功,将弹出 VeighNa Trader 主窗口。首次运行时,你可能需要根据注释在 run.py 中启用或注释掉所需的交易接口和应用模块。

配置数据服务(以 RQData 为例)

进行历史回测前,需要配置数据服务:

  1. 在 VeighNa Trader 菜单栏点击“配置”。
  2. 填入 RQData 的 usernamepassword
  3. 重启 VeighNa Trader,在“功能”->“CTA回测”中即可下载数据。

常见问题与解决

  • Q: 安装时提示 command 'gcc' failed
    • A: 缺少 Python 开发头文件。运行 sudo apt-get install python3-dev(Ubuntu)或确保 Windows 上已安装 Visual C++ Build Tools。
  • Q: Ubuntu 启动时提示 qt.qpa.plugin: Could not load the Qt platform plugin "xcb"
    • A: 图形驱动依赖缺失。运行 sudo apt-get install libxcb-xinerama0
  • Q: 连接 CTP 接口时出现 locale::facet::_S_create_c_locale name not valid
    • A: 系统缺少中文编码。运行 sudo locale-gen zh_CN.GB18030 并安装中文字体。
  • Q: Docker 容器内无法显示图形界面?
    • A: 需要配置 X Server(如 Windows 上的 XLaunch)并正确传递 DISPLAY 变量和挂载 X11 socket。参考 Docker 部署 章节。
  • Q: 提示内存不足?
    • A: 编译过程需要较大内存,虚拟机请将内存调至 4GB 以上。
  • Q: VeighNa Station 和 VeighNa Studio 是什么关系?
    • A: VeighNa Studio 是一整套量化 Python 发行版,而 VeighNa Station 是这个发行版中的图形化管理工具,用于启动 VeighNa Trader 等应用。

通过以上步骤,你应该已经成功部署了 VeighNa 量化交易框架。无论你是想进行策略回测还是实盘交易,这套框架都提供了完整的工具链。建议从 CTA 策略回测模块入手,逐步探索其强大的功能。