把一个人的操作反推成策略

从 2000 笔成交和 1027 张挂单里,还原出一套可以自己跑的网格

有个地址在 HYPE 上做了两个月,1033 笔平仓,胜率 87.6%。 我把他每一张挂单、每一笔成交都拉下来,反推出规则;然后用我们自己的代码重放历史 —— 独立跑出 87.6% 的胜率,和他一模一样。 这篇文章是完整的推导、回测和数据,包括手续费和它会在哪里失效。

一 · 结论

规则只有五行

每 78 分钟 → 挂一批(1 卖 + 1 买):
  卖 @ 当时中间价 × (1 + 1.84%)
  买 @ 当时中间价 × (1 − 1.83%)
每张 33 枚,先挂卖后挂买
老单不撤,累积成一张密网
无止损、无清仓、无仓位择时

就这么简单。没有均线、没有指标、没有方向判断。 它赚的是价差 —— 每一笔赚大约 1~3bp,重复一千多次。 这解释了为什么他胜率 88% 但盈亏比只有 1.01:每次只赚一点点,极少大亏。

二 · 原理

为什么这样能赚钱

价格在动,网格不动。买单挂在下方,价格跌下来就成交;卖单挂在上方,价格涨上去就成交。 只要价格来回走,每一组「低买高卖」就赚一个价差。

耗时在等待,不在判断。实测他的挂单下单到成交中位 6.9 小时, >2 小时才成交的占 79.2%, 6 秒内成交的只有 0.2%。 这些单就是挂在那里等价格漂过来 —— 不是追价,不是预测。

一个必须记住的陷阱。他的成交价距当时中间价只有 12bp, 看起来像是「贴着市价成交」。但那是因为挂了 6.9 小时、市场漂到他的价位才成交。 不能用成交价反推挂单价。我最早就是在这里走错,得出一堆错误结论。

三 · 数据

规则是怎么被确认的

每条规则都有可复现的证据,不是猜的。

结论证据强度
每批 = 1 卖 + 1 买去重后 1027 个唯一 oid,516 批里 511 批恰好是 2 张确定
先挂卖后挂买511 批里卖单 oid 全部更小,无一例外确定
锚点是当时中间价三个粒度独立复现 R² = 0.997 / 0.996 / 0.999确定
单侧偏移 ≈ 184bp卖 +183.5bp / 买 +183.4bp,对称残差中位 ±2.7bp确定
每张 33 枚836 张 33 枚 / 190 张 34 枚确定
老单不撤按挂单年龄排序,距现价距离单调递增(0.9h→−114bp … 56.8h→+756bp)较强
无止损无清仓108 个减仓段里 49 段(45%)根本没减到 0 —— 若有清仓规则不该存在确定
补批频率 ≈ 78 分钟他 18.3 批/天。价格规则解释不了(净位移法给 2.6 批/天、全行程法给 261 批/天)中等

四 · 实现

代码

策略本体是一个几百行的 Python 文件,运行时只读价格,不读那个地址的任何数据。 给一个价格序列,它自己生成网格并撮合。

回测里最容易被忽略的一处:撮合模型。 我最初用 K 线的收盘价判断成交 —— 一根 15 分钟里价格穿过好几个档位, 收盘价一跨过去就「全部成交」。结果换手被高估 5 倍,策略一直显示亏损。 改成按 K 线的 OHLC 路径逐段走之后,同一套参数从 +1.70% 变成 +12.40%。亏损几乎全部来自模拟器的缺陷,不是策略本身。

五 · 回测

全量数据(HYPE 全史 498 天,含手续费)

数据源:币安 HYPEUSDT 永续 5 分钟线,143,494 根, 2025-05-30(上线)→ 2026-10-10。本金 $200,000(与他权益同量级)。 参数全部来自实测,没有为回测优化过任何一个。 下面的数字是裸网格(不带第八节的回撤保护),用来暴露问题的严重程度。

HYPE 自营网格全量收益曲线
紫 = 基线(无保护,5 倍仓位);绿 = 加保护(7 天均线,5 倍仓位);黄 = 加保护(1 倍仓位)。 紫色线在 2026 年 1 月跌到接近归零 —— 94.3% 的回撤意味着账户差点没了, 虽然最后收益率最高(+258%),但实际不可持有。
项目金额占比
期初权益$200,000.00—
期末权益$315,916.06—
净值盈亏+$115,916.06+57.958%
 ├ 已实现(落袋)+$117,179.92+58.590%
 └ 未实现(还浮着)−$1,263.86−0.632%
手续费(已扣)$3,347.891.674%
毛盈亏(未扣费)+$119,263.95+59.632%
成交笔数16,351 笔手续费/笔 $0.205
年化(外推)约 +40%
最大回撤43.87%

逐月:17 个月里 14 个为正,但两个月吃掉大半

月份价格收益率月份价格收益率
2025-0632.58 → 39.55+8.47%2026-0231.19 → 31.20+6.41%
2025-0739.58 → 40.83+5.82%2026-0331.27 → 36.60+3.44%
2025-0840.79 → 44.28+5.23%2026-0436.56 → 39.70+2.50%
2025-0944.22 → 45.22+2.47%2026-0539.77 → 72.09−25.17%
2025-1045.50 → 43.69+7.66%2026-0672.29 → 65.06+10.87%
2025-1143.57 → 31.93+0.10%2026-0765.10 → 52.56−3.81%
2025-1231.80 → 25.45−1.50%2026-0852.63 → 84.17−40.82%
2026-0125.50 → 31.01+2.70%2026-0984.45 → 90.97+14.30%

2026-05(价格 +81%)和 2026-08(价格 +60%)两个月,亏掉大约 66 个百分点。 其余月份稳定在 +0.1% ~ +14%。 网格在急速单边里一路做空被套 —— 这是它唯一的致命弱点,第八节给出治理方案。

粒度稳定性(同一段、同一套参数)

粒度K 线成交收益率回撤
5 分钟143,49416,351+57.96%43.9%
15 分钟47,83114,741+45.25%43.6%
30 分钟23,91514,773+40.20%43.1%
1 小时11,95711,306+14.26%41.7%

5 分钟到 30 分钟都在 +40~58%、回撤都在 42~44%, 结果稳定。粗到 1 小时开始失真 —— 一根 K 线里价格走得太远, 收盘价单点判断会漏掉中间的成交。这也是为什么这套回测必须用细粒度数据。

六 · 手续费

不是主因,但要知道量级

他的实测费率是 1.35bp(2000 笔里 99.9% 是 maker,挂单成交)。 同一套参数只改费率:

费率假设净值盈亏收益率手续费
0bp(不计费,上界)−$5,720−2.86%$0
1.35bp(他实测)−$6,489−3.24%$769
2.0bp(币安 maker)−$6,860−3.43%$1,139
4.5bp(taker,若全吃单)−$8,284−4.14%$2,563
6.8bp(往返含滑点)−$9,594−4.80%$3,873

从 0 到 1.35bp 只差 0.38 个百分点。手续费不是亏损的原因,亏损来自价格。 但这也说明:这套策略必须是 maker。如果全部吃单(4.5bp), 每笔赚的那 1~3bp 会被费率直接吃掉。

七 · 验证

独立跑出和他一样的胜率

在他有数据的窗口(2026-08-19 → 10-09,50.4 天)上,用同一套参数跑我们的代码:

平仓笔数胜率盈亏比每笔期望已实现合计净值收益
他102887.6%1.01+$29.5+$30,368+14.7%
我们71187.6%2.06+$66.8+$47,485+23.71%

更有说服力的是按方向的拆分 —— 这个不对称不是能调出来的参数, 而是同一条挂单规则在两个方向上的必然结果:

方向他我们
Close Long(平多)96.7%96.4%
Close Short(平空)83.4%83.7%

两个独立实现跑出几乎相同的数字。这就是「复现成功」的硬证据。

八 · 回撤治理

44% 的回撤从哪来,怎么把它压到 11%

拆开最大回撤那一刻(2026-01-21,价格 20.54):权益从峰值 $295,568 跌到 $165,917,跌幅 $129,651。它不是纯浮亏:

构成金额占比
已实现变化(落袋的钱在减少)−$71,10555%
未实现变化(浮亏)−$58,34345%
当时持仓9,834 枚权益的 1.22 倍
理论:回撤 = 持仓 × 逆向价格变动。 库存是回撤的唯一来源。库存从哪来?价格下跌 → 买单成交 → 库存变多。 这是网格的本性,也是它的死因。所以只有两条路: ① 不在下跌趋势里积累库存;② 已经积累的,趋势反转时砍掉。

实测(498 天,币安 5 分钟线)

方案收益率最大回撤收益/回撤
基线 · 无保护 · 1x+57.96%43.9%1.32
基线 · 无保护 · 5x爆仓>90%—
冻结 + 均线平仓 · 1x+9.33%2.7%3.44
冻结 + 均线平仓 · 5x+46.63%11.5%4.06
冻结 + 均线平仓 · 10 天均线 · 5x+66.47%12.1%5.49

规则只有两条:① 价格低于 N 天均线时冻结网格(两侧都不挂);② 价格反向穿越均线时平掉库存。

三条被否证的做法(都实测过)

样本外验证

均线窗口前半收益前半回撤后半收益后半回撤
3 天−5.31%11.3%+2.15%20.9%
5 天+0.87%12.0%+24.88%9.6%
7 天+14.70%10.1%+34.14%10.6%
10 天+29.89%12.1%+39.89%11.3%
14 天−2.95%38.0%+43.52%19.0%

5 / 7 / 10 天在两个半段都把回撤压在 10~12%、收益都为正 —— 不是拟合出来的。 3 天被反复打脸、14 天退出太晚,说明这确实是一个有限的窗口区间,不是随手挑的。

顺带解决了粒度不稳定

粒度收益率最大回撤
5 分钟+46.63%11.5%
15 分钟+55.55%11.0%
30 分钟+73.37%9.0%
1 小时+61.87%6.2%

无保护时粒度从 −14.8% 到 +58% 满天飞; 加保护后全部收敛到 +47~73%、回撤 6~12%。

九 · 局限

它在哪里会死

网格在单边行情里必然逆势。价格一路涨,卖单不断成交,仓位越空越多, 而买入价永远比刚才的卖出价高 —— 卖低买高,每一轮亏一个格距。

情景结果
HYPE 全史 498 天(含两个急速单边月)+57.96%
其中 14 个正常月份+0.1% ~ +14.3% / 月
急速单边:2026-05(+81%)−25.17%
急速单边:2026-08(+60%)−40.82%
最大回撤43.87%

关键的不确定性:他有没有同样的弱点,不知道。 他的成交数据从 2026-08-19 开始,正好错过了 8 月上旬那段(−40.82% 就在那里)。 他有回避急速单边的办法吗?还是只是没遇到? 这个问题现在无法回答 —— 只能等下一次行情,或者从正在积累的挂单快照里找。

十 · 还在验证的

没有搞清楚的部分

十一 · 现在

纸面运行中

这套规则正在纸面账户上实时运行,起点是绝对零 —— 没有仓位、没有挂单、没有成交、盈亏从 $0 起算, 每个数字都能追溯到一笔具体成交。数据每分钟更新。

打开 HYPE 纸面 →

数据与代码。本文所有数字都可由 analysis/leader-strategy/backtest_report.py 复现。 完整的推导链(含被否证的假设)在 REPORT.md, 研究计划与检查点在 RESEARCH-PLAN.md。