过拟合警示 · 链上流量 z-cross 网格搜索
按样本内夏普挑参数 = 反向预测 2026
对一个链上流量信号(BQ ge0.0001 每小时转账笔数的 z-cross)做三维网格搜索:
MA 天数 × z 窗口 × 阈值 × 模式,共 1,620 个配置。用 2026 年之前的数据拟合,
2026 全年作为完全未触碰的留出样本(hold26)。结果很反直觉 ——
样本内夏普越高,2026 反而越差。
-0.485corr(样本内 fit, 2026 hold26)
全部 1,620 个配置
+0.20全部配置的 2026 平均夏普
-1.48按 fit 排名前 20 的 2026 平均夏普
1.261 → -1.154最高 fit 配置 → 其 2026 夏普
RAW 样本内夏普(pre-2026)排名前 12 的配置(fit 为毛口径,nb_fit 为计成本后,
expo = 暴露比例,flips = 翻转次数,hold26 = 2026 留出夏普):
| ma_d | w | th | mode | fit | nb_fit | expo | flips | hold26 (2026) |
| 30 | 20 | 0.5 | trend_flip | 1.261 | 1.155 | 0.973 | 58 | -1.154 |
| 30 | 200 | 2.0 | fade_flip | 1.231 | 0.576 | 0.715 | 8 | +1.018 |
| 30 | 20 | 1.0 | trend_flip | 1.208 | 1.105 | 0.973 | 52 | -1.140 |
| 7 | 40 | 0.0 | trend_flip | 1.191 | 0.988 | 0.974 | 216 | +0.325 |
| 30 | 40 | 0.0 | trend_flip | 1.161 | 1.076 | 0.962 | 72 | -2.509 |
| 30 | 20 | 0.0 | trend_flip | 1.148 | 1.154 | 0.973 | 118 | -1.247 |
| 30 | 20 | 2.0 | trend_flip | 1.141 | 0.929 | 0.951 | 36 | -1.837 |
| 7 | 60 | 0.5 | trend_flip | 1.129 | 1.006 | 0.962 | 52 | -1.409 |
| 30 | 40 | 1.0 | trend_flip | 1.107 | 1.026 | 0.958 | 32 | -2.415 |
| 7 | 60 | 1.0 | trend_flip | 1.077 | 0.963 | 0.961 | 44 | -3.446 |
| 30 | 40 | 1.5 | trend_flip | 1.077 | 0.948 | 0.953 | 30 | -2.789 |
| 7 | 40 | 1.5 | trend_flip | 1.054 | 0.851 | 0.960 | 46 | -1.017 |
12 个"最优"配置里 10 个的 2026 夏普为负(红色);只有 2 个勉强为正(绿色)。
结论:这是搜索过拟合的活教材
全体 1,620 个配置的 2026 平均夏普其实是 +0.20(还不错),
但一旦按样本内夏普去挑"最好的",挑出来的却是 2026 最差的一批(前 20 平均 −1.48)。
fit 与 hold26 的相关系数为 −0.485 —— 用样本内表现选参数,不是没帮助,而是系统性地帮倒忙。
呼应《The Man Who Solved the Market》里"数据过拟合"的警告:翻够多的参数,总能翻出漂亮但虚假的回测。
链上活跃度 · 机制切换(交易数 + Gas)
交易数、Gas、转账分层与规模化动量:同一批机制切换(竖线贯穿四图)
图1:ETH transactions__transaction_count_total 的 30/365 日移动平均(参考 Glassnode "交易数动量");
图2:fees_and_revenue__gas_used_total 的 24 小时移动平均;
图3:按转账规模分层(lt0.0001、各 band、ge1)的每小时笔数月度均值;
图4:剔除 lt0.0001 尘埃后汇总 ≥0.0001 ETH 转账笔数(各 band + ge1)的 30/365 日均线,并叠加 ETH 价格(右轴)。
紫色竖线为数据识别的机制切换(regime shift)台阶,贯穿四图——
交易数快慢线背离、Gas 阶梯跃升、分层笔数换挡,均落在同一批点上。数据源:bq_transfer_buckets + 现货 spine。
竖线(以 Gas 月度中位数环比跳升 > 0.5B 为界识别):
2021-05(gas 上限上调)、2025-02(4.5B → ~5.5B)、
2025-08(~6.8B)、2025-12(Fusaka 升级,~9.1B)。
交易数快慢差(快 − 慢)从 2025 年前约 +1,159 跃至 2025 年后约 +11,422 笔/小时(约 10 倍)。
含义:跨越这些断点的链上量特征需分段处理,不能直接拼接。数据源:ETH_trimmed_binance_patched_prem.parquet(2019-10 起)。
策略 · 流量极值反向(fade)· 稀有的"通过"配置
fade_flip(MA30d · W200d · TH±2.0):既拟合、又通过 2026 的唯一一支
这是第一页网格里那一行 30 · 200 · 2.0 · fade_flip —— 全场最特别的一支:
样本内 fit 1.231,而 2026 留出 hold26 +1.018,两头都为正。
而按 fit 排名靠前的 trend_flip 配置几乎都在 2026 翻负;它是那条"越拟合越差"规律的例外。
信号:ge0.0001 每小时转账笔数取 30 日均线,再在 200 日窗口做 z 分数;
反向(fade)操作 —— z > +2 过热 → 做空,z < −2 枯竭 → 做多,持仓到反向极值(flip-only)。
因窗口极长、阈值极高,全历史只触发 8 次,专挑大级别的活跃度极端。
1.231 / +1.018fit(样本内) / hold26(2026 留出)夏普
8全历史翻转次数(4 多 / 4 空)
100%历史胜率(8 笔,含 5bps 成本)
+421%累计(均值 +52.7%/笔)
绿 = z < −2 转多(活跃度枯竭)、红 = z > +2 转空(活跃度过热);阴影为持仓方向。
触发点多落在大级别转折附近(如 2023-10 做多、2024-12 / 2025-07 做空)。
重要提醒:样本量极小(仅 8 笔) —— 100% 胜率不构成统计显著证据,hold26 也只覆盖 2026 一年;
需在更多样本 / 更长留出上复验,谨慎对待。
策略 · 30 日均线斜率趋势 · 线上运行(airflow recon)
flow_zdiff_ma30_diff30d_eq10:ge0.0001 的 30 日均线斜率趋势(线上运行中)
信号:ge0.0001 每小时转账笔数取 30 日均线,再取该均线的 30 日斜率(diff 720h);
斜率 > 0 做多、斜率 < 0 做空 —— 纯趋势,无阈值 / 无滞回 / 无止损,10% 保证金(eq10)。
这是当前在 airflow eth_live_pipeline_recon DAG 里实盘运行的 matrend 策略
(ma_slope_runner,book yield-ge0001-matrend)。
+12.3%全期收益 · 夏普 0.71 · 最大回撤 3.9%
88 笔binance USDM 永续 · 1h
~90 次翻转45 多 / 45 空(30 天斜率 = 慢趋势)
下方为 30 日均线的 30 日斜率(绿正做多 / 红负做空),上方价格按持仓方向着色。
逐年多为小幅正(2022 +7.1%、2024 +2.9%、2025 +4.0%),2023(−2.0%)、2026(−1.7%)小幅负 —— 温和趋势,评级 D。
它是把"活跃度上升 = 顺势做多、活跃度下降 = 做空"落到线上的最简形式,目前作为独立的 matrend book 实盘跟踪。
策略 · 链上活跃度 MAD-z 极值(趋势方向)
用链上活跃度的极值做趋势信号(MA1d · W20d · TH±1.5)
信号取 ge0.0001(≥0.0001 ETH)每小时转账笔数,先做 1 日移动平均,
再在 20 日窗口内计算稳健 MAD z 分数(以中位数 / MAD 归一,抗离群)。
规则是顺势(trend)而非逆势:z > +1.5 → 做多(活跃度过热)、z < −1.5 → 做空(活跃度枯竭),
仅在触及对侧阈值时才翻转(flip-only,持仓到反向极值)。图中绿色竖线 = 上穿 +1.5 转多,红色竖线 = 下穿 −1.5 转空,灰色虚线 = 已在同侧的重复触碰(不交易)。
+45.9%全期收益 · 夏普 1.24 · 最大回撤 9.3%
122 笔binance USDM 永续 · 1h
逐年为正2025 +19.1% · 2023 +10.0% · 无亏损年
全历史:价格(对数)+ 信号(下方为 MAD-z 及 ±1.5 带)
全历史共 199 次上穿 / 174 次下穿 ±1.5,其中真正翻转 64 多 + 64 空,另有 245 次重复触碰(不交易)。全历史竖线密集,仅供概览。
近 12 个月放大(竖线在此才清晰可读)
绿 / 红阴影为持仓方向(多 / 空)。顺势方向为正:活跃度过热时做多、枯竭时做空。
上方 KPI 为官方 SignalHive 回放(sr_5fb8e1ff9e,含成本):评级 C、夏普 1.24、逐年均为正(2025 +19.1%、2023 +10.0%)。
注:此前研究中该 MAD-z 变体是"健康"的一支(搜索校正 p≈0.09、留出相关 +0.59),但仍属边际信号,需谨慎对待。
方法 · 为什么信号用 MA1d
为什么用 1 日均线:更长的均线会把信号推迟(滞后为实测,非假设)
移动平均会引入滞后。这里不是假设"半个窗口",而是实测:把 ge0.0001 转账笔数的
30 日均线与同一序列的 1 日均线在 −45…+45 天逐位移做互相关,峰值落在 +15 天(corr 0.80,下图) ——
即 30 日均线实测滞后约 15 天(恰约半个窗口);1 日均线滞后可忽略。上图为 30 日均线(红,左轴)与
ETH 价格(蓝,右轴对数),竖线为 30 日均线的 90 日 fractal 拐点(紫=峰、金=谷)。
关键观察:均线的峰 / 谷普遍落在价格转折的右侧(滞后);下方互相关曲线在 +15 天达峰(0.80),把这段滞后量化了。
若用这条 30 日线做信号,等它转向价格早已走完一大段,入场偏晚。因此可交易信号改用 MA1d(几乎无滞后),
把"去噪 / 稳健"交给后面的滚动 z 分数窗口,而不是拉长均线 —— 既保留反应速度,又不牺牲稳健性。
链上分析 · 净合约创建(滞后指标)
净合约创建(new − destroyed)是滞后指标 —— 实测滞后价格约 100 天
取 addresses__new_contracts − addresses__destroyed_contracts 的 30 日均线(红,左轴)与
ETH 价格(蓝,右轴对数)。把两者在 −180…+180 天逐位移做互相关(下图,水平口径),峰值落在
+100 天(corr 0.32) —— 正的位移代表净合约创建滞后于价格,即它落后价格约 3 个多月。
因 destroyed_contracts 在 2021-08-05(EIP-3529)有结构性断点,分析只用断点之后的窗口。
结论:这是一个慢滞后指标 —— 净合约创建随价格大周期走,但要晚约 100 天(且相关只有 0.32、在收益率口径上几乎为 0),
属"水平面上的弱共动",不能用于择时。此外 30 日均线本身还叠加约 22 天的平滑滞后。
与前面的 ge0.0001 交易活跃度(拐点紧随价格)形成对比 —— 并非所有链上序列都同样及时。
链上分析 · 持仓累积热力图(排名层 + 实体类别)
余额累积热力图:滚动 90 天 min-max(1=区间顶/蓝=累积,0=底/橙=派发)
两张热力图口径一致:取各分组的总持仓 ETH,在滚动 90 天窗口内做 min-max 归一
—— 蓝色 = 处于近 90 天区间顶部(在累积)、橙色 = 底部(在派发),黑线为 ETH 价格(对数)。
① 按余额排名分层(全量 vs 剔除实体)
按余额排名分层(前 1–10 … 100k+)。用排名层而非余额区间:互斥、无重分类、滚动无前视。
上=全量地址,下=剔除交易所 / 合约后的真实持有者。
② 按实体类别(实体口径)
注意:托管类方向相反。对 cex 等托管地址,分数高 = ETH 流入交易所(按惯例偏空),分数低 = 流出(偏多);质押 / 借贷等则高分≈资金沉淀增长。
当前:beacon_deposit ~8,900 万 ETH(分数 1.0,仍增)、cex ~1,020 万(0.10 = 近 90 天低位 = 净流出)、lending 0.98、staking_lst 0.00。数据自 2023-08 起(bq_balance_cohorts)。
链上分析 · 排名层每小时周转(rank turnover ①)
Top-N 离场者去了哪里 ①:每小时周转(按排名层)
来自 rank_turnover_app:追踪各余额排名层的地址周转 —— 升级(变富)还是降级(变穷 / 掉出跟踪)。
每个面板的总高度 = 该层每小时周转率:零线上=晋升、下=降级(变穷或掉出前 20 万名);灰条 = 该层净 ETH 变化(上=获得)。
顶部为价格 + 60 天 fractal 极值(look-ahead,仅作标注,非信号)。clean 口径已剔除已标注实体,
但受标注集限制(约 77% 地址仍未标注),视为"改进"而非"干净"。原为可交互(光标贯穿各面板),此处为静态。
链上分析 · 分段净流(rank turnover ②)
②:按价格摆动分段的净 ETH(排名层)+ 汇总表
把相邻两个价格极值(fractal)之间各排名层的净 ETH 变化汇总(level(end) − level(start),精确、抗缺口)。
共 11 段:蓝 = 该层在此段获得 ETH、橙 = 流失;涨 = 低→高的上涨段,跌 = 高→低。
| from | to | days | leg | price% | 1-10 | 11-100 | 101-1000 | 1001-10000 | 10001-100000 | 100001+ |
|---|
| 2023-10-12 | 2024-03-11 | 151 | rally | +164.5 | -53,415 | -356,819 | -777,071 | -991,415 | -606,232 | -383,004 |
| 2024-03-11 | 2024-05-14 | 64 | selloff | -29.2 | -82,266 | -365,690 | -328,754 | -490,965 | -210,877 | -204,981 |
| 2024-05-14 | 2024-05-27 | 13 | rally | +35.2 | -833 | -24,307 | -51,483 | +108,000 | -71,998 | -93,320 |
| 2024-05-27 | 2024-09-06 | 102 | selloff | -42.9 | -9,032 | -368,460 | -244,208 | +21,914 | -222,147 | +108,694 |
| 2024-09-06 | 2024-12-08 | 93 | rally | +80.2 | -45,044 | -103,960 | +45,042 | +191,662 | -206,441 | -298,953 |
| 2024-12-08 | 2025-04-08 | 121 | selloff | -63.3 | +318,249 | -144,381 | +51,636 | +216,514 | -49,676 | -110,756 |
| 2025-04-08 | 2025-08-22 | 136 | rally | +228.0 | +89,440 | +135,886 | +2,129,495 | +3,244,477 | -325,776 | -532,183 |
| 2025-08-22 | 2025-11-21 | 91 | selloff | -42.8 | -674,264 | -1,701,644 | +18,879 | -67,963 | -57,664 | -293,332 |
| 2025-11-21 | 2026-01-14 | 54 | rally | +21.3 | +91,977 | +476,138 | +246,983 | -153,852 | -76,866 | -51,998 |
| 2026-01-14 | 2026-02-05 | 22 | selloff | -45.6 | -2,611 | -107,996 | -815,244 | -623,388 | +81,286 | +29,063 |
| 2026-02-05 | 2026-04-17 | 71 | rally | +32.5 | +47,458 | +416,238 | +563,260 | -65,037 | -23,402 | -10,881 |
| net ETH, all segments | -320,340 | -2,144,995 | +838,536 | +1,389,947 | -1,769,794 | -1,841,651 |
| gained in rally / lost in selloff (coin flip 5.5) | 7/11 | 8/11 | 7/11 | 6/11 | 4/11 | 3/11 |
| complement — lost in rally / gained in selloff | 4/11 | 3/11 | 4/11 | 5/11 | 7/11 | 8/11 |
表格与 app 同版式:每段为一行、各排名层为列(蓝=获得、橙=流失);末列 100001+ 为残余尾部(仅余额口径)。
底部为汇总行:全部段净 ETH、"涨买 / 跌卖"计数(及其互补)。腿按构造交替,两计数互补,仅一个含信息。
链上分析 · 实体归因(rank turnover ③)
③:按标注实体分段的净 ETH + 相关性(汇总表)
同样的分段,但按标注实体归因。各列构成闭集,与"= total supply"对齐;
staked = SplyCur − all_nonzero(不取信标存款合约,后者只记不减、高估约 4 倍)。
| from | to | days | leg | price% | = total supply | (residual holders) | staked (supply - EL) | cex | wrapped_eth | bridge | dead_locked | exploiter | blockprod | lending | dex | foundation | staking_lst | treasury | infra |
|---|
| 2023-10-12 | 2024-03-11 | 151 | rally | +164.5 | -161k | -3,168k | +3,894k | -917k | -197k | +290k | +35k | +0k | -54k | -46k | -10k | -6k | +32k | +0k | -13k |
| 2024-03-11 | 2024-05-14 | 64 | selloff | -29.2 | +23k | -1,684k | +1,011k | +79k | +23k | +496k | -11k | +0k | +17k | +92k | -2k | -1k | +2k | +0k | +0k |
| 2024-05-14 | 2024-05-27 | 13 | rally | +35.2 | +21k | -134k | -40k | +135k | -118k | +40k | -1k | +0k | -13k | +8k | -2k | +0k | +144k | +0k | +0k |
| 2024-05-27 | 2024-09-06 | 102 | selloff | -42.9 | +190k | -713k | +1,423k | -78k | -58k | +462k | +26k | +0k | -42k | -513k | +0k | -179k | -139k | +0k | +0k |
| 2024-09-06 | 2024-12-08 | 93 | rally | +80.2 | +113k | -418k | +503k | +800k | -151k | -478k | -10k | +0k | +5k | -19k | -3k | -8k | -119k | +12k | -0k |
| 2024-12-08 | 2025-04-08 | 121 | selloff | -63.3 | +231k | +282k | +351k | -973k | +25k | +603k | -13k | +0k | +59k | -95k | +19k | -60k | +45k | -4k | -7k |
| 2025-04-08 | 2025-08-22 | 136 | rally | +228.0 | +327k | +4,741k | +212k | -2,314k | -567k | -1,669k | -3k | +0k | -66k | +69k | +13k | -32k | -51k | -8k | +2k |
| 2025-08-22 | 2025-11-21 | 91 | selloff | -42.8 | +230k | -2,776k | +2,136k | -249k | +447k | -48k | +7k | +0k | +126k | -4k | +8k | -169k | +28k | +723k | +1k |
| 2025-11-21 | 2026-01-14 | 54 | rally | +21.3 | +142k | +532k | +371k | -286k | -118k | -54k | +163k | +0k | -26k | +0k | +5k | +165k | +92k | -702k | +0k |
| 2026-01-14 | 2026-02-05 | 22 | selloff | -45.6 | +58k | -1,439k | +2,013k | -151k | -226k | +82k | -69k | +0k | -9k | -112k | +9k | -20k | -20k | +0k | -0k |
| 2026-02-05 | 2026-04-17 | 71 | rally | +32.5 | +194k | +928k | +1,337k | -1,590k | -158k | -13k | -98k | +55k | -59k | -15k | -12k | -82k | -98k | +0k | +0k |
| ETH held now | 121,925,909 | 60,688,802 | 43,333,047 | 11,609,983 | 2,282,541 | 2,197,859 | 820,868 | 316,360 | 213,609 | 163,305 | 94,887 | 86,520 | 69,576 | 21,687 | 5,358 |
| net ETH, all segments | +1,368,275 | -3,848,298 | +13,212,533 | -5,543,490 | -1,098,798 | -289,092 | +25,549 | +54,564 | -62,600 | -634,169 | +24,410 | -391,985 | -84,064 | +21,190 | -17,476 |
| sum of the bucket columns — must equal the total ✓ | +1,368,275 | | | | | | | | | | | | | | |
| gained in rally / lost in selloff (coin flip 5.5) | 5/11 | 7/11 | 5/11 | 6/11 | 2/11 | 3/11 | 5/11 | 3/11 | 3/11 | 7/11 | 3/11 | 6/11 | 5/11 | 5/11 | 6/11 |
| the complement — lost in rally / gained in selloff | 6/11 | 4/11 | 6/11 | 5/11 | 9/11 | 8/11 | 6/11 | 8/11 | 8/11 | 4/11 | 8/11 | 5/11 | 6/11 | 6/11 | 5/11 |
| pearson vs segment price % | -0.085 | +0.461 | +0.071 | -0.505 | -0.708 | -0.741 | +0.107 | +0.006 | -0.591 | +0.371 | -0.230 | +0.272 | -0.081 | -0.157 | -0.202 |
| spearman | -0.200 | +0.209 | -0.209 | -0.109 | -0.573 | -0.618 | +0.273 | -0.339 | -0.600 | +0.491 | -0.491 | +0.373 | -0.045 | -0.084 | +0.109 |
| permutation p (Bonferroni needs < 0.0033) | 0.805 | 0.156 | 0.841 | 0.109 | 0.008 | 0.012 | 0.730 | 0.996 | 0.049 | 0.238 | 0.504 | 0.414 | 0.816 | 0.623 | 0.561 |
表格与 app 同版式:每段为一行、各实体桶为列(值以千 ETH 计,蓝=获得、橙=流失),底部为汇总行(当前持仓、全段净额、校验和、涨买/跌卖及互补、Pearson/Spearman、置换 p)。
相关性为同期(contemporaneous),非预测:WETH(−0.71,p=0.008)、bridge(−0.74,p=0.012)、blockprod(−0.59,p=0.049)在上涨段余额下降(净解包 / 提现假设),但预测版在 1h–90d 各周期均为平。
置换 p < 0.05 者以黑体加粗;样本仅 11 段,Bonferroni 后基本无一显著,仅作描述。