四月中旬,一个 GitHub ID 为 bwjoke 的交易员把他在 BitMEX 从 2020 年 5 月到 2026 年 4 月的全量账户数据 dump 成 CSV 放上了仓库,14 个文件,85 MB。173,058 笔成交,43,214 笔订单,17,099 条钱包流水——每一笔都带 BitMEX 原始 orderID 和 execID,可核验。
账户从 1.84 XBT 起步,6 年后滚到 96.39 XBT,账面收益倍数 52.4×。这还不算期间已经提现走的 66 XBT(按当下 BTC 价格约 560 万美元)。
这个仓库和我们 dingdingtao 想做的是一件事——把交易透明化到可审计级别,不靠截图,不靠 PPT,直接开放原始 API 数据。区别是他是一次性 dump 六年,我们是实时同步并配复盘。
但作者没写任何策略文档。没有博客,没有推特 thread,没有 README 告诉你"我的系统是什么"。想学他,只能从 173K 成交里反推。
这一篇就干这件事。
前言:证据强度约定
这不是作者亲口说。下面每条结论都会标注证据强度:
- ● 强:可以从全量数据直接量化证明,容错空间小
- ◐ 中:数据支持,但有多种解释路径
- ○ 弱:数据能看出倾向,但不能排除其它解释,只作为线索
所有数字都对应 /tmp/bwjoke-btc/analysis/ 下的脚本输出,SHA256 已校验。后面附完整脚本和原始数据位置。
执行摘要(5 条最稳的结论)
- 摆动交易为主,不是日内也不是长线 ● 中位持仓 19.6 小时,p75 为 2.5 天。60% 的仓位周期在 24 小时内闭合,33% 在 1–3 天。
- 极度偏多,空头是对冲不是主攻 ● 1,209 个仓位周期里 Long 占 73%,贡献 83% 的利润。Long 胜率 65.3% > Short 56.5%。
- Limit 单 + 分批建仓 + 几乎不用硬止损 ● Limit 占成交 65%,Market 34%,Stop 单仅 0.6%。94.5% 的仓位周期涉及多次加仓。
- 利润极度集中在一个牛市年(2021) ● 2021 年一年贡献 +56.3 XBT 已实现 PnL,占全期 60%。2022 熊市只做了 +2.5 XBT,基本是"活着"。
- 2024 起频次骤降,演化为持币 + 减半期反叙事操作 ◐ 2024 全年仅 20 个仓位周期,2025 仅 2 个。2024-04 减半当周作者反而单边卖出(Sell 订单数是 Buy 的 55 倍)。
一、数据全景
上图是 2020-05-01 到 2026-04-17 的 XBT 本位资金曲线(对数轴)。不是美元曲线——作者本位是 BTC,以 BTC 数量衡量。
| 指标 | 数值 |
|---|---|
| 起始(baseline) | 1.83953943 XBT(2020-05-01 第一次完成入金后) |
| 终值 | 96.38685218 XBT |
| 累计倍数 | 52.40× |
| CAGR(XBT 本位) | +96.5%/年 |
| 累计提现 | 66.00 XBT(约 $5.6M @ $85k BTC) |
| 累计入金 | 仅 1.77 XBT 后续补充 |
| 活跃天数 | 1,884 / 2,177 = 86.5%(有成交的天数) |
| 成交笔数 | 173,058 |
| 订单笔数 | 43,214 |
| 交易品种数 | 68 |
| 仓位周期(FIFO 闭合) | 1,209 |
关键注意:累计提现 66 XBT 远超补充入金 1.77 XBT。这意味着六年里作者真实地把赚的 XBT 提走了,这不是纸面复利游戏。
二、核心指标表
| 维度 | 数值 | 解读 |
|---|---|---|
| 胜率 | 62.9% | 1,209 个周期里赢 760 输 449 |
| 盈亏比 | 1.67 | 均盈 +0.367 XBT / 均亏 −0.374 XBT |
| 期望值 | +0.093 XBT / 周期 | 每次出手正期望值约 0.01 BTC |
| 最长连胜 | 29 笔 | — |
| 最长连败 | 9 笔 | — |
| Sharpe(XBT 日度年化) | 1.24 | 合格 |
| Sortino(XBT) | 1.34 | — |
| Calmar(XBT) | 1.20 | MaxDD 纳入的性价比 |
| 最大回撤(全期) | −80.6% | 来自小账户期(详见下文) |
| 日度波动率(XBT) | 2.4% | — |
| 最差单日 | −41.2% | 2020-06-25(小账户期) |
| 最差单月 | −57.2% | 2020-06(小账户期) |
胜率 62.9% + 盈亏比 1.67 的组合,数学上意味着每次交易正期望 0.68 个"单位"利润——在任何量化书里都是"有 edge"的数字,不是运气。但这个 edge 是怎么来的,是下面十节要拆的事。
三、时间框架:他是"日内"还是"长线"?
这是反推最重要的一步——把持仓时长分布画出来,策略性质基本就定了。
1,209 个仓位周期按持仓时长分桶:
< 5 min:19 笔(1.6%)5-60 min:89 笔(7.4%)1-4 h:157 笔(13.0%)4-24 h:395 笔(32.7%)1-3 d:278 笔(23.0%)3-7 d:125 笔(10.3%)7-30 d:118 笔(9.8%)> 30 d:28 笔(2.3%)
分位数:
- p25:5.1 小时
- p50:19.6 小时
- p75:2.5 天
- p90:8.4 天
- p99:59.1 天
→ 结论 ●:这是典型的 Swing trade / 摆动交易。约 55% 仓位在 24 小时内闭合,35% 在 1-7 天,10% 拖得更长。既不是日内剥头皮(那需要 p50 < 1 小时),也不是头寸交易(那需要 p50 > 1 周)。
时间框架随年份的漂移
更有意思的是时间框架随时间推移在变长:
| 年份 | 仓位周期数 | 中位持仓 |
|---|---|---|
| 2020 | 410 | 12.6 小时 |
| 2021 | 402 | 22.7 小时 |
| 2022 | 211 | 30.1 小时 |
| 2023 | 163 | 17.8 小时 |
| 2024 | 20 | 20.1 天 |
| 2025 | 2 | 180 天 |
| 2026 | 1 | 3.4 天 |
2020-2023 每年 160-410 个仓位周期,中位持仓在 12-30 小时之间。2024 开始骤降到 20 个周期,中位持仓跳到 20 天;2025 只开了 2 个周期,中位 180 天。
→ 结论 ●:作者在 2024 之后基本退出高频摆动,进入持币为主 + 极低频摆动的模式。这和大账户进入成熟期后"保存本金 + 吃 beta"的常见路径一致。
四、按年收益拆解
| 年份 | 起始 XBT | 终值 XBT | 收益率(XBT) | 年内 MaxDD |
|---|---|---|---|---|
| 2020(5月起) | 1.77 | 10.54 | +495.6% | −80.6% |
| 2021 | 10.68 | 66.86 | +526.0% | −43.5% |
| 2022 | 67.03 | 69.40 | +3.5% | −19.1% |
| 2023 | 69.44 | 79.78 | +14.9% | −4.8% |
| 2024 | 79.79 | 82.74 | +3.7% | −8.3% |
| 2025 | 82.78 | 93.34 | +12.8% | −4.3% |
| 2026(到 4月) | 93.34 | 96.39 | +3.3% | −0.1% |
2021 一年把账户从 10.7 做到 66.9 XBT,贡献了 6 年总利润的约 66%。2022 熊市做回 +3.5% 算是"活着"。2023 之后进入"稳稳吃 beta + 偶尔开单"的节奏,年年 XBT 本位正收益,但不再追求倍数。
已实现 PnL 来源分年(walletHistory 口径)
| 年份 | RealisedPNL(XBT) | Funding(XBT) | 合计 |
|---|---|---|---|
| 2020 | +8.77 | 0.00 | +8.77 |
| 2021 | +56.32 | 0.00 | +56.32 |
| 2022 | +2.47 | 0.00 | +2.47 |
| 2023 | +10.44 | 0.00 | +10.44 |
| 2024 | +2.54 | +0.42 | +2.95 |
| 2025 | +9.59 | +1.02 | +10.61 |
| 2026 | +3.07 | −0.03 | +3.05 |
资金费率贡献非常小(2024-2026 累计 +1.4 XBT),说明他不是 funding / basis 套利者——这条排除了一种假设。
五、多空偏好
| 方向 | 仓位周期 | 胜率 | 累计 PnL |
|---|---|---|---|
| Long | 880(73%) | 65.3% | +93.07 XBT |
| Short | 329(27%) | 56.5% | +18.73 XBT |
→ 结论 ●:
- 笔数上 Long : Short = 约 2.7 : 1
- 利润贡献 Long 83% / Short 17%
- Long 胜率比 Short 高 8.8 个百分点
- 结合 2024 之后演化为持币—— 作者骨子里是多头,空头用作对冲或高位减仓,不是主战场
这和 BTC 6 年本身长期向上 beta 是一致的。先顺 beta,再用空头做战术,而不是试图做对冲中性。
六、品种选择
总共 68 个交易品种,但贡献极度集中:
| 品种 | 仓位周期 | 累计 PnL | 胜率 | 中位持仓 |
|---|---|---|---|---|
| ETHUSD | 211 | +43.98 XBT | 62.6% | 12.5 h |
| XBTUSD | 561 | +41.12 XBT | 59.9% | 13.3 h |
| LTCUSD | 59 | +8.08 XBT | 59.3% | 22.2 h |
| XRPUSD | 76 | +4.51 XBT | 67.1% | 15.2 h |
| DOGEUSDT | 26 | +4.20 XBT | 76.9% | 1.5 d |
| DOGEUSD | 47 | +2.78 XBT | 68.1% | 3.6 d |
| TRXH21 | 10 | +0.77 XBT | 60.0% | 1.7 d |
两个违反直觉的观察:
-
ETHUSD 贡献 > XBTUSD。虽然 XBTUSD 成交笔数是 ETHUSD 的 2.6 倍(561 vs 211 个 cycle),但 ETH 的盈利总额反而略高。ETH 效率更高。可能原因:ETH 波动率高于 BTC,做对了放大器效应更强。
-
山寨贡献小但胜率不低。DOGEUSDT 胜率 76.9%、XRPUSD 67.1% —— 不是"山寨一把梭被套",而是小仓位试水,做对就跑。
另外 68 个品种里有大量季度合约(XBTZ20 / XBTH21 / ETHM21 / TRXH21 等)。这些多数仓位周期少、交易量小、PnL 贡献 < 1 XBT —— 更像策略试验或小额对冲,不是主力。
七、订单类型:他是挂单派还是追市价派?
160,413 笔 Trade 成交按 ordType 分布:
| ordType | 笔数 | 占比 |
|---|---|---|
| Limit | 104,466 | 65.1% |
| Market | 54,865 | 34.2% |
| Stop | 1,051 | 0.66% |
| StopLimit | 31 | 0.02% |
订单生命周期(43,214 笔订单):
- Filled: 31,233(72%)
- Canceled: 11,780(27%)
- Rejected: 186(0.4%)
- New: 15
滑点(Limit 单,avgPx vs 委托 price):
- 均值:−1.55 bps(负 = 对作者有利)
- 中位数:0 bps
→ 结论 ●:作者是挂单派,65% 成交来自 Limit,均撤单率 27%(说明他主动调整挂单)。Limit 的平均滑点为负——他的 Limit 大多精确成交,甚至有轻微的做市返佣效果。
Stop 单只有 0.66%。"几乎不用硬止损"是这份数据里最反直觉、也是最关键的一条结论。主流教科书说"新手的第一条纪律是带止损",而这个做到 52× 的账户几乎不用它。
不用硬止损,怎么做到胜率 62.9% + MaxDD 近年一直 < 20% 的?下一节解释。
八、仓位管理:分批建仓 + 分批减仓,而不是一枪 all-in
如果不用硬止损,风控靠什么?答案是仓位管理 + 分批节奏:
- 94.5% 的仓位周期涉及加仓(不是单进单出)
- 平均每个周期 64.3 次"加仓"动作(FIFO 拆分粒度)
- 中位数 18 次加仓,p90 为 140 次,p99 为 843 次
这个"加仓"数字这么大有两个原因:
- FIFO 分拆得细——一个名义仓位被多次部分成交
- 确实存在金字塔式加仓——随行情运行逐步堆仓
对照"一笔仓位 = 一次下注"的朴素认知,作者的风格是:一个判断里分十几次进、十几次出。这让单次"错判"的代价被稀释——你不是在等止损被触发,而是在仓位构建过程中就持续调整方向。
这和 Stop 单占比 0.66% 是一对互补证据。他不用硬止损,是因为他从来没有过"一次性全仓位"需要止损。
九、什么时候下单?
按 UTC 小时聚合成交数:
- 最活跃:14-20 UTC(每小时 7,800-9,300 笔)
- 最低谷:02-05 UTC(每小时 4,400-5,100 笔)
- 活跃 / 低谷 比 ≈ 1.8×
UTC 14-20 = 北京时间 22:00-04:00 = 美东时间 09:00-15:00。
→ 结论 ◐:时段有明显偏好,不是 24h 机械均匀:
- 作者很可能是美东作息或中国晚间作息
- 下单集中在欧美盘 + 美盘开盘后
- 亚洲早盘(北京 10:00-16:00 = UTC 02-08)反而是最冷的时段
- 不是全天候算法——如果是纯程序化,小时分布会更平坦
按年的下单节奏
2024 之后每年只有 1-20 个仓位周期,意味着作者不再是每天交易者。他变成了偶尔开单 + 长期持币 + 定期提现的一个状态。
十、重大事件日:他怎么应对?
选了 8 个事件日,统计每个事件 ±3 天窗口内的成交:
| 事件 | 日期 | 窗口 fills | XBTUSD Buy 笔 | XBTUSD Sell 笔 | 倾向 |
|---|---|---|---|---|---|
| 519 大崩 | 2021-05-19 | 3,198 | 434 | 655 | 高频双向,略偏空 |
| LUNA 崩溃 | 2022-05-09 | 550 | 153 | 194 | 略偏空 |
| 三箭爆雷 | 2022-06-18 | 13 | 3 | 5 | 几乎停手 |
| FTX 崩溃 | 2022-11-08 | 379 | 95 | 142 | 略偏空 |
| BTC 新高 73k | 2024-03-14 | 271 | 64 | 153 | 高位卖出 |
| 第 4 次减半 | 2024-04-20 | 259 | 4 | 223 | 单边卖出 |
| 亚洲抛售日 | 2024-08-05 | 346 | 97 | 249 | 继续卖 |
| 关税冲击 | 2025-04-07 | 327 | 206 | 121 | 抄底买入 |
两个最有意思的点:
减半当周 Sell / Buy = 55 : 1,几乎单边卖。这和所有"减半利好"叙事相反。
关税冲击当周 Buy / Sell = 1.7 : 1,他在恐慌里抄底——不是被动持币,是主动加仓。
→ 结论 ◐:作者有独立判断,不被减半叙事绑架,也不在顶部追高。"高位减仓 + 真实恐慌时买入" 是贯穿事件日的行为模式。
但这是反推,可能有其它解释:
- 减半前可能是提前买好了,减半当天只是获利了结
- 关税冲击周 Buy 也可能是被动平空仓
- 事件日的 Sell/Buy 笔数不等于净仓位变化
证据强度只标 ◐ 中。
十一、盈亏分布:他靠什么赚钱?
1,209 个仓位周期的 PnL(XBT)分布:
- 中位 PnL:+0.016 XBT
- 均值 PnL:+0.093 XBT
- 最大单笔盈利:+6.86 XBT(单笔够账户翻近 7%)
- 最大单笔亏损:−2.71 XBT
- 盈利最大单笔的 10 倍:盈利前 10 笔合计 +28.4 XBT(占总利润 25%)
→ 结论 ◐:形状明显右偏(长尾在盈利侧):
- 小额盈利数量多(右侧高频柱)
- 极大亏损少(左侧尾巴短)
- 极大盈利偶发(右侧长尾)
这是 Trend following / Swing 的典型 payoff——赢要赢大,输要输少。
但要小心一个解读偏差:均值 0.093 × 1,209 = 112 XBT,这对得上 FIFO 口径总利润 +111.8 XBT。它比 walletHistory 里 RealisedPNL 汇总的 +93 XBT 多 ~18 XBT,差异来自 execComm(手续费/返佣)的时点差异,以及 XBT↔USDt 换算方式不同。走 walletHistory 才是作者对自己的 P&L 口径;FIFO 是我们自己重算的。
十二、反推的系统
把上面十节浓缩成一张"系统画像"卡片。每条标注证据强度。
● 强 - 时间框架 摆动交易(swing),中位持仓 19.6 小时,以 4h - 3d 为主战场。
● 强 - 方向偏好 结构性偏多。Long 73% 笔数贡献 83% 利润;Long 胜率明显高于 Short。
● 强 - 进场方式 Limit 挂单为主(65%),撤单率 27%;Market 占 34% 用于快速应对。几乎不用 Stop 单(0.66%)。
● 强 - 仓位管理 分批建仓 + 分批减仓,94.5% 的周期涉及加仓;不存在单笔 all-in。风控通过仓位结构而非 Stop 单实现。
● 强 - 盈利模式 右偏 payoff(赢大输小)。单笔期望 +0.093 XBT,胜率 62.9%,盈亏比 1.67。
● 强 - 周期与市场 强依赖 BTC 大周期 beta。2021 牛市贡献 66% 利润;2022 熊市勉强正收益;2024-2025 进入"持币 + 低频摆动 + 定期提现"模式。
◐ 中 - 品种 XBTUSD / ETHUSD 双主力,ETH 效率甚至更高。山寨和季度合约只是试验,不是主力。
◐ 中 - 时段与风格 UTC 14-20 活跃(美东作息或中国晚间);不是 24h 程序化,手动主导。
◐ 中 - 事件响应 反减半叙事(2024-04 单边卖),真实恐慌时抄底(2025-04 关税冲击)。有独立判断。
○ 弱 - 策略细节 是否套利 / 基差 / 事件驱动——funding 贡献极小(6 年累计 +1.4 XBT),排除了 basis arbitrage 为主业的可能。但 2020-2021 年大量季度合约(XBTH21/TRXH21 等)交易说明他可能尝试过基差套利,只是不是主力。
十三、这套系统能学吗?
能学到的:
- 胜率 60%+ / 盈亏比 1.5+ 是一个可复现目标,不需要高到离谱。
- 分批建仓不用硬止损 是一条被数据证明的路径(前提是你能管住仓位不飞走)。
- BTC 本位思考 而不是美元本位——在牛熊周期都能保持正收益的关键是以币计价。
- 90%+ 活跃天但每年主战场只打 200-400 次 —— 不是每天找机会,是每天在场、少数时候出手。
- 事件日不跟叙事。减半"利好"被数据证伪,至少对这位作者如此。
不能直接套用的:
- 不用止损需要长年积累的感知。对没有分批建仓肌肉记忆的人,这是灾难。
- 2021 贡献 66% 利润说明这个账户对大牛市依赖很强。2022-2026 五年只做了其余 34%,数学期望对新手不漂亮。
- 小账户期的 −80% 回撤。如果 baseline 是 10 万美元而不是 1.84 XBT,这个回撤在心理上是扛不住的。
十四、对 dingdingtao 的启发
我们正在做的是实时版的同类项目——Binance / OKX 只读 API 同步、每笔订单可核验、每个仓位聚合可追溯。看完 bwjoke 的数据,有四件事是我们该做的:
- 提现数据要公开。"累计从账户提走了多少真金白银"比"累计收益率"更有说服力。资金曲线可以造假,链上提款不行。
- 按年指标卡。把胜率、盈亏比、MaxDD 按年切片展示,而不是一个"历史累计"。
- 仓位周期口径要规范。FIFO 聚合 + 多次加仓合并为一个 cycle,这是正确的"交易单元"。
- 品种贡献拆解默认要有。不要让读者以为主力是 BTC,数据可能告诉你是 ETH 或 SOL。
十五、局限 & 免责
- 这是从数据反推,不是作者亲口陈述。任何"他的系统是 X"都有多重解读空间。
- FIFO 聚合和作者自己的 P&L 口径有约 18 XBT 差异,主要来自 execComm 时点差。
- 事件日窗口内的 Buy/Sell 笔数不等于净仓位变化——笔数只是频次,不代表方向净额。
- 数据截止 2026-04-17。最近两年几乎不交易,不代表未来他还用同一套。
- 本文不构成投资建议。一个账户的 52× 不能线性推导出"跟着做也能 52×"。
附录:数据与脚本位置
原始数据:github.com/bwjoke/BTC-Trading-Since-2020 tag data-2026-04-18-fix2
我们本地校验过的 SHA256(可核对):
execution 2bcb46e6b81b7dab98a3bf570322e7e8581e204af650db7dd2141bc8c62228e1
order 3af35659903bf9b1dfdb4c4a5524da56d65981451919d884f7a71e08b09050c4
walletHist ba3cd4258296e9704202a2286a90e9324652f94549632418dbc19286e8bf14e0
equity 3a899533db0c50fa219344fbdee0df8260cee2c66435d4ee27ef2a21198d5ce9
分析脚本:我们跑在本地 /tmp/bwjoke-btc/analysis/,5 个 Python 脚本 + DuckDB。关键脚本分工:
01_profile.py:DuckDB 一次聚合全量画像02_positions.py:FIFO 聚合成仓位周期03_risk.py:回撤 / Sharpe / Sortino / 连败分布04_timing.py:时段热图 + 事件日切片06_figures.py:10 张 SVG 图,按 dingdingtao 设计令牌配色
原始 CSV 备份:已冷备到 Supabase Storage external-datasets/bwjoke-btc-2020-04-18-fix2/(含 analysis 脚本打包),以防原仓库哪天下架。
全部可复现。如果你在数据里发现了与本文不同的结论,我很乐意听——这是反推,不是定论。