Day 2
【实战1.2】巨鲸钱包追踪:聪明钱的行为模式分析
用Dune追踪巨鲸钱包的链上行为,分析聪明钱的交易模式,建立Whale监控看板
2025-01-30
实战项目Dune巨鲸追踪Whale数据分析聪明钱
实战项目 1.2:巨鲸钱包追踪与分析
项目信息
项目编号:1.2
所属方向:数据分析
难度:⭐⭐⭐ 中级
预计时间:4-6小时
前置技能:Dune SQL 基础、实战 1.1 完成项目目标
> 追踪巨鲸(Whale)钱包的链上行为,分析聪明钱的交易模式,建立可持续监控的看板
为什么要追踪巨鲸?
═══════════════════════════════════════════════════════════
巨鲸定义:
├── 持有大量代币的地址(如 >1000 ETH)
├── 交易量大的活跃地址
├── 知名机构/基金的地址
└── 历史收益率高的"聪明钱"
追踪价值:
├── 发现早期投资机会(跟单)
├── 预警市场大额抛售风险
├── 理解机构级操作策略
└── 产品设计参考(大户需要什么功能)
PM 视角:
├── 大户是协议 TVL 的主要贡献者
├── 大户流失 = 协议健康度下降
└── 了解大户需求,设计 VIP 功能
═══════════════════════════════════════════════════════════任务分解
实战任务清单
═══════════════════════════════════════════════════════════
Task 1: 识别巨鲸地址
├── 定义巨鲸标准(持仓/交易量)
├── 筛选符合条件的地址
└── 交付:巨鲸地址列表
Task 2: 分析巨鲸持仓
├── 查询巨鲸的代币持仓分布
├── 分析持仓集中度
└── 交付:持仓分析表
Task 3: 追踪巨鲸交易行为
├── 分析巨鲸的买卖时机
├── 统计胜率和收益率
└── 交付:交易行为分析
Task 4: 建立监控看板
├── 创建 Dune Dashboard
├── 设置关键指标可视化
└── 交付:Whale 监控 Dashboard
═══════════════════════════════════════════════════════════Task 1: 识别巨鲸地址
方法 1:按 ETH 持仓筛选
-- 查询 ETH 持仓 Top 100 的非合约地址
-- 排除交易所、桥、已知合约
WITH eth_balances AS (
SELECT
address,
balance / 1e18 as eth_balance
FROM ethereum.balances
WHERE token_address IS NULL -- 原生 ETH
AND balance > 0
),
-- 排除已知合约/交易所地址
known_contracts AS (
SELECT address FROM (
VALUES
(0x...) -- Binance
-- 添加更多已知地址
) AS t(address)
)
SELECT
eb.address,
eb.eth_balance,
-- 检查是否为合约
CASE WHEN c.address IS NOT NULL THEN 'Contract' ELSE 'EOA' END as address_type
FROM eth_balances eb
LEFT JOIN ethereum.contracts c ON eb.address = c.address
WHERE eb.address NOT IN (SELECT address FROM known_contracts)
AND c.address IS NULL -- 只要 EOA
ORDER BY eth_balance DESC
LIMIT 100方法 2:按 DEX 交易量筛选
-- 过去 30 天 Uniswap 交易量 Top 100 的地址
SELECT
trader as whale_address,
COUNT(*) as trade_count,
SUM(amount_usd) as total_volume_usd,
AVG(amount_usd) as avg_trade_size,
MIN(block_time) as first_trade,
MAX(block_time) as last_trade
FROM dex.trades
WHERE block_time >= NOW() - INTERVAL '30' DAY
AND project = 'uniswap'
AND amount_usd > 0
GROUP BY trader
HAVING SUM(amount_usd) > 1000000 -- 总交易量 > $1M
ORDER BY total_volume_usd DESC
LIMIT 100方法 3:使用已知标签
-- 利用 Dune 的标签系统查找已知巨鲸
SELECT DISTINCT
address,
name,
category
FROM labels.all
WHERE category IN ('whale', 'fund', 'institution', 'smart_money')
AND blockchain = 'ethereum'
LIMIT 200Task 2: 分析巨鲸持仓
查询巨鲸的 ERC20 持仓
-- 分析特定巨鲸地址的代币持仓
WITH whale_addresses AS (
SELECT address FROM (
VALUES
(0x...), -- Whale 1
(0x...) -- Whale 2
) AS t(address)
),
token_holdings AS (
SELECT
b.wallet_address,
t.symbol,
t.decimals,
b.amount_raw / POWER(10, t.decimals) as balance,
p.price,
(b.amount_raw / POWER(10, t.decimals)) * p.price as value_usd
FROM tokens.balances b
JOIN tokens.erc20 t ON b.token_address = t.contract_address
AND b.blockchain = t.blockchain
LEFT JOIN prices.usd_latest p ON b.token_address = p.contract_address
AND b.blockchain = p.blockchain
WHERE b.wallet_address IN (SELECT address FROM whale_addresses)
AND b.blockchain = 'ethereum'
AND b.amount_raw > 0
)
SELECT
wallet_address,
symbol,
balance,
value_usd,
value_usd * 100.0 / SUM(value_usd) OVER (PARTITION BY wallet_address) as pct_of_portfolio
FROM token_holdings
WHERE value_usd > 1000 -- 只显示价值 > $1000 的持仓
ORDER BY wallet_address, value_usd DESC持仓集中度分析
-- 分析巨鲸持仓的集中度
WITH whale_holdings AS (
-- 上面的查询结果
...
),
concentration AS (
SELECT
wallet_address,
COUNT(DISTINCT symbol) as token_count,
MAX(pct_of_portfolio) as max_single_holding_pct,
-- Top 3 持仓占比
SUM(CASE WHEN rn <= 3 THEN pct_of_portfolio ELSE 0 END) as top3_concentration
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY wallet_address ORDER BY value_usd DESC) as rn
FROM whale_holdings
) ranked
GROUP BY wallet_address
)
SELECT
wallet_address,
token_count,
ROUND(max_single_holding_pct, 2) as max_single_pct,
ROUND(top3_concentration, 2) as top3_pct,
CASE
WHEN max_single_holding_pct > 50 THEN '高度集中'
WHEN top3_concentration > 80 THEN '较为集中'
ELSE '分散投资'
END as concentration_type
FROM concentration
ORDER BY max_single_holding_pct DESCTask 3: 追踪巨鲸交易行为
巨鲸最近交易记录
-- 追踪巨鲸的 DEX 交易历史
WITH whale_addresses AS (
SELECT address FROM (VALUES (0x...)) AS t(address)
)
SELECT
block_time,
tx_hash,
trader,
token_bought_symbol,
token_sold_symbol,
amount_usd,
project as dex,
-- 判断买卖方向(以稳定币为基准)
CASE
WHEN token_sold_symbol IN ('USDC', 'USDT', 'DAI') THEN 'BUY'
WHEN token_bought_symbol IN ('USDC', 'USDT', 'DAI') THEN 'SELL'
ELSE 'SWAP'
END as direction
FROM dex.trades
WHERE trader IN (SELECT address FROM whale_addresses)
AND block_time >= NOW() - INTERVAL '30' DAY
ORDER BY block_time DESC
LIMIT 100巨鲸买卖时机分析
-- 分析巨鲸的买卖时机与 ETH 价格关系
WITH whale_trades AS (
SELECT
DATE_TRUNC('day', block_time) as trade_date,
CASE
WHEN token_sold_symbol IN ('USDC', 'USDT', 'DAI')
AND token_bought_symbol = 'WETH' THEN 'BUY_ETH'
WHEN token_bought_symbol IN ('USDC', 'USDT', 'DAI')
AND token_sold_symbol = 'WETH' THEN 'SELL_ETH'
END as action,
amount_usd
FROM dex.trades
WHERE trader = 0x... -- 特定巨鲸地址
AND block_time >= NOW() - INTERVAL '90' DAY
),
eth_prices AS (
SELECT
DATE_TRUNC('day', minute) as price_date,
AVG(price) as eth_price
FROM prices.usd
WHERE symbol = 'WETH'
AND blockchain = 'ethereum'
AND minute >= NOW() - INTERVAL '90' DAY
GROUP BY 1
)
SELECT
wt.trade_date,
wt.action,
SUM(wt.amount_usd) as total_volume,
ep.eth_price,
-- 与后续价格对比
LEAD(ep.eth_price, 7) OVER (ORDER BY wt.trade_date) as price_7d_later,
(LEAD(ep.eth_price, 7) OVER (ORDER BY wt.trade_date) - ep.eth_price) / ep.eth_price * 100 as pct_change_7d
FROM whale_trades wt
JOIN eth_prices ep ON wt.trade_date = ep.price_date
WHERE wt.action IS NOT NULL
GROUP BY wt.trade_date, wt.action, ep.eth_price
ORDER BY trade_date DESC巨鲸胜率统计
-- 统计巨鲸交易的胜率
WITH whale_eth_trades AS (
SELECT
DATE_TRUNC('day', block_time) as trade_date,
CASE
WHEN token_sold_symbol IN ('USDC', 'USDT', 'DAI') THEN 'BUY'
ELSE 'SELL'
END as action,
amount_usd
FROM dex.trades
WHERE trader = 0x...
AND (token_bought_symbol = 'WETH' OR token_sold_symbol = 'WETH')
AND block_time >= NOW() - INTERVAL '180' DAY
),
with_future_price AS (
-- 结合未来价格判断交易是否盈利
...
)
SELECT
action,
COUNT(*) as total_trades,
SUM(CASE WHEN is_profitable THEN 1 ELSE 0 END) as winning_trades,
ROUND(SUM(CASE WHEN is_profitable THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) as win_rate_pct
FROM with_future_price
GROUP BY actionTask 4: 建立监控 Dashboard
Dashboard 设计
Whale 监控看板结构
═══════════════════════════════════════════════════════════
页面 1: 概览
┌─────────────────────────────────────────────────────────┐
│ [巨鲸总数] [总持仓价值] [24h交易量] [活跃地址数] │
├─────────────────────────────────────────────────────────┤
│ │
│ 巨鲸持仓 Top 10 代币 最近大额交易 │
│ ┌───────────────────┐ ┌───────────────┐ │
│ │ 饼图 │ │ 列表 │ │
│ │ │ │ 时间/地址/ │ │
│ │ │ │ 代币/金额 │ │
│ └───────────────────┘ └───────────────┘ │
│ │
├─────────────────────────────────────────────────────────┤
│ │
│ 巨鲸交易量趋势(折线图) │
│ ────────────────────────────────────────────────── │
│ │
└─────────────────────────────────────────────────────────┘
页面 2: 单个巨鲸详情
┌─────────────────────────────────────────────────────────┐
│ 地址: 0x... 标签: Smart Money │
├─────────────────────────────────────────────────────────┤
│ 持仓分布(饼图) │ 交易历史(时间线) │
│ │ │
├─────────────────────────────────────────────────────────┤
│ 胜率统计 │ 最近买入代币 │
└─────────────────────────────────────────────────────────┘
═══════════════════════════════════════════════════════════关键指标定义
Dashboard 指标定义
═══════════════════════════════════════════════════════════
1. 巨鲸净流入/流出
= 买入量 - 卖出量
用途:判断市场情绪
2. 巨鲸活跃度
= 过去 7 天有交易的巨鲸数 / 总巨鲸数
用途:判断市场热度
3. 巨鲸集中度
= Top 10 巨鲸持仓 / 总巨鲸持仓
用途:判断持仓分布健康度
4. 巨鲸先行指标
= 巨鲸买入后 7 天的价格变化
用途:验证"聪明钱"是否真的聪明
5. 新鲸出现率
= 本周新晋巨鲸数量
用途:发现新的大户
═══════════════════════════════════════════════════════════外部工具参考
现有巨鲸追踪工具
专业巨鲸追踪平台
═══════════════════════════════════════════════════════════
1. Arkham Intelligence (arkham.com)
├── 最强大的链上侦探工具
├── 已标记大量机构/巨鲸地址
└── 免费版功能有限
2. Nansen (nansen.ai)
├── Smart Money 标签系统
├── Token God Mode(追踪聪明钱买什么)
└── 付费订阅
3. DeBank (debank.com)
├── 免费查看任意地址持仓
├── 排行榜功能
└── 社交功能(关注巨鲸)
4. Etherscan Watchlist
├── 免费监控地址
├── 邮件通知
└── 功能较基础
学习建议:
先用免费工具理解巨鲸行为模式,
再用 Dune 自建监控实现定制化需求
═══════════════════════════════════════════════════════════PM 产品思考
巨鲸分析的产品应用
产品设计启示
═══════════════════════════════════════════════════════════
1. 大户专属功能
├── 更低的手续费
├── 专属客服/支持
├── 大额交易保护(拆单、MEV 防护)
└── OTC 服务
2. 跟单功能设计
├── "聪明钱"买入提醒
├── 一键跟单(需要风险提示)
└── 巨鲸持仓变化推送
3. 风控预警
├── 大额流出预警
├── 巨鲸抛售监控
└── 协议 TVL 下降提醒
4. 透明度建设
├── 公开协议国库钱包
├── 团队钱包监控
└── 建立用户信任
═══════════════════════════════════════════════════════════交付检查清单
项目交付要求
═══════════════════════════════════════════════════════════
□ Task 1: 巨鲸识别
├── □ 定义巨鲸筛选标准
├── □ 运行筛选查询
└── □ 输出:至少 20 个巨鲸地址列表
□ Task 2: 持仓分析
├── □ 查询巨鲸持仓分布
├── □ 分析持仓集中度
└── □ 输出:持仓分析报告
□ Task 3: 交易行为
├── □ 追踪最近交易记录
├── □ 分析买卖时机
└── □ 输出:交易行为洞察
□ Task 4: Dashboard
├── □ 创建 Dune Dashboard
├── □ 包含 3+ 可视化图表
└── □ 输出:Dashboard 链接
加分项:
□ 识别出真正的"聪明钱"(胜率 >60%)
□ 发现巨鲸正在布局的新代币
□ 建立巨鲸监控的自动提醒
═══════════════════════════════════════════════════════════学习资源
| 资源 | 链接 | 说明 |
|---|---|---|
| Arkham | arkham.ai | 链上侦探工具 |
| Nansen | nansen.ai | 聪明钱追踪 |
| DeBank | debank.com | 免费持仓查看 |
| Dune Whales | dune.com/labels | 巨鲸标签查询 |
| Whale Alert | whale-alert.io | 大额转账提醒 |
下一个实战项目
实战 1.3: 协议健康度监控(预告)
├── TVL 变化趋势分析
├── 用户留存率计算
├── 协议收入分析
└── 建立协议健康度评分