智能量化交易与强化学习平台,支持多市场(加密货币、A股、商品、期权、外汇)、多交易所(Binance/HTX/Bitget/Hyperliquid)、多策略自动化交易。
| 模块 | 功能 |
|---|---|
| 回测引擎 | 统一执行框架,支持通用回测 + 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.txtWindows
- 从 ta-lib.org 下载 TA-Lib 0.4.0
- 解压到
C:\ta-lib - 运行
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 1hpython main.py
# 启动服务 http://localhost:8501入口层 (cli.py / main.py / router/)
↓
策略层 (strategy/ , stats/)
↓
任务层 (task/)
↓
核心层 (core/ , interface/ , decision/)
通过 Protocol 接口实现同一策略代码在实盘、模拟、回测三种模式下运行:
| Protocol | 功能 |
|---|---|
OrderExecutor |
订单执行 |
PositionReader |
仓位查询 |
MarketDataProvider |
市场数据 |
TimeController |
时间控制 |
TradeRecorder |
交易记录 |
MarketInterface |
统一市场 API |
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