Skip to content

Homalos

字数
1224 字
阅读时间
5 分钟

初略安装流程

  1. 进入 Releases 界面下载对应版本的 .whl 或 .tar.gz文件,.whl 是 Python 支持的安装文件,可以用 pip + whl 文件完整路径安装,或解压缩 .tar.gz 文件,.tar.gz 是源代码文件,可以通过解压得到所有项目源代码。

  2. 安装 uv,uv 是本项目使用的 Python 虚拟环境及软件包管理工具,可以代替 conda,并且下载软件包速度是其它工具的几倍甚至十几倍。

    如果你是 Windows 系统,推荐在 powershell 中执行下述命令安装 uv:

    powershell
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

    如果是 Linux 系统,在终端中使用下述命令安装 uv:

    bash
    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 安装 Python,建议安装本项目用的版本 3.12.9

    powershell
    uv python install 3.12.9
  4. 安装 whl 文件

    bash
    uv pip install homalos-0.0.1-cp312-cp312-win_amd64.whl

    或解压缩 homalos-0.0.1.tar.gz

  5. Python虚拟环境的创建和依赖包的下载。

    进入到 Homalos 项目根目录,执行下述命令让 uv 根据 pyproject.toml 中的配置,自动在项目根目录创建 Python 虚拟环境和依赖包下载:

    powershell
    uv sync
  6. 编译 VNPY_CTP(可选)

    编译 vnpy_ctp 不是必要执行的操作,本项目中自带 CTP API 6.7.7 接口文件和穿透式实盘环境的dll文件。

    CTP 介绍

    CTP 全称为综合交易平台(Comprehensive Transaction Platform),是上海期货交易所全资子公司上期技术公司推出的一套用于期货交易的系统。CTP API 则是这套系统提供给开发者的一组接口,方便开发者通过编程的方式接入 CTP 系统,进行期货交易的相关操作,以下是其具体介绍:

    • 系统架构 :CTP 系统的架构分为前置层、核心层和应用层三个层次。前置层负责与交易所的通信,核心层处理交易逻辑,应用层则是开发者通过 API 接入的部分,这种分层设计既保证了高效的交易处理,又提供了灵活的扩展性。
    • 功能作用 :通过 CTP API,开发者可以实现行情订阅、订单提交、成交回报、账户查询、历史数据回溯等功能,能够满足程序化交易的需求,如进行量化策略的开发和测试等,是程序化交易的核心基础设施。
    • 优势特点 :具有高性能、低延迟,适合高频交易;经过多年市场验证,稳定性高;各大期货公司均提供 CTP 接口支持,具有广泛的应用和良好的兼容性。
    • 开发使用 :开发者可以使用 C++、Python、Java、Rust 等编程语言来实现 CTP API 接口的开发,通过调用相关函数来完成与期货交易相关的操作,如在 Python 中可以使用 pybind11 或 swig 为官方 C++ 版 CTP 接口提供 Python 版 API,从而进行期货交易自动化开发。

    上期技术(上海期货信息技术有限公司)官网:https://www.shfe.com.cn/sfit/

    CTP API 下载地址:https://www.simnow.com.cn/static/apiDownload.action

    Tips:SimNow 是上期技术公司专为投资者打造的期货模拟仿真交易平台,也是上海期货交易所投资者教育网认证的期货模拟仿真系统。

    在编译之前请确保已经安装了Visual Studio(Windows)、GCC(Linux),这是因为原始CTP API 是 C++ 开发的,在项目中需要编译为 Python 接口需要用到 C++ 编译器。若需要编译其他版本 CTP API 则需要下载原始相应版本 CTP API 文件对项目中相关的文件进行替换再执行编译。

    • 清理旧的构建

      如果是 Windows,打开 powershell 终端进入项目根目录,执行删除distbuild目录命令:

      powershell
      Remove-Item -Recurse -Force dist, build -ErrorAction SilentlyContinue

      或 CMD 终端执行:

      bash
      rmdir /s /q dist
      rmdir /s /q build

      如果是 Linux 终端执行:

      bash
      rm -rf dist build
    • 执行构建

      bash
      python build.py

启动方式

Homalos 支持一键启动:

悄悄话: 推荐用 Command

执行启动命令之前请确保激活当前 Python 虚拟环境:

bash
.venv\Scripts\activate

启动主程序:

bash
python -m start

一键启动干了哪些事情:

  • 初始化配置管理器
  • 初始化事件总线
  • 初始化服务注册中心
  • 初始化数据服务(含行情和数据持久化)
  • 初始化交易引擎核心(含策略管理、风控模块、订单管理)
  • 初始化Web管理界面