2308 字
12 分钟
策略性能分析
总收益 vs 平均收益
总收益(Total Profit)
整个回测期间的累计盈利。
示例:
Total profit: 3.64 USDT (0.36%)解读:
- 1000 USDT 本金,赚了 3.64 USDT
- 总收益率 0.36%
局限性:
- 不考虑交易次数
- 不考虑时间长度
- 不考虑风险
平均每笔收益(Avg Profit per Trade)
每笔交易的平均盈利。
示例:
Avg. profit per trade: 0.52%解读:
- 每笔交易平均赚 0.52%
- 反映单笔交易质量
重要性:
- ✅ 比总收益更能反映策略质量
- ✅ 高平均收益 = 高效策略
- ⚠️ 需结合交易次数综合判断
对比示例
| 策略 | 交易次数 | 总收益 | 平均收益 | 评价 |
|---|---|---|---|---|
| 策略 A | 100 | +10% | +0.1% | ❌ 低效:交易多,收益低 |
| 策略 B | 10 | +10% | +1.0% | ✅ 高效:交易少,收益高 |
| 策略 C | 50 | +10% | +0.2% | ⭐ 平衡:适中 |
结论:策略 B 最优秀,因为用更少的交易达到同样收益。
胜率 vs 盈亏比
这是策略分析中最重要的一对指标。
胜率(Win Rate)
盈利交易占总交易的百分比。
计算公式:
胜率 = 盈利交易次数 / 总交易次数 × 100%示例:
Win rate: 85.7% (6 wins / 7 trades)分类:
- 高胜率:> 70%
- 中等胜率:50-70%
- 低胜率:< 50%
盈亏比(Profit Factor / Risk-Reward Ratio)
平均盈利与平均亏损的比率。
计算公式:
盈亏比 = 平均盈利 / 平均亏损示例:
- 平均盈利:+2%
- 平均亏损:-1%
- 盈亏比:2:1
胜率与盈亏比的关系
这是一个经典的权衡:
| 类型 | 胜率 | 盈亏比 | 交易风格 | 心理压力 |
|---|---|---|---|---|
| 高胜率低盈亏比 | 70-90% | 1:1~ 1.5:1 | 频繁小盈利 | 低 |
| 平衡型 | 50-70% | 1.5:1~ 2:1 | 适中 | 中等 |
| 低胜率高盈亏比 | 30-50% | 3:1~ 5:1 | 偶尔大盈利 | 高 |
盈利模型计算
高胜率低盈亏比策略:
胜率:80%,平均盈利:+1%,平均亏损:-1%期望收益 = 0.80 × 1% + 0.20 × (-1%) = 0.6%低胜率高盈亏比策略:
胜率:40%,平均盈利:+5%,平均亏损:-2%期望收益 = 0.40 × 5% + 0.60 × (-2%) = 0.8%结论:低胜率策略收益更高,但需要承受更多连续亏损。
你的策略属于哪种?
判断标准:
if 胜率 > 70% and 盈亏比 < 2: print("高胜率低盈亏比 - 适合保守投资者")elif 胜率 < 50% and 盈亏比 > 3: print("低胜率高盈亏比 - 适合激进投资者")else: print("平衡型策略 - 适合大多数人")最大回撤(Max Drawdown)
定义:从资金最高点到最低点的最大跌幅。
计算示例:
初始资金:$1,000最高点:$1,200 (2025-09-15)最低点:$1,080 (2025-09-22,在最高点之后)
最大回撤 = (1,080 - 1,200) / 1,200 = -10%回撤分级
| 回撤幅度 | 评级 | 心理承受 | 恢复难度 |
|---|---|---|---|
| < 5% | 🟢 优秀 | 容易接受 | 很容易 |
| 5-10% | 🟡 良好 | 可以接受 | 容易 |
| 10-20% | 🟠 警惕 | 心理压力 | 需要时间 |
| > 20% | 🔴 危险 | 难以承受 | 很困难 |
为什么回撤很重要?
恢复所需涨幅:
回撤 10% → 需要上涨 11.1% 才能回本回撤 20% → 需要上涨 25% 才能回本回撤 50% → 需要上涨 100% 才能回本结论:回撤越大,恢复越难,风险越高。
长回撤期的影响:
- 资金长时间无法增长
- 心理压力增大
- 可能错过其他机会
Sharpe Ratio(夏普比率)
风险调整后的收益率,衡量每承担 1 单位风险获得多少超额收益。
计算公式:
Sharpe Ratio = (策略收益 - 无风险收益) / 收益标准差解读标准:
Sharpe > 3.0 🟢 优秀 - 极佳的风险收益比Sharpe 2.0-3.0 🟡 良好 - 可接受的风险收益比Sharpe 1.0-2.0 🟠 一般 - 风险略高Sharpe < 1.0 🔴 差 - 风险过高Sharpe < 0 ⛔ 亏损 - 还不如无风险投资示例对比:
策略 A: 收益 10%, 标准差 5%, Sharpe = 2.0策略 B: 收益 15%, 标准差 10%, Sharpe = 1.5
结论: 策略 A 更优秀(风险调整后收益更高)Sortino Ratio(索提诺比率)
只考虑下行风险的 Sharpe Ratio(更合理)。
区别:
- Sharpe:惩罚所有波动(包括向上波动)
- Sortino:只惩罚向下波动(更符合投资者关注点)
解读:
Sortino > Sharpe → 策略向上波动多于向下波动(好事)Sortino ≈ Sharpe → 策略上下波动对称Sortino < Sharpe → 策略向下波动更剧烈(坏事)交易频率的影响
| 交易次数 | 频率 | 优点 | 缺点 |
|---|---|---|---|
| > 100/月 | 超高频 | 充分利用资金 | 手续费高,滑点大 |
| 30-100/月 | 高频 | 机会多 | 手续费显著 |
| 10-30/月 | 中频 | 平衡 ✅ | 需要耐心 |
| < 10/月 | 低频 | 信号质量高 | 资金利用率低 |
手续费成本计算
手续费模型
# Binance 现货交易手续费(无优惠)maker_fee = 0.1% # 挂单手续费taker_fee = 0.1% # 吃单手续费
# 一次完整交易(买入 + 卖出)round_trip_fee = 0.1% + 0.1% = 0.2%手续费对收益的影响
案例 1:高频策略
交易次数:100 次/月平均每笔收益:+0.5%手续费:0.2% × 100 = 20%
净收益 = 50% - 20% = 30%(手续费吃掉 40% 利润)案例 2:低频策略
交易次数:10 次/月平均每笔收益:+2%手续费:0.2% × 10 = 2%
净收益 = 20% - 2% = 18%(手续费只吃掉 10% 利润)盈亏平衡点
要想盈利,平均每笔收益必须超过手续费:
最低盈利要求 > 0.2%(一次完整交易)
如果平均收益 0.5%:净收益 = 0.5% - 0.2% = 0.3%(可接受)
如果平均收益 0.3%:净收益 = 0.3% - 0.2% = 0.1%(勉强)
如果平均收益 0.15%:净收益 = 0.15% - 0.2% = -0.05%(亏损!)过度交易的风险
过度交易的信号:
- ✅ 交易次数 > 100/月(5m 时间框架)
- ✅ 平均每笔收益 < 0.3%
- ✅ 手续费占总收益 > 30%
- ✅ 大量小盈小亏交易
后果:
- 手续费侵蚀利润
- 滑点损失增加
- 策略过拟合风险
- 交易所风控风险
退出原因统计
Freqtrade 回测报告会显示每笔交易的退出原因:
退出原因类型
| 退出原因 | 说明 | 理想占比 |
|---|---|---|
| roi | ROI 止盈退出 | 30-50% |
| exit_signal | 卖出信号触发 | 20-40% |
| trailing_stop_loss | 跟踪止损 | 10-20% |
| stop_loss | 固定止损 | < 20% |
| force_exit | 强制平仓(回测结束) | 0-5% |
退出原因分析
示例报告
EXIT REASON STATS┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┓┃ Exit Reason ┃ Exits ┃ Wins ┃ Avg Profit % ┃┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━┩│ roi │ 45 │ 45 │ 2.1% ││ exit_signal │ 28 │ 25 │ 0.8% ││ trailing_stop_loss │ 15 │ 15 │ 3.5% ││ stop_loss │ 12 │ 0 │ -5.0% │└──────────────────────┴────────┴───────────┴──────────────┘解读
ROI 止盈(45 次,100% 胜率):
- ✅ 策略能够快速达到止盈目标
- ✅ 平均 2.1% 收益,效果良好
- 占比 45%,说明策略趋势把握准确
退出信号(28 次,89% 胜率):
- ✅ 大部分退出信号是盈利的
- ⚠️ 3 次亏损退出,可能是信号过早
- 平均 0.8% 收益,低于 ROI
跟踪止损(15 次,100% 胜率):
- ✅ 全部盈利,说明跟踪止损设置合理
- ✅ 平均 3.5% 收益,最高的退出方式
- 成功锁定了大部分利润
固定止损(12 次,0% 胜率):
- ❌ 全部亏损,平均 -5%
- ⚠️ 占比 12%,可以接受
- 如果占比 > 30%,需要调整策略
问题诊断
问题 1:止损占比过高(> 30%)
原因:
- 止损设置过紧
- 入场时机不佳
- 市场波动过大
解决方案:
- 放宽止损范围(如 -5% → -7%)
- 增加入场确认条件
- 启用跟踪止损
问题 2:强制退出占比高(> 10%)
原因:
- 策略持仓时间过长
- 缺少明确的退出信号
- ROI 设置过高
解决方案:
- 添加退出信号
- 调整 ROI 梯度
- 设置最大持仓时间
问题 3:ROI 占比过低(< 20%)
原因:
- ROI 设置过高,难以达到
- 策略捕捉不到大趋势
- 退出信号过早触发
解决方案:
- 降低 ROI 目标
- 优化入场时机
- 调整退出信号逻辑
持仓时间分析
平均持仓时间
示例:
Avg. holding time: 4h 35m分类:
- < 1h:超短线
- 1-6h:短线
- 6-24h:日内
- > 24h:波段
持仓时间与收益的关系
理想曲线
收益 ↑ │ ┌────────── (ROI 止盈区) │ ╱ │ ╱ │ ╱ │ ╱────┼──────────────────→ 持仓时间 │ │ (盈利增长)问题曲线 1:时间拖累
收益 ↑ │ ┌───┐ │ ╱ ╲ │╱ ╲___ (利润回吐)────┼───────────────→ 持仓时间问题:持仓过久,利润回吐 解决:缩短 ROI 梯度时间
问题曲线 2:过早退出
收益 ↑ │ │ │ │ │ │ (频繁小盈利)────┼─┴─┴─┴─┴───────→ 持仓时间问题:未能捕捉大趋势 解决:放宽退出条件,使用跟踪止损
持仓时间分布
理想分布:
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┓┃ Duration ┃ Trades ┃ Avg Profit ┃┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━┩│ < 1h │ 15 │ 0.5% ││ 1-4h │ 40 │ 1.2% ││ 4-12h │ 30 │ 2.5% ││ > 12h │ 15 │ 3.8% │└────────────┴────────┴────────────┘分析:
- 持仓时间越长,收益越高(正常)
- 大部分交易在 1-4h(策略主战场)
- 少量长线交易贡献高收益
隔夜风险
如果策略持仓超过 24 小时,需要考虑:
风险因素:
- 美股收盘影响
- 亚洲开盘波动
- 突发新闻事件
- 周末缺口
应对措施:
# 避免隔夜持仓(高级功能)def custom_exit(self, pair, trade, current_time, **kwargs): # 如果持仓超过 20 小时,强制退出 if (current_time - trade.open_date_utc).seconds > 72000: return 'holding_too_long'支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
最后更新于 2026-01-06,距今已过 43 天
部分内容可能已过时