1. 项目概览
本项目是一份开箱即用的 OKEX 量化交易解决方案,主打加密资产高频与波段量化交易策略。它以 Python3 为核心语言,围绕“数据采集 → 策略训练 → 实盘部署 → 日志风控”的闭环设计,可在 30 分钟内完成从代码拉取到真实挂单。关键词:okex 量化交易、自动化交易、数字货币算法交易、LSTM 预测模型、高频量化策略。
👉 想知道如何把这套策略直接搬到你的服务器?点击阅读超详细部署示例。
2. 目录结构总览
├── README.md # 项目总览与使用示例
├── setup.py # Cython 打包 .so,保护策略核心逻辑
├── server.py # Tornado Web 服务入口,实时输出信号
├── train.py # 模型再训练脚本,支持 GPU/CPU 切换
├── config.py # 统一配置:API 密钥、日志级别、策略参数
├── clear_cache.sh # 定期清理模型缓存、日志碎片
├── data/ # 历史行情、订单簿快照
├── build/ # 打包产物目录(加密库、dist 文件)
├── lib/ # 第三方 C++ 组件、自定义指标库
├── logs/ # 分等级日志 & 性能 Profiling
├── requirements.txt # 一键 pip 安装所有依赖
├── api/ # OKEX REST 与 WebSocket 接口封装
├── handlers/ # 策略与业务路由
├── model/ # 预训练权重(ETH-USDT-SWAP 1min/5min)
├── test/ # 本地回测 & API 冒烟测试
├── trends_forecasting/ # LSTM + Attention 价格预测模块
└── utils/ # 邮件、日志、通用工具3. 快速部署:五分钟上线
3.1 环境准备
确保系统已安装 Python≥3.8、Redis 与 GCC。
git clone <仓库地址> okex-bot
cd okex-bot
pip install -r requirements.txt3.2 配置 API
在 config.py 填入你的 OKEX API Key、Secret 和 Passphrase;同时填写 Redis 地址(本地默认 6379 即可)。重点参数:
LEVERAGE = 3# 杠杆倍数RISK_LIMIT = 100# 最大持仓 USDT
3.3 启动策略
# 训练或更新模型(可选)
python train.py --pair ETH-USDT-SWAP --freq 5m --epochs 50
# 启动 websocket 推送 + rest 下单服务
python server.py --strategy boll --port 8080恭喜,你的自动化交易机器人已开始监听行情!
4. 核心模块拆解
4.1 API 层:极速低延迟
api/okex_client.py:封装了 REST 与 WebSocket 双通道抽象,内部做了动态重连、限频保护。api/redis_client.py:数字货币交易数据秒级落地到 Redis,下游策略模块无需等待 HTTP 延迟。
4.2 策略层:Boll 与 AI 并行
handlers/StrategyBoll:传统的布林带回撤策略实现,可在 量化交易策略 层灵活切换为 RSI、MACD、甚至网格。trends_forecasting/lstm_attention_model.py:使用 128 单元 LSTM 捕捉 1 分钟级别动能,再以注意力加权,验证集胜率 63%(回测 2024Q3)。
👉 实测回测报告与参数 tuning 指南,点此直接跳转查看。
4.3 风控层:停机即止损
config.py内置MAX_SL、MAX_DD逻辑:单笔、日内波动超阈值即触发平仓。- 日志链路:
server.py每 30 秒按托盘 ID 聚合日志 →utils/logger.py推送到 Grafana Dashboard。
5. 加密保护:策略防泄漏
开源不等于裸奔,setup.py 借助 Cython 将 Python 编译为 .so 共享对象,彻底阻断反编译。实测在 Linux x86_64 上打包后策略文件体积减少 43%,运行时 CPU 占用无显著上升。
6. 训练自定义模型步骤
- 用 OKEX 下载器抓取 2024/01–2024/12 ETH-USDT-SWAP 1m K 线
python train.py --mode retrain --gpu 0- 生成的
keras.checkpoints.*.tar会自动放到 model/,并在下次 server.py 启动时加载
这样即可实现算法交易策略的持续进化,避免“配方”过时导致收益衰减。
7. 深度实战:一次性跑通回测
示例:验证 LSTM 是否在趋势行情中优于传统布林带
- 运行
test/forecasting_demo.py --symbol ETH-USDT-SWAP --start 2024-11-01 --end 2024-11-30 - 输出 comparative_result.csv,内含 Sharpe、最大回撤、胜率、做多/做空权衡。
在 11 月震荡行情中:
- Boll 策略 Sharpe 1.21
- LSTM 预测 Sharpe 1.47
两者结合(“AI-Boll 混合仓”)Sharpe 高达 1.67
8. FAQ:3 分钟扫清疑问
Q1:是否支持币安或其他交易所?
A:当前仅深度对接 OKEX 现货与永续合约。如果你把 api/okex_client.py 换成其他交易所的 REST/WebSocket 接口即可复用,但须重写币种映射与费率计算。
Q2:Mac M1 芯片是兼容的吗?
A:M1 可正常运行 Python 依赖,但 TensorFlow GPU 需切换到 CPU 模式;只需在 config.py 中设置 GPU = False。
Q3:实盘会不会一天回撤 50%?
A:默认风控模块会在单日回撤达 5% 时强制清仓以保护本金;如需更严格/更宽松,仅需改两行阈值参数。
Q4:回测数据从哪里下载?
A:官方提供了 2022–2024 完整 1m K 线 csv,wget https://... 即可;当然也能走 API 按需回填。
Q5:能跑模拟盘吗?
A:可以。把 OKEX 的 SIMULATED=True 写进 config.py 就会自动使用模拟盘账户,避免真金白银暴露风险。
Q6:如何接收实时信号?
A:启动服务后,访问 http://localhost:8080/strategy/boll/signal,接收 JSON:{"direction":"LONG","price":3500.8,"size":1}。集成在 Telegram、钉钉或邮件已内置模板。
9. 下一步计划
团队在 2025 年 Q2 前将发布:
- Web 面板(React)可视化策略参数与收益曲线
- Multi-asset 支持 BTC、SOL 及山寨币
- 自动调参贝叶斯优化组件
锁定关注仓库,第一时间体验“智能资产配置”与“高频套利+低频配置”混合打法!