写了一个猎杀 FVG 缺口的 OKX 永续交易机器人:197 项测试、蒙特卡洛验证、盈利才付费的开源模式
[此处上传 architecture.png]
## 写在前面:凌晨三点的 K 线图
做过合约交易的朋友大概都经历过:凌晨三点盯着 K 线,眼睛酸涩不敢睡,生怕错过那个"完美入场";或者工作忙错过了行情,看着币价起飞懊悔不已。
更惨的是亲手下单——情绪化追涨杀跌,一波连亏把之前的利润全吐回去。
于是我用几个月时间写了 FVG KILLER(公允价值缺口杀手):一个基于 ICT FVG 理论的 OKX 永续合约自动交易机器人。这篇文章拆解它的完整技术架构,以及我在开发过程中踩过的坑。
项目地址:https://github.com/Xbs950812/okx_fvg_agent
## 一、交易什么:FVG(公允价值缺口)
FVG 是 ICT(Inner Circle Trader)体系的核心概念:
- 一根剧烈波动的 K 线把价格快速搬走,留下一段"没有公平成交"的价格真空
- 理论假设:算法单和做市商的库存再平衡会引导价格回补这段真空
- 机器人要做的:等价格回补缺口时入场,止盈设在缺口 50%(consequent encroachment),止损设在缺口外侧
检测流水线:
1. 前置过滤:≥3σ 价格波动 + ≥5 倍量能放大
2. 三蜡烛缺口检测(1H/4H 双周期扫描)
3. 前 100 名合约全天候后台追踪(不建仓也在研究)
## 二、核心洞察:机器人 99% 的时间应该在说不
教科书教你检测 FVG,三根 K 线一个缺口,一章讲完。但实际跑起来你会发现:检测器每天吐出几十个信号,99% 是垃圾。
我的解法是五道否决门禁:
| 门禁 | 否决什么 | 生产日志示例 |
|---|---|---|
| 新鲜度 | 距今 100+ 根 K 线的陈旧缺口 | [Freshness] SNXX 1H FVG 距最新 K 线 186 根 > 24,丢弃 |
| ATR 分级 | 宽度/ATR<0.5 的噪声缺口 | [ATRGrade] 宽度 0.16/ATR 0.37=0.43 < 0.5,C级弱缺口负期望 |
| 方向一致性 | 暴涨币做多/超跌币做空 | [MoverDir] ETHFI 4H long 被否决: 24h +14.4% 暴涨禁追多 |
| 挂单深度 | 挂单位置偏离现价 20%+ | [DepthGate] 偏离 6.06% > 5.0% 方向矛盾,回退 |
| 订单簿流动性 | 薄书滑点陷阱 | 名义仓 vs 前 10 档深度 >5% 拒单 |
这些日志全部来自真实生产环境,README 里有完整摘录。**一个交易系统的核心产品不是入场逻辑,是拒绝逻辑。**
## 三、仓位引擎:滚动 Kelly + 蒙特卡洛验证
信号再好,仓位乱来一波连亏就归零。我的仓位方案:
- 从最近 100 笔已实现盈亏滚动计算分数 Kelly
- EWMA 平滑(λ=0.97)消除窗口跳变
- 样本分档:<50 笔 1/4 Kelly(探索),≥50 笔 1/2 Kelly(利用)
- 结果与自适应风险取 min
关键是我没让用户"信我",而是写了蒙特卡洛验证脚本(仓库可复现,300 路径 × 1000 笔配对随机数):
- 优势衰减(胜率 0.5→0.4):滚动 Kelly 中位回撤 83.1%,固定 30% 仓位 100% 湮灭
- 优势消失(0.5→0.25):滚动 Kelly +27 次翻倍存活,固定仓位 2^-21
- 代价:优势稳定时增长慢约 20%——我选了活着
[此处上传 montecarlo_curves.png]
## 四、AI 研判层:让六个分析师先吵一架
借鉴 TradingAgents(GitHub 86k star)的思路,机器人每笔信号要过完整的研判流水线:
- 五通道分析:价格行为 / 市场结构 / 资金流向 / 市场情绪 / 宏观背景
- 6 个分析师 Agent 辩论:独立研判 → 交叉质询 → 综合研判,分析师有信誉评分(对了加分错了减分)
- 体制检测:因果滞后状态机,避免市场体制切换时的频繁打脸
- 461 个 Alpha 因子库:Alpha101 / GTJA191 / Qlib158 / 学术因子
- 在线学习:FreqAI 风格的信号质量预测
## 五、工程可靠性清单
做交易机器人,工程就是钱:
- 197 项单元测试全绿
- paper/dry-run 模式绝不下一张真单(虚拟余额+实时行情模拟完整生命周期)
- 全局 API 限流令牌桶(10 QPS,防 429 被交易所降权)
- 日亏限额 / 每日交易上限 / 回撤断路器三层熔断
- 启动三方对账:交易所持仓 ↔ 本地状态 ↔ 保护单
- 状态原子写入(tmp + replace),断电不产生半截文件
- 状态文件损坏自动恢复,重启续跑平仓确认
## 六、授权模式:盈利才付费
先说清楚,这个项目不是传统开源,是 source-available(PolyForm Shield + 作者附加条款):
- 不收订阅费、不卖课、不收软件钱
- 你亏钱,我一分不拿
- 只在实盘盈利的单子提 10%(自动累积满 20 USDT 链上提现)
- 纸面/回测/研究模式永远免费
- 移除分成模块需商业授权
逻辑很简单:我收钱的前提是你先赚钱,激励对齐。如果这个模式不适合你,README 把 FVG 检测、五门禁、Kelly、蒙特卡洛的方法论全部写透了,思路随便参考。
## 七、快速上手
git clone https://github.com/Xbs950812/okx_fvg_agent.git
cd okx_fvg_agent
pip install -r requirements.txt
cp config.example.json config.json # 填入你的 OKX API key
python agent.py # 务必先跑纸面模式!
双语 README、使用手册、故障排除手册、更新手册齐全。
## 风险声明
合约交易可能损失全部本金。本项目不构成投资建议,作者本人也是小仓位运行,系统优化的目标函数是"生存概率"而非"收益率"。
觉得架构思路有启发的,欢迎 Star 鼓励;对 FVG 逻辑或 Kelly 实现有想法的,评论区见。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)