返回知识库
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 200

Task 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 DESC

Task 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 action

Task 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%)
□ 发现巨鲸正在布局的新代币
□ 建立巨鲸监控的自动提醒
═══════════════════════════════════════════════════════════

学习资源

资源链接说明
Arkhamarkham.ai链上侦探工具
Nansennansen.ai聪明钱追踪
DeBankdebank.com免费持仓查看
Dune Whalesdune.com/labels巨鲸标签查询
Whale Alertwhale-alert.io大额转账提醒

下一个实战项目

实战 1.3: 协议健康度监控(预告)
├── TVL 变化趋势分析
├── 用户留存率计算
├── 协议收入分析
└── 建立协议健康度评分