首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python定制层次贝叶斯模型进行加密货币交易|附AI智能体、代码和数据

Python定制层次贝叶斯模型进行加密货币交易|附AI智能体、代码和数据

作者头像
拓端
发布2026-07-17 20:48:13
发布2026-07-17 20:48:13
130
举报
文章被收录于专栏:拓端tecdat拓端tecdat

在加密货币衍生品市场,排行榜按钱包的原始收益率排序。但一个只做了五笔交易的账户涨了300%,大概率是运气——跟着它复制,等于跟着掷硬币。

真正的任务是从有限且嘈杂的交易样本中,估计出一位交易员潜在的可持久技能,并量化我们对这个估计的把握——这正是层次贝叶斯模型的核心价值。

作者信息

Dawei Zhou

麦吉尔大学计算机科学与统计专业,专注金融与数理统计领域。擅长 Python、R、SQL、Stata 及 Wind 数据分析软件,在贝叶斯统计建模与量化策略回测方面有丰富的项目经验。

内容提要

问题定义:从原始收益率中分离技能与运气

模型建构:Normal-Normal → Normal-Inverse-Gamma → PyMC全层次模型

实证检验:三种技能度量对比 + 步进验证 + 复制交易实验

收益归因:逐币复剖揭示资产集中度风险

正文

本文回答的核心问题:(1) 如何从交易员有限的交易记录中分离出真实技能与随机运气?(2) 层次贝叶斯模型的"部分池化"机制如何在小样本场景下抑制虚假信号?(3) 基于后验夏普比率排名,能否在步进式复制交易中优于收益排名和随机选择?(4) 模型的超额收益来源是否具有资产集中性风险?

Abstract: This paper constructs a hierarchical Bayesian model to disentangle latent trader skill from luck using 7.6M on-chain perpetuals trades. A three-level hierarchy (population → trader → trade) with non-centered parameterization yields per-trader posterior Sharpe ratios with full credible intervals. In a continuous walk-forward test, traders flagged as skilled by the Bayesian rule achieve 70% forward profitability (vs. 32% random), and a top-10 copy account ranked by learned skill returns +9.3% with 77% winning copies. An honest per-coin autopsy reveals ~76% of that return concentrated in a single trending asset.

引言

作为一名长期深耕机器学习与量化金融交叉领域的研究者,我曾多次协助机构客户完成"交易信号衰减归因"与"策略绩效稳健性评估"类咨询项目。本文将其中的层次贝叶斯建模经验沉淀为一个对话式AI智能体,完整呈现从数据采集、过滤、模型构建、步进验证到收益归因的全链路。

阅读原文进群获取本文完整代码、数据、AI智能体及更多最新AI见解和行业洞察,可与900+行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路;遇代码运行问题,更能享24小时调试支持。

本文流程概览:模型 v1: Normal-Normal 共轭 (仅均值) → 模型 v2: Normal-Inverse-Gamma (均值+方差 → 夏普比率) → 全层次 PyMC 拟合 (非中心化重参数 → NUTS 采样) → 决策输出: P(技能 > 手续费) > 0.9 → 复制。

1. 技能 vs. 运气

技能是交易员结果中能够延续到未来的那部分;运气则是不能延续的。当交易笔数很少时,两者在原始均值中几乎无法区分——几个偶然的大赢单可以把平庸的交易员送上排行榜榜首,而几笔不走运的亏损也能掩盖真正的高手。

因此,核心问题不是"这个钱包的历史收益是多少",而是"它能持续产生的最佳收益估计是什么,我们有多大把握"。要回答好这个问题,需要同时做到三件事:一种借用群体信息的方法(避免被小样本欺骗),一种显式分离信号与噪声的机制,以及报告不确定性而非仅给出点估计。层次贝叶斯模型正好提供了这三者。

2. 数据:采集与过滤

一个轻量级采集程序订阅了某主流永续合约交易所的 WebSocket 数据流,记录了每个市场每笔成交——时间戳、币种、价格、数量、方向,以及买方和卖方钱包地址。本研究使用一段连续约 93 小时的数据流:7,610,323 笔交易、178 个币种、约 63,700 个独立钱包(其中 45,957 个至少有一条完整的仓位记录)。

从成交到仓位收益。技能的自然度量单位是每笔仓位,而非每笔成交。本文对每个钱包按平均成本法回放其成交记录,每完成一次独立入场→离场的往返即生成一条记录,取其投入资本收益率 r = 盈亏 / 入场名义价值,并做 ±25% 缩尾处理以控制肥尾。

筛选"严肃散户"。本文保留仓位名义价值中位数在 1,000–5,000 的钱包。在此基础上叠加最低活跃度筛选:≥5 笔仓位 → 1,387 位交易员(群体拟合),≥8 → 约 1,000 位(全层次拟合),≥10 → 528 位(指标检验)。每笔仓位扣除 0.09% 的往返吃单手续费。

3. 模型

模型是一个三层结构——群体 → 交易员 → 交易。向下读是生成故事(数据如何诞生),向上读是推断(从交易中学习每位交易员的技能)。技能定义为每位交易员的夏普比率 μᵢ / σᵢ。

3.1

部分池化——核心思想

每位交易员的数据都是一个小而嘈杂的样本。两种简易做法都是错的:不池化(相信每个原始均值——在小样本上过拟合运气),完全池化(假设所有人都是群体均值——忽略真实技能)。层次模型实施部分池化:将所有交易员置于一个共享先验之下,使每个估计值成为交易员自身数据与群体信息的精度加权折中——数据少时强力拉向群体均值,数据多时则几乎不受影响。

每个点代表 1,387 位交易员中的一位(≥5 笔仓位):原始平均收益(x 轴)vs. 模型的技能估计(y 轴),按仓位数量着色。数据稀薄的交易员被强力拉向群体均值(其亮眼均值大多是运气),数据丰厚的交易员则贴近对角线。

3.2

模型 v1——每位交易员的均值(Normal-Normal)

第一版模型将技能视为每笔交易的平均收益 θᵢ。因为 Normal–Normal 是共轭的,每位交易员的后验分布有闭式解——无需采样。在这个数据上:μ_pop ≈ +0.04%/笔,τ ≈ 0.32%,σ ≈ 0.88%——信噪比 τ/σ ≈ 0.37。技能是真实存在的,但相对于逐笔噪声较小。

决策就绪:几位真实交易员分别显示为频率学派 95% 置信区间(灰色)与贝叶斯 95% 可信区间(蓝色,收缩后)。裁定标准只看蓝色贝叶斯区间——只有当该区间完全位于手续费线上方时,才认定为可信的技能。

3.3

模型 v2——每位交易员的均值与方差,技能 = 夏普比率

仅靠均值忽略了风险:两位交易员的平均收益相同,但波动率不同,其技能并不等价。v1 的弱点是共享 σ,因此 v2 给每位交易员自己的方差,并定义技能为夏普比率 Sᵢ = μᵢ / σᵢ。对于未知均值与方差的单个交易员,共轭模型为 Normal–Inverse-Gamma,在 n 笔交易后有闭式流式更新。

一位真实交易员的步进结果。前约 30 笔交易,95% 夏普后验区间跨越零线(不信任),约在第 32 笔交易时清除零线→开始复制,此后夏普后验保持稳定。

3.4

全层次模型训练——逐步分解

要把每位交易员的方差也池化,就需要在均值和和对数波动率上都施加层次先验。此时共轭性被破坏(对 σ 使用对数正态先验没有闭式解),因此使用概率编程:用 PyMC 写出生成模型并采样后验。

生成故事:(1) 世界有 μ_pop, τ_μ, m_logσ, s_logσ;(2) 每位交易员抽取 μᵢ ~ N(μ_pop, τ_μ) 和 σᵢ = exp(N(m_logσ, s_logσ));(3) 每笔交易 rᵢⱼ ~ N(μᵢ, σᵢ);(4) 技能为 Sᵢ = μᵢ/σᵢ。

重参数化(漏斗问题):直接写 μᵢ ~ N(μ_pop, τ_μ) 会造成 Neal 漏斗——修复方法是非中心化形式:μᵢ = μ_pop + z·τ_μ。收敛诊断:R̂ 为约 1.01–1.03,群体层面结论可靠。

3.5

模型输出:每位交易员的后验夏普比率

后验夏普比率及 95% 可信区间——743 位中有 77 位具备可信技能(区间清除零线)。数百笔交易的交易员区间窄、夏普适中(确定但优势温和);40 笔左右交易的交易员夏普更高但区间更宽。

4. 哪种技能定义最优?实证检验

本文并没有先入为主地选择夏普比率——而是将每位交易员的交易记录对半拆分,问前半段上哪种技能度量能最好地预测后半段表现。

三种度量都能预测保留的后半段(秩相关 ρ ≈ 0.25–0.35)。均值最大化原始前瞻收益;夏普比率是最优排名器(ρ = +0.35)且最稳定;每小时收益最差,因为每笔手续费惩罚了它偏好的高频抢跑者。

三种技能度量对比

均值收益:排序能力 0.25(Spearman ρ),前瞻收益最高,中等稳定,忽略风险不适合做规模决策。

夏普比率 (μ/σ):排序能力 0.35,前瞻收益适中,最稳定,最优排名器,直接支持 Kelly 公式。

每小时收益:排序能力低位,前瞻收益最差,不稳定,手续费惩罚高频策略,淘汰。

本文采用夏普比率——鲁棒性强,且直接支持仓位规模确定(Kelly ∝ μ/σ²)。

5. 步进验证:模型真的有效吗?

5.1

技能估计预测下一笔交易

在每位交易员流中的每一个时刻,配对当前后验技能与下一笔仓位的收益。汇集 16,790 个(交易员,时刻)状态,高技能 → 高下一笔收益——Spearman ρ = +0.21。只有前两个十分位组能超过手续费,其余皆亏损。

5.2

超越收益阈值、频率检验和随机选择

同一数据、同一手续费——仅更改"判定技能"的规则:贝叶斯规则胜出(70% 盈利比例,+0.19% 净收益/笔),因为它收缩小样本估计,仅在后验概率足够高时才做出承诺。

5.3

被标记的交易员持续盈利

当模型标记一位交易员后,其后续仓位平均收益 +0.44%(毛值)——远超随机交易员和手续费。

5.4

复制顶级交易员:收益排名 vs. 技能排名

全程在线、步进运行。按学习得到的技能排名回报 +9.3%(77% 胜率),按已实现收益排名回报 +8.5%(54% 胜率),随机十位:−1.0%。

5.5

为什么要"学习"技能而非直接平均?小样本现象

贝叶斯机制恰恰在数据匮乏时体现价值。数据权重 w(k) 从 0 向 1 攀升——在 k≈22 笔交易时跨越 0.5,在 k≈414 笔时达 0.95。贝叶斯优势是真正的小样本现象。

5.6

收益从何而来?逐币复剖

将 438 笔复制仓位逐一归因到具体币种。HYPE 一个币种就占了 231 笔仓位(53%),96% 盈利,贡献了 +7.0%——占整个 +9.3% 收益的 76%。同样被标记的交易员在 BTC(27 笔,30% 盈利,−0.5%)和 ETH(16 笔,44% 盈利,−0.5%)上亏损。96% 的胜率不是币种无关的交易技能——它是对单一趋势资产的集中暴露。

6. 坦诚的局限性

(1) 约 93 小时的一段连续数据流,步进验证证据有力且无前瞻,但仍只是一个市场窗口。

(2) 逐笔优势薄但命中率高——被标记交易员前瞻优势约 +0.44%/笔(毛值),在线前 10 复制账户 77% 的复制仓位盈利。

(3) MCMC 收敛在个别低数据 σᵢ 上属边际水平(R̂ 最高约 1.03)。

(4) 优势集中而非分散——复制账户约 76% 的收益来自 HYPE 在强势方向性行情中的表现;同批被标记交易员在 BTC 和 ETH 上亏损。

答辩高频提问:你的模型在 HYPE 上的 96% 胜率难道不是过拟合到特定行情窗口吗?如何论证方法的普适性?

参考答案:集中度风险恰恰是本文坦诚披露的核心发现。模型的方法是普适的——层次贝叶斯部分池化与步进验证不依赖于任何单一资产——但任何量化模型的评估都受限于观测窗口。与过拟合的区别在于:(1) 步进验证确保了时序上的无前瞻性;(2) 夏普比率对 BTC/ETH 的正确亏损判断证明了模型并非盲目偏好所有交易;(3) 复剖方法本身为部署到更长数据流提供了诊断模板。

7. 总结

核心问题与解决方案

问题一:交易员排行榜上的高收益有多少是运气?→ 解决方案:层次贝叶斯模型通过部分池化,将小样本的极端均值向群体均值收缩——5 笔交易、+2.3% 的钱包,后验可信区间被正确判定低于手续费,不予以复制。

问题二:如何同时量化每位交易员技能的大小和不确定性?→ 解决方案:全层次 PyMC 模型以非中心化重参数化 + NUTS 采样,为每位交易员输出完整的夏普比率后验分布及 95% 可信区间,同时从群体借用方差信息。

问题三:按贝叶斯后验技能排名是否真的优于按已实现收益排名?→ 解决方案:在线前 10 复制账户对比实验显示,学习技能排名(+9.3%,77% 胜率,−0.9% 回撤)在胜率和回撤控制上全面优于已实现收益排名(+8.5%,54% 胜率,−1.5% 回撤),更远高于随机(−1.0%)。

技术创新与业务价值

(1) 共轭 + 概率编程的混合推断架构:在共轭性保持时使用闭式流式更新(O(1) 实时),在共轭性破坏时切换至 PyMC + NUTS 离散批次采样。(2) 非中心化重参数化解决漏斗问题:这是让 ~1,000 位交易员层次模型成功混合的关键工程手段。(3) 逐币复剖方法论:提供了一种将聚合收益分解到资产维度的归因框架。(4) 业务价值:该模型已打包为对话式 AI 智能体,复制者输入钱包地址即可获得该钱包的后验技能评分及可信区间。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档