Skip to content

2533757653/horizon

Repository files navigation

Horizon - Quantitative Trading & RL Platform

智能量化交易与强化学习平台,支持多市场(加密货币、A股、商品、期权、外汇)、多交易所(Binance/HTX/Bitget/Hyperliquid)、多策略自动化交易。

Python License Platform


核心能力

模块 功能
回测引擎 统一执行框架,支持通用回测 + RL 回测
强化学习 DQN / PPO / A3C / LightGBM-PPO / LSTM-PPO / Transformer-PPO
机器学习 LightGBM / Tabnet 收益预测与选币
LLM 代理 DeepSeek / OpenAI 驱动,支持 Tool Calling
套利系统 跨交易所套利、资金费率套利
多市场 加密货币、A股、商品期货、期权、外汇
多交易所 Binance / HTX / Bitget / Hyperliquid

项目结构

Horizon/
├── Horizon/                      # 主代码包
│   ├── backtest/                # 回测引擎
│   │   ├── Engine/              # 通用回测引擎
│   │   ├── Execution/           # 订单执行
│   │   └── Evaluation/          # 评估指标
│   ├── cli/                      # CLI 命令行入口
│   ├── config/                   # 配置管理
│   ├── core/                     # Protocol 接口与 RuntimeContext
│   ├── decision/                 # 订单与持仓决策
│   ├── interface/                # 市场接口
│   │   ├── Crypto/              # 加密货币
│   │   ├── Stock/              # A股
│   │   ├── Commdities/         # 商品期货
│   │   └── Forex/              # 外汇
│   ├── llm/                      # LLM 集成
│   │   ├── agent/              # 智能代理
│   │   ├── chains/             # LangChain 链
│   │   ├── engines/            # LLM 引擎
│   │   └── strategy/           # LLM 策略
│   ├── ml/                       # 机器学习
│   ├── repositories/             # 数据仓储与异常处理
│   ├── rl/                       # 强化学习
│   │   ├── Env/                # 交易环境
│   │   ├── Agent/              # 网络架构
│   │   └── Trainer/            # 训练器
│   ├── router/                   # FastAPI Web 路由
│   ├── stats/                    # 统计与信号
│   ├── strategy/                 # 交易策略
│   ├── task/                     # 任务执行
│   └── tools/                    # 工具集
├── config/                       # 示例配置文件(需复制并重命名)
├── docs/                         # 详细文档
├── test/                         # 测试用例
└── main.py                       # Web 服务入口

快速开始

环境要求

  • Python 3.9+
  • TA-Lib(需单独安装)
  • Windows / Linux / macOS

安装

# 基础依赖
pip install -r requirements.txt

# 开发依赖(测试、代码质量)
pip install -r requirements-dev.txt

# LLM 扩展(可选)
pip install -r requirements-extra.txt

TA-Lib 安装

Windows
  1. ta-lib.org 下载 TA-Lib 0.4.0
  2. 解压到 C:\ta-lib
  3. 运行 python setup.py install
Linux
wget https://launchpad.net/ta-lib/trunk/0.4.0/+download/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib && ./configure --prefix=/usr/local && make && sudo make install
pip install TA-Lib

使用方法

命令行

# 查看帮助
python -m Horizon.cli --help

# 策略回测
python -m Horizon.cli backtest -s Section_Strategy -t 4h -r 20251201-20260120

# RL 训练
python -m Horizon.cli rl-train --algorithm dqn --timesteps 100000

# RL 回测
python -m Horizon.cli backtest-rl -s BTC/USDT:USDT

# RL 环境测试
python -m Horizon.cli test-rl-env --test-type all

# 数据下载
python -m Horizon.cli data --symbol BTC/USDT:USDT --timeframe 1h

Web 服务

python main.py
# 启动服务 http://localhost:8501

核心设计

四层架构

入口层 (cli.py / main.py / router/)
    ↓
策略层 (strategy/ , stats/)
    ↓
任务层 (task/)
    ↓
核心层 (core/ , interface/ , decision/)

Protocol 解耦

通过 Protocol 接口实现同一策略代码在实盘、模拟、回测三种模式下运行:

Protocol 功能
OrderExecutor 订单执行
PositionReader 仓位查询
MarketDataProvider 市场数据
TimeController 时间控制
TradeRecorder 交易记录
MarketInterface 统一市场 API

RuntimeContext

RuntimeContext 组合 5 个 Protocol 实例,通过依赖注入传递给 Strategy 和 Task。


测试

# 所有测试
pytest

# 单元测试
pytest -m unit

# 集成测试
pytest -m integration

# 端到端测试
pytest -m e2e

# 特定模块
pytest test/test_backtest/

# 覆盖率报告
pytest --cov=Horizon --cov-report=html

文档导航

类别 文档
架构 总览 · 核心 · 依赖
模块 策略 · 任务 · RL · 回测
接口 Interface · LLM · ML
指南 快速开始 · CLI · 配置

完整文档:docs/README.md


许可证

MIT License

About

quantitive trading platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors