关于 risk-management
面向加密货币及 Solana 交易者的投资组合风险管理技能,提供回撤、敞口和熔断控制框架,并附带分析脚本。
主要功能
- 01投资组合回撤与止损规则
- 02每日及每周亏损限额
- 03集中度与总敞口控制
- 04交易熔断条件
- 05VaR、CVaR 等风险指标
- 06Solana 与 PumpFun 风险指南
适用场景
- 01为账户设置回撤和亏损停交易阈值
- 02限制代币、策略和相关资产敞口
- 03连续亏损或波动激增时调整交易
- 04分析权益曲线并查看风险状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill risk-management安装后在 Claude Code 中输入/risk-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/circuit_breakers.mddrawdown_management.mdexposure_limits.mdscripts/drawdown_analyzer.pyrisk_dashboard.py详细介绍
风险管理
面向加密货币和 Solana 交易的投资组合级风险控制。本技能提供回撤管理、敞口限额、熔断机制和加密货币特有风险因素的框架。
风险管理层级
每项决策都必须遵循以下优先顺序:
- 生存 — 绝不冒账户覆灭的风险。任何单笔交易、单日或单周都不应威胁你继续交易的能力。
- 资本保全 — 保护已有资本。亏损会按几何级数累积;要弥补亏损,需要取得远超亏损幅度的收益。
- 增长 — 只有确保生存和资本保全后,才能追求回报。
违反这一层级(以牺牲生存为代价追求增长)是账户爆仓的主要原因。
投资组合级控制
1. 最大回撤限额
当投资组合从权益峰值开始的回撤达到阈值时,停止交易:
| 账户类型 | 最大回撤 | 措施 |
|---|---|---|
| 保守型 | -15% | 全面停止,审查所有策略 |
| 稳健型 | -20% | 全面停止,恢复交易时将仓位降至最低 |
| 激进型 | -25% | 全面停止,强制进入冷静期 |
恢复计算说明了这一点为何至关重要:-20% 的回撤需要 +25% 才能恢复。-50% 的回撤则需要 +100%。完整恢复表请参阅 references/drawdown_management.md。
2. 每日亏损限额
当每日盈亏(已实现 + 未实现)达到以下比例后,停止开立新仓位:
- 保守型:账户的 -3%
- 稳健型:账户的 -4%
- 激进型:账户的 -5%
每日于 UTC 午夜重置。连续 3 天触及每日限额将触发每周停交易。
3. 每周亏损限额
当每周盈亏达到以下水平后,降低仓位或停止交易:
- 仓位缩减 50%:每周亏损 -5%
- 仅允许最低仓位:每周亏损 -7%
- 全面停止:每周亏损 -10%
4. 集中度限额
任一维度的最大配置比例:
| 维度 | 最大集中度 |
|---|---|
| 单个代币(蓝筹) | 账户的 10% |
| 单个代币(中盘) | 5% |
| 单个代币(小盘) | 2% |
| 单个代币(PumpFun/微盘) | 0.5% |
| 单个板块/叙事 | 30% |
| 单个策略 | 40% |
5. 敞口限额
已投入资本总额的限制:
- 正常情况下:投入 50–80%,现金储备 20–50%
- 风险升高时:投入 30–50%
- 回撤 >10% 时:投入 20–30%
- 同时持有的最大仓位数:根据账户规模为 5–10 个
6. 相关性管理
在抛售期间,加密资产的相关性会超过 0.7。要实现有效分散,需:
- 将所有 Meme 代币视为同一个相关资产类别
- 将 Meme 代币的总敞口限制为相当于一个仓位的规模
- 在不同策略(趋势、均值回归、剥头皮)之间分散,而不只是分散代币
- 监测滚动相关性,并在相关性飙升时降低敞口
按代币类型和策略划分的详细限额请参阅 references/exposure_limits.md。
回撤管理
应对框架
| 回撤 | 状态 | 应对措施 |
|---|---|---|
| 0–5% | 正常 | 继续按满仓位交易 |
| 5–10% | 谨慎 | 将仓位规模缩减 25–50% |
| 10–15% | 警告 | 仅允许最低仓位 |
| 15–20% | 严重 | 停止开立新仓位,仅管理现有仓位 |
| >20% | 紧急 | 全面停止,恢复交易前全面审查 |
恢复要求
| 亏损 | 恢复所需收益 |
|---|---|
| -5% | +5.3% |
| -10% | +11.1% |
| -15% | +17.6% |
| -20% | +25.0% |
| -30% | +42.9% |
| -40% | +66.7% |
| -50% | +100.0% |
这种不对称性会迅速加剧。管理小幅回撤可防止其演变为灾难性亏损。完整框架请参阅 references/drawdown_management.md。
熔断机制
在满足特定条件时限制交易的自动化控制:
基于时间
- 触及每日亏损限额后,24 小时内不进行交易
- 触及每周亏损限额后,进入 48 小时冷静期
- 强制每周安排一天进行复盘(不开立新仓位)
基于亏损
- 连续亏损 3 次 → 将仓位规模缩减 50%
- 连续亏损 5 次 → 仅允许最低仓位
- 连续亏损 7 次 → 停止交易 24 小时,全面复盘
基于波动率
- 投资组合波动率 > 滚动平均值的 2 倍 → 将敞口降低 50%
- 市场范围内发生清算事件 → 暂停所有新入场
- 单个代币波动率飙升 → 退出或收紧止损
情绪(自我评估)
- 识别心态失衡:亏损后的愤怒,以及想要“把亏损赚回来”的冲动
- FOMO:未经充分分析就仓促入场
- 过度自信:连胜后无正当理由地加大仓位
实施详情请参阅 references/circuit_breakers.md。
风险指标
风险价值(VaR)
使用历史收益率估算每日亏损的第 95 百分位数:
import numpy as np
def historical_var(returns: list[float], confidence: float = 0.95) -> float:
"""Calculate historical VaR at given confidence level."""
sorted_returns = sorted(returns)
index = int((1 - confidence) * len(sorted_returns))
return abs(sorted_returns[index])
# Example: 95% VaR of 3.2% means on 95% of days, loss won't exceed 3.2%
预期损失(CVaR)
最差 (1 - 置信度)% 情景下的平均亏损:
def expected_shortfall(returns: list[float], confidence: float = 0.95) -> float:
"""Average loss beyond VaR threshold."""
sorted_returns = sorted(returns)
index = int((1 - confidence) * len(sorted_returns))
tail = sorted_returns[:index]
return abs(sum(tail) / len(tail)) if tail else 0.0
最大回撤
def max_drawdown(equity_curve: list[float]) -> float:
"""Peak-to-trough decline as a fraction."""
peak = equity_curve[0]
max_dd = 0.0
for value in equity_curve:
peak = max(peak, value)
dd = (peak - value) / peak
max_dd = max(max_dd, dd)
return max_dd
其他指标
- 盈亏连胜/连败追踪:检测连胜或连败,为熔断逻辑提供依据
- 滚动夏普比率:30 天滚动风险调整后收益
- 卡玛比率:年化收益 / 最大回撤
- 索提诺比率:收益 / 下行偏差(仅对负波动进行惩罚)
加密货币特有风险
智能合约风险
- 切勿将账户资金的 >5% 分配给单个未经审计的协议
- 通过多个经过审计的协议分散收益策略的风险
- 监控漏洞数据库和社交渠道,及时发现新威胁
Rug Pull 风险
- 仓位大小与代币存续时间成反比:新代币的仓位应更小
- 核实:流动性已锁定、铸币权限已放弃、持有者分布情况
- 结合
token-holder-analysis技能排查风险信号
跨链桥和托管风险
- 在任何单个平台或跨链桥上的资金都不要超过 20%
- 将大部分交易资金存放在自托管钱包中
- 在执行计划中预留跨链桥费用和延迟
MEV 和执行风险
- 为 Solana DEX 交易预留 1–3% 的 MEV/滑点成本
- 网络拥堵时使用优先费
- 详细成本估算请参阅
slippage-modeling技能
相关性飙升
- 市场崩盘时,加密货币的相关性会趋近于 1.0
- 你的“多元化”投资组合可能表现得像单一仓位
- 对投资组合进行压力测试,假设所有仓位同时下跌
PumpFun 风险框架
PumpFun 和类似的 Meme 代币平台需要采用独特的风险管理方法:
核心原则
将每笔 PumpFun 交易都视为可能损失 100%。据此设定仓位大小。
仓位限额
- 单个代币上限:0.1–0.5 SOL
- PumpFun 每日预算:固定额度(例如,每天 2 SOL)
- 切勿超出预算:每日额度用完后立即停止
追踪
- 将 PumpFun 的盈亏与主投资组合分开追踪
- 单独计算 PumpFun 的胜率和期望值
- 不要让 PumpFun 的亏损影响主投资组合的风险限额
风险调整
- PumpFun 不设置止损(入场时即假设可能损失 100%)
- 积极止盈:分批在 2×、3×、5× 退出
- 按时间退出:在几小时内平仓,而非持仓数天
与其他技能集成
position-sizing:使用此技能的风险限额约束仓位大小exit-strategies:熔断机制优先于退出策略(强制退出)portfolio-analytics:反馈投资组合指标以进行风险评估liquidity-analysis:根据可用流动性调整仓位限额slippage-modeling:在风险计算中纳入执行成本
文件
参考资料
references/drawdown_management.md— 回撤计算、应对框架、成因和补救措施references/exposure_limits.md— 按代币类型划分的仓位限额、投资组合限额、相关性管理references/circuit_breakers.md— 所有熔断器类型的实施详情
脚本
scripts/risk_dashboard.py— 投资组合风险仪表板,包含限额检查和颜色状态标示scripts/drawdown_analyzer.py— 权益曲线回撤分析及应对建议
快速开始
# Run the risk dashboard with demo data
python scripts/risk_dashboard.py --demo
# Analyze drawdowns on a demo equity curve
python scripts/drawdown_analyzer.py --demo