Homalos安装
初略安装流程
进入Releases界面下载对应版本的 .whl 或 .tar.gz文件,.whl 是 Python 支持的安装文件,可以用 pip + whl 文件完整路径安装,或解压缩 .tar.gz 文件,.tar.gz 是源代码文件,可以通过解压得到所有项目源代码。
安装 uv,uv 是本项目使用的 Python 虚拟环境及软件包管理工具,可以代替 conda,并且下载软件包速度是其它工具的几倍甚至十几倍。
如果你是 Windows 系统,推荐在 powershell 中执行下述命令安装 uv:
powershellpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
如果是 Linux 系统,在终端中使用下述命令安装 uv:
bashcurl -LsSf https://astral.sh/uv/install.sh | sh
安装 Python,建议安装本项目用的版本 3.12.9。
powershelluv python install 3.12.9
安装 whl 文件
bashuv pip install homalos-0.0.1-cp312-cp312-win_amd64.whl
或解压缩 homalos-0.0.1.tar.gz
Python虚拟环境的创建和依赖包的下载。
进入到 Homalos 项目根目录,执行下述命令让 uv 根据 pyproject.toml 中的配置,自动在项目根目录创建 Python 虚拟环境和依赖包下载:
powershelluv sync
构建 CTP 和 TTS 模块(可选)
构建 ctp 和 tts 扩展模块是可选的操作,本项目中已经自带
CTP 6.7.7
和TTS 6.7.2
扩展模块和穿透式实盘环境的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 是上期技术公司专为投资者打造的期货模拟仿真交易平台,也是上海期货交易所投资者教育网认证的期货模拟仿真系统。
TTS是另一套对接类CTP的仿真交易环境,支持仿真交易,提供仿真环境和7x24小时环境,模拟账号可通过openctp官方获取。
在编译之前请确保已经安装了Visual Studio(Windows)、GCC(Linux),这是因为原始CTP API 是 C++ 开发的,在项目中需要编译为 Python 接口需要用到 C++ 编译器。若需要编译其他版本 CTP API 则需要下载原始相应版本 CTP API 文件对项目中相关的文件进行替换再执行编译。
清理旧的构建
如果是 Windows,打开 powershell 终端进入项目根目录,执行删除
dist
、build
目录命令:powershellRemove-Item -Recurse -Force dist, build -ErrorAction SilentlyContinue
或 CMD 终端执行:
bashrmdir /s /q dist rmdir /s /q build
如果是 Linux 终端执行:
bashrm -rf dist build
执行构建
激活 Python 环境执行下述命令构建:
bashpython build.py