6.2 KiB
6.2 KiB
仓位配置方案
UPDATED: 2026-03-28
当前方案: Kelly公式型
配置详情
| 信号等级 | 置信度范围 | 保证金比例 | $1000账户示例 | 5x杠杆仓位 | 10x杠杆仓位 |
|---|---|---|---|---|---|
| A级 | ≥90分 | 10% | $100 | $500 | $1,000 |
| B级 | 70-89分 | 6% | $60 | $300 | $600 |
| C级 | <70分 | 2% | $20 | $100 | $200 |
特点
- ✅ 最大化资金利用率: A级信号用10%仓位,充分利用高质量机会
- ✅ 分级明确: 不同信号等级差异明显(10% / 6% / 2%)
- ✅ 适合小资金: $1000账户也能开有意义仓位($500-$1000)
- ⚠️ 高风险: 单笔最大亏损可能较大,需严格止损
理论基础: Kelly公式
Kelly公式用于计算最优仓位大小:
f* = (p × b - q) / b
其中:
f* = 最优仓位比例
p = 胜率
q = 败率 (1 - p)
b = 盈亏比 (平均盈利/平均亏损)
假设参数:
- A级信号胜率: 65%, 盈亏比 2.0 → Kelly建议 ~22% (我们用10%更保守)
- B级信号胜率: 55%, 盈亏比 1.5 → Kelly建议 ~10% (我们用6%)
- C级信号胜率: 50%, 盈亏比 1.2 → Kelly建议 ~3% (我们用2%)
实际案例
案例 1: Bitget BTC, $1074账户, A级信号
信号置信度: 92% (A级)
账户余额: $1,074
可用余额: $1,074
Step 1: 基础保证金 = $1,074 × 10% = $107.40
Step 2: 最小保证金限制 (BTC) = $85 → 不调整
Step 3: 最大保证金限制 = $1,074 × 10% = $107.40 → 不调整
Step 4: 杠杆限制 (5x) → 不调整
最终保证金: $107.40
杠杆: 5x
持仓价值: $537
BTC数量: 0.00631 BTC
合约张数: 0 张 ❌
问题: 0.00631 BTC / 0.01 BTC/张 = 0.631张 → 不足1张
解决: 调整保证金到 $170
→ 0.01 BTC = 1张 ✅
案例 2: Hyperliquid ETH, $1000账户, B级信号
信号置信度: 78% (B级)
账户余额: $1,000
可用余额: $1,000
Step 1: 基础保证金 = $1,000 × 6% = $60
Step 2: 最小保证金限制 = $50 → 不调整
Step 3: 最大保证金限制 = $1,000 × 10% = $100 → 不调整
最终保证金: $60
杠杆: 5x
持仓价值: $300
ETH数量: 0.0857 ETH ✅ (Hyperliquid支持任意大小)
案例 3: PaperTrading SOL, $10000账户, C级信号
信号置信度: 65% (C级)
账户余额: $10,000
可用余额: $10,000
Step 1: 基础保证金 = $10,000 × 2% = $200
Step 2: 无最小限制 (模拟盘)
Step 3: 最大保证金限制 = $10,000 × 5% = $500 → 不调整
最终保证金: $200
杠杆: 5x
持仓价值: $1,000
SOL数量: 7.14 SOL ✅
风险管理
单笔最大亏损计算
假设止损设置为-3%:
| 信号等级 | 保证金 | 杠杆 | 持仓价值 | -3%亏损 | 占总资金% |
|---|---|---|---|---|---|
| A级 | $100 | 5x | $500 | -$15 | -1.5% |
| A级 | $100 | 10x | $1,000 | -$30 | -3.0% |
| B级 | $60 | 5x | $300 | -$9 | -0.9% |
| C级 | $20 | 5x | $100 | -$3 | -0.3% |
最大持仓限制
除了保证金比例,还有其他限制:
- 平台最大保证金: 单笔不超过余额的10% (Bitget/Hyperliquid)
- 杠杆限制: 总杠杆不超过10x
- 最小保证金:
- Bitget BTC: $85 (10x) / $170 (5x)
- Hyperliquid: $50 (任意杠杆)
- 合约规格 (Bitget):
- 必须是整数张
- BTC: 0.01 BTC/张
- ETH: 0.1 ETH/张
- SOL: 1 SOL/张
与其他方案对比
方案对比表
| 方案 | A级 | B级 | C级 | $1000账户A级仓位(5x) | 特点 |
|---|---|---|---|---|---|
| 保守型 | 3% | 2% | 1% | $150 | 风险低,收益慢 |
| 平衡型 | 5% | 3% | 1% | $250 | 风险收益平衡 |
| 激进型 | 8% | 5% | 2% | $400 | 高收益,高风险 |
| Kelly型 (当前) | 10% | 6% | 2% | $500 | 最大化资金效率 |
资金曲线对比
假设10次A级信号,胜率60%,平均盈利4%,平均亏损3%:
保守型 (3%):
- 盈利: 6次 × $150 × 4% = $36
- 亏损: 4次 × $150 × 3% = -$18
- 净收益: +$18 (1.8%)
Kelly型 (10%):
- 盈利: 6次 × $500 × 4% = $120
- 亏损: 4次 × $500 × 3% = -$60
- 净收益: +$60 (6.0%)
Kelly型收益是保守型的3.3倍,但最大回撤也会更大。
调整建议
何时调整
-
降低仓位 (回到平衡型):
- 连续亏损 > 5次
- 账户回撤 > 15%
- 市场极度波动 (VIX > 40)
-
提高杠杆 (保持10%保证金):
- 使用10x杠杆替代5x
- A级信号仓位: $500 → $1,000
- 适合高置信度信号 (≥95%)
动态调整策略
def get_dynamic_position_size(confidence, account, recent_performance):
"""根据近期表现动态调整仓位"""
# 基础比例 (Kelly型)
if confidence >= 90:
base_pct = 0.10
elif confidence >= 70:
base_pct = 0.06
else:
base_pct = 0.02
# 根据近期表现调整
win_rate = recent_performance.get('win_rate_7d', 0.5)
if win_rate < 0.4:
# 近期表现差,降低仓位
base_pct *= 0.7
elif win_rate > 0.7:
# 近期表现好,提高仓位
base_pct *= 1.2
return account['available'] * base_pct
实施检查清单
-
修改
crypto_agent.py中的_calculate_position_size()方法 -
更新文档说明新比例
-
测试A级信号仓位计算
-
测试B级信号仓位计算
-
测试C级信号仓位计算
-
验证Bitget合约张数计算
-
验证Hyperliquid任意大小支持
-
实盘测试并监控
-
根据实盘表现微调
相关配置文件
# crypto_agent.py
# Kelly公式型配置
if confidence >= 90:
base_margin_pct = 0.10 # A级: 10%
elif confidence >= 70:
base_margin_pct = 0.06 # B级: 6%
else:
base_margin_pct = 0.02 # C级: 2%
# 平台限制
PLATFORM_RULES = {
'Bitget': {
'max_margin_pct': 0.10, # 单笔最大10%
'min_margin': {
'BTC': 85, # 10x杠杆
'ETH': 35,
'SOL': 14
}
},
'Hyperliquid': {
'max_margin_pct': 0.10,
'min_margin': 50 # 通用最小$50
}
}