关于 wallet-profiling
wallet-profiling 是面向 Solana 交易分析人员的工作流指南,可根据交易行为分类钱包并衡量表现与风险。它提供指标计算、数据源说明,以及单钱包和多钱包分析脚本。
主要功能
- 01按交易风格、规模和行为分类
- 02计算胜率、ROI、利润因子与回撤
- 03分析活动频率、持仓时长和代币多样性
- 04评估跟单条件与风险信号
- 05生成单钱包画像或多钱包比较报告
适用场景
- 01筛选历史表现稳定的跟单候选钱包
- 02判断大额持仓者的交易风格
- 03评估代币持有者的行为与风险
- 04比较多个钱包的表现指标
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill wallet-profiling安装后在 Claude Code 中输入/wallet-profiling确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/classification_methods.mdperformance_metrics.mdscripts/compare_wallets.pyprofile_wallet.py详细介绍
钱包画像
对 Solana 钱包进行行为分类、表现分析和交易风格检测。对任意钱包进行画像,了解其交易方式、表现如何,以及是否值得关注。
钱包画像为何重要
评估跟单交易
在跟随另一个钱包交易之前,你需要证据证明其历史表现真实、稳定,而非源于一次幸运交易。画像会量化胜率、利润因子、持仓时间和稳定性,帮助你做出明智的判断,确定哪些钱包值得关注。
识别聪明资金
持续早期买入代币并盈利退出的钱包是重要信号来源。画像可将真正有实力的交易者与幸运赌徒、刷量交易机器人区分开来。关键区别包括:利润因子持续高于 2.0、在 100 笔以上交易中胜率高于 45%,以及代币选择多元化。
对手方分析
当某个大额钱包进入你持有的头寸时,了解其历史行为(狙击手还是持有者、机器人还是人类)有助于你预测接下来会发生什么。狙击手钱包买入,可能意味着即将快速抛售;波段交易者买入,则表明其看好多日走势。
风险评估
分析代币持有者时,了解大户是机器人、狙击手还是真正的投资者会很有帮助。若某个代币的持有者中有 60% 被归类为狙击手,其风险特征就与主要由波段交易者持有的代币截然不同。
钱包分类
按交易风格分类
根据所有已平仓交易的持仓时间中位数进行分类:
| 风格 | 持仓时间中位数 | 特征 |
|---|---|---|
| 狙击手 | < 5 分钟 | 在首个区块买入、与 MEV 相关、极快退出 |
| 剥头皮交易者 | 5 分钟 – 1 小时 | 快速动量交易、高频 |
| 日内交易者 | 1 – 24 小时 | 日内持仓、中等频率 |
| 波段交易者 | 1 – 7 天 | 看好多日走势并持有 |
| 持仓者 | > 7 天 | 长期积累、低频交易 |
完整分类算法请参阅 references/classification_methods.md。
按交易规模分类
根据以 SOL 计的交易规模中位数分类:
| 层级 | 交易规模中位数 | 典型行为 |
|---|---|---|
| 巨鲸 | > 100 SOL | 影响市场的建仓,通常会被抢先交易 |
| 大额 | 10 – 100 SOL | 规模显著,但不占主导 |
| 中等 | 1 – 10 SOL | 活跃的散户交易者 |
| 小额 | < 1 SOL | 微型市值代币赌徒、新钱包 |
按行为类型分类
| 类型 | 检测方法 |
|---|---|
| 机器人 | 交易间隔时间方差低(CV < 0.3)、交易规模统一 |
| 人类 | 时间间隔多变、交易规模多变、按时段活动 |
| MEV | 三明治交易模式、稳定的小额利润、高频 |
按关注领域分类
| 领域 | 检测标准 |
|---|---|
| PumpFun 专家 | > 70% 的交易涉及由 PumpFun 上线的代币 |
| DEX 交易者 | 主要在 Raydium/Orca/Meteora 上进行兑换 |
| DeFi 农场参与者 | 频繁添加/移除 LP、进行质押操作 |
| NFT 交易者 | 与 NFT 市场有大量交互 |
| 多策略 | 没有任何单一类别超过 50% |
表现指标
核心指标
胜率 — 盈利交易所占的比例。
win_rate = count(pnl > 0) / count(all_closed_trades)
至少需要 30 笔交易才能达到统计显著性。200 笔交易中 60% 的胜率,远比 10 笔交易中 80% 的胜率更有参考价值。
每笔交易平均 ROI — 所有已平仓头寸的平均回报。
avg_roi = mean((exit_value - entry_value) / entry_value)
计入所有费用:平台费用、优先费和预估滑点。
利润因子 — 毛利润与毛亏损的比率。
profit_factor = sum(winning_pnl) / abs(sum(losing_pnl))
解读:> 2.0 为优秀,1.5–2.0 为良好,1.0–1.5 为勉强,< 1.0 表示亏损。
总 PnL — 以 SOL 计的累计盈亏。
total_pnl = sum(all_trade_pnl)
最大回撤 — 累计 PnL 曲线从峰值到谷值的最大跌幅。
drawdown = (peak_equity - trough_equity) / peak_equity
类 Sharpe 比率 — 风险调整后回报指标。
sharpe = mean(trade_returns) / std(trade_returns) * sqrt(trades_per_year)
详细公式、边缘情况和解读指南,请参阅 references/performance_metrics.md。
活跃度指标
| 指标 | 计算方式 | 揭示的信息 |
|---|---|---|
| 每日交易笔数 | total_trades / active_days | 活跃度和交易能力 |
| 平均持仓时间 | mean(exit_time - entry_time) | 验证交易风格 |
| 代币多样性 | unique_tokens / total_trades | 专注与分散程度 |
| 活跃高峰时段 | mode(hour_of_trade) | 交易时段规律、时区线索 |
| 活跃连续天数 | 连续活跃天数 | 投入程度和一致性 |
数据来源
SolanaTracker PnL API(主要来源)
SolanaTracker API 为每个钱包中的每种代币提供预计算的 PnL 数据。
import httpx
url = f"https://data.solanatracker.io/pnl/{wallet_address}"
headers = {"x-api-key": os.getenv("ST_API_KEY")}
resp = httpx.get(url, headers=headers)
pnl_data = resp.json()
响应包含每种代币的:realized、unrealized、total_invested、total_sold、num_buys、num_sells、last_trade_time。
Helius 解析交易(详细数据)
如需进行细粒度的交易级分析,请使用 helius-api 技能获取解析后的交易历史。该数据包含精确时间戳、金额和程序交互信息。
Birdeye 交易者数据
Birdeye 的交易者端点提供钱包级分析。端点详情请参阅 birdeye-api 技能。
DexScreener(免费备用来源)
DexScreener 不提供钱包级 PnL,但可用于验证交易时间戳对应的代币价格。
跟单交易评估框架
跟随钱包交易前,请确认其符合以下标准:
最低要求
- 交易历史:至少 50 笔已平仓交易(最好达到 100 笔以上)
- 时间跨度:活跃至少 30 天
- 表现稳定:滚动 7 天胜率的标准差 < 15%
- 仓位合理:单笔交易不超过观测到的投资组合的 20%
- 代币分散:至少交易过 10 种不同代币
积极信号
- 60 天以上持续保持利润因子 > 1.8
- 胜率为 45–65%(高得不切实际的胜率可能意味着对敲交易)
- 交易频率适中(每天 2–20 笔)
- 持仓时间不一,表明策略能够灵活调整
- 权益曲线平缓增长(而非阶梯式跳升)
风险信号
- 新钱包(使用时间 < 14 天):可能是女巫钱包或昙花一现的账户
- 单笔大额盈利:一笔交易占总 PnL 的 > 50%
- 表现下滑:最近 30 天的指标显著低于历史表现
- 类似机器人模式:交易时间和仓位大小高度一致,却没有相应优势
- 胜率极高:> 80% 往往意味着小额盈利伴随灾难性亏损
- 集中度过高:> 50% 的 PnL 来自单一代币
- 对敲交易信号:反复买卖同一种代币,价格却几乎没有变动
风险评分计算
risk_score = 0 # 0 = low risk, 100 = high risk
if wallet_age_days < 14:
risk_score += 25
if top_trade_pnl_pct > 0.5:
risk_score += 20
if recent_pf < historical_pf * 0.7:
risk_score += 15
if bot_probability > 0.7:
risk_score += 15
if win_rate > 0.8:
risk_score += 10
if unique_tokens < 5:
risk_score += 15
与其他技能集成
whale-tracking:识别大额钱包,再在此处为其建立画像,以了解行为背景token-holder-analysis:为代币的主要持有者建立画像,以评估持有者质量solana-onchain:获取原始交易数据以进行深入分析helius-api:获取解析后的交易历史,以细致重建交易记录birdeye-api:获取代币价格数据以验证 PnL
快速入门
为单个钱包建立画像
# Set environment variables
# export WALLET_ADDRESS=YourTargetWallet...
# export ST_API_KEY=your_solanatracker_key (optional)
python scripts/profile_wallet.py
# Or use demo mode:
python scripts/profile_wallet.py --demo
比较多个钱包
# export WALLET_ADDRESSES=Wallet1...,Wallet2...,Wallet3...
# export ST_API_KEY=your_solanatracker_key (optional)
python scripts/compare_wallets.py
# Or use demo mode:
python scripts/compare_wallets.py --demo
文件
| 文件 | 说明 |
|---|---|
references/classification_methods.md | 持仓时间、规模、机器人检测和专注度分类算法 |
references/performance_metrics.md | 详细的指标公式、解读、边缘情况和衰减检测 |
scripts/profile_wallet.py | 分析单个钱包:获取数据、计算指标、分类并生成报告 |
scripts/compare_wallets.py | 并排比较多个钱包并进行排名 |
依赖项
uv pip install httpx
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
WALLET_ADDRESS | 用于 profile_wallet.py | 要分析的 Solana 钱包地址 |
WALLET_ADDRESSES | 用于 compare_wallets.py | 以逗号分隔的钱包地址 |
ST_API_KEY | 否 | 用于获取 PnL 数据的 SolanaTracker API 密钥 |