Gene 交易引擎

Gene 交易引擎 XGBoost 量化交易系统 · 基于 Hyperliquid 微结构数据 最后更新:2026-05-05 架构 5s 微结构采集 (韩国 + Blog 双路) ↓ features.py (38 维特征) ↓ train.py (Walk-Forward CV) ↓ XGBoost 模型 → 实盘推理 更新记录 2026-04-29 — v2 框架上线 变更: v1 归档,v2 框架升为主版本(features.py + train.py) 38 维特征(14 价格形态 + 24 微结构) 采集改为 5s 间隔(日产 17,280 条) Blog 新增双路备份采集器 韩国 + Blog chrony 自动校时 Git 标签 标签 说明 v1-20260429 v2 框架 + 5s 双路采集

2026-05-05 · 1 min

BTC 量化交易实录:5 天 27 笔,胜率 26% 如何盈利 1.5%?

引言 大多数人对量化交易有一个误解:胜率越高越好。 但事实是——盈利不靠胜率,靠盈亏比。 这篇实录记录了我用 XGBoost 模型驱动的 BTC 量化交易系统在 Hyperliquid 上跑模拟交易的真实数据,从 4 月 7 日到 4 月 12 日,5 天时间,27 笔交易,胜率只有 25.9%,但最终账户从 $10,000 增长到 $10,152.02,盈利 +1.52%。 这篇文章不吹不黑,把原始数据摊开来看。 系统概况 项目 详情 模型 XGBoost 三分类(中性 / 做多 / 做空) 特征 51 个技术指标(三周期:15m / 1h / 4h) 交易所 Hyperliquid(DEX) 模式 Paper Trading(模拟交易) 执行频率 每 15 分钟 初始资金 $10,000 运行时间 2026-04-07 13:00 ~ 2026-04-12 07:00 风控参数 参数 值 说明 置信度阈值 60% 开仓条件 止盈 ATR × 5 动态止盈 止损 ATR × 2 动态止损 移动止盈 盈利 > 1% 后回撤 0.5% 触发 超时平仓 16 根 K 线 防止死扛 最大仓位 15% 置信度 + 连胜连败调整 交易数据 总览 指标 值 总交易 27 笔 盈利 7 笔 亏损 20 笔 胜率 25.9% 初始资金 $10,000.00 当前资金 $10,152.02 总收益 +$152.02 (+1.52%) 胜率不到 26%,但依然赚钱——因为赢的那些交易赚得足够多。 ...

2026-04-13 · 2 min

BTC 量化交易系统:从爆仓教训到 +607% 收益

前言:一次惨痛的教训 2026年3月19日,我的 ml-strategy 系统的8个策略全部爆仓。资金归零。 这不是意外,是必然。我犯了几个致命错误: 多策略 ≠ 分散风险:8个策略用的是相似逻辑,失败时一起失败 未经验证实盘:回测好看就直接上实盘 没有风控边界:止损随意,止盈靠运气 那次之后,我重构了整个系统。这篇文章记录新的 btc-quant-skill 从零到 +801% 收益的设计过程。 微架构设计:回测和实盘必须一致 之前最大的问题是:回测用一套逻辑,实盘用另一套。 新的架构强制一个原则:策略逻辑只有一个入口。 ┌─────────────────────────────────────────────────────────────┐ │ Strategy Engine (核心) │ ├─────────────────────────────────────────────────────────────┤ │ 数据加载 → 特征构建 → 信号生成 → 风控检查 → 交易执行 │ └─────────────────────────────────────────────────────────────┘ │ ┌───────────────┴───────────────┐ │ │ ┌──────▼──────┐ ┌──────▼──────┐ │ Backtest │ │ Live Trade │ │ Provider │ │ Provider │ │ (本地 CSV) │ │ (OKX API) │ └─────────────┘ └─────────────┘ 唯一差异:数据源 ...

2026-04-03 · 2 min

BTC量化模型数据泄露修复与回测验证

背景 今天对 BTC 量化交易模型进行了一次深度审核,发现了一个严重的数据泄露问题,修复后回测表现反而更好了。 问题发现 训练集划分问题 审核 train_model.py 时发现,模型训练使用了 train_test_split 随机划分数据集: X_train, X_val, y_train, y_val = train_test_split( X, y, test_size=0.2, random_state=42, stratify=y ) 问题:时间序列数据不能随机划分! 随机划分会导致验证集包含训练集之后的数据,模型在验证时实际上"看到了未来",导致验证集性能虚高。 回测脚本审核 回测脚本本身没有数据泄露问题: 特征全部向后看(rolling/ewm) 标签生成正确(shift(-12) 向前看) 逐笔模拟没有用未来数据 修复方案 将随机划分改为时间序列划分: # 修复前 X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, stratify=y) # 修复后 split_idx = int(len(X) * 0.8) X_train, X_val = X[:split_idx], X[split_idx:] y_train, y_val = y[:split_idx], y[split_idx:] 验证结果 验证集性能对比 指标 旧模型(随机划分) 新模型(时间序列划分) 准确率 74.2% 70.0% Macro F1 0.69 0.62 验证集性能下降了,但这是正常的——去掉了"作弊"后才是真实泛化能力。 回测对比(固定仓位 $10,000) 指标 旧模型 新模型 变化 总收益 +68.87% +75.57% +6.7% ✅ 最大回撤 -0.58% -0.62% -0.04% 夏普比率 15.00 16.03 +1.03 ✅ 胜率 88.0% 88.4% +0.4% 盈亏比 1.05 1.22 +0.17 ✅ 结论:时间序列划分训练的模型,回测表现更好! ...

2026-03-29 · 1 min