前提
config.json
里,pairlists
不能是动态的, 得改成静态:
"pairlists": [
{
"method": "StaticPairList"
}
],
然后配置币对
"exchange": {
"name": "binance",
"key": "",
"secret": "",
"ccxt_config": {},
"ccxt_async_config": {},
"pair_whitelist": [
"BTC/USDT",
"ETH/USDT",
"TON/USDT",
"ADA/USDT",
"SOL/USDT",
"XRP/USDT",
"DOGE/USDT",
"DOT/USDT",
"MATIC/USDT",
"AVAX/USDT",
"LINK/USDT"
],
"pair_blacklist": [
"BNB/.*"
]
},
下载数据
进入docker容器, 下载180天历史数据(15m间隔可选, 根据自己的配置来)
freqtrade download-data --exchange binance \
--timeframe 15m \
--days 180
进行回溯测试
这里的WoodStrategy
, 是自己策略的class
名, 如果用示例测试, 就是SampleStrategy
freqtrade backtesting --strategy WoodStrategy
比如我的目前测试策略的回溯结果
然后, 发给gpt进行分析
以下是对 **WoodStrategy** 回测结果的分析与解读:
---
### **1. 回测总体表现**
- **回测时间范围**:2024-12-24 至 2025-01-22(共计 29 天)。
- **交易模式**:**现货交易(Spot)**。
- **初始资金**:1000 USDT。
- **最终资金**:958.83 USDT(亏损 **41.17 USDT**)。
- **总收益率**:**-4.12%**。
- **年化复合增长率(CAGR)**:**-41.09%**(表现极差)。
- **市场整体变化**:**+12.21%**(策略远远跑输市场表现)。
**结论**:短短 29 天内亏损了 **4.12%**,表现不佳,且未能捕获市场整体的上涨趋势。
---
### **2. 盈利能力**
| **指标** | **值** |
|-----------------------------|-------------------------|
| **单笔平均收益率** | **-0.27%** |
| **单笔期望收益** | **-0.09 USDT** |
| **总交易量** | 15,000.386 USDT |
| **平均持仓金额** | 32.19 USDT |
| **日均收益率** | **-0.14%** |
| **收益因子(Profit Factor)** | **0.19**(远低于 1) |
| **夏普比率(Sharpe)** | **-216.43**(负值,严重失败) |
| **索提诺比率(Sortino)** | **-360.25** |
**解读**:
- **收益因子为 0.19**,表明每 1 美元的盈利伴随着 5.26 美元的亏损。
- **Sharpe 和 Sortino 比率为负值**,显示策略在风险调整后的表现非常糟糕。
- **单笔平均亏损 -0.27%**,且日均收益为负,说明策略整体盈利能力较差。
---
### **3. 胜率与盈亏分布**
| **指标** | **值** |
|-----------------------|-------------------------|
| **总交易次数** | 466 笔 |
| **胜率** | **19.5%**(91 胜 / 375 败) |
| **最大连续盈利交易** | 6 笔 |
| **最大连续亏损交易** | 31 笔 |
| **胜单平均持仓时间** | 29 分钟 |
| **亏单平均持仓时间** | 16 分钟 |
**解读**:
- 胜率仅 **19.5%**(远低于 50%),说明策略大部分时间处于亏损状态。
- **最大连续亏损交易高达 31 次**,表明策略可能存在严重的逻辑问题或市场适应性不足。
- **胜单的持仓时间更长(29 分钟)**,但仍无法弥补高频率且短时的亏单。
---
### **4. 各交易对表现**
| **交易对** | **交易次数** | **平均收益率** | **总收益(USDT)** | **胜率** |
|----------------|-------------|----------------|---------------------|----------|
| **SOL/USDT** | 38 | -0.21% | -2.574 | 26.3% |
| **TON/USDT** | 50 | -0.19% | -3.026 | 22.0% |
| **BTC/USDT** | 40 | -0.24% | -3.121 | 12.5% |
| **XRP/USDT** | 32 | -0.32% | -3.168 | 18.8% |
| **ETH/USDT** | 36 | -0.29% | -3.359 | 13.9% |
| **DOGE/USDT** | 39 | -0.31% | -3.947 | 20.5% |
| **LINK/USDT** | 45 | -0.29% | -4.238 | 24.4% |
| **DOT/USDT** | 67 | -0.26% | -5.641 | 20.9% |
| **AVAX/USDT** | 61 | -0.30% | -5.808 | 19.7% |
| **ADA/USDT** | 58 | -0.34% | -6.290 | 15.5% |
**解读**:
- **所有交易对均为亏损**,且亏损幅度接近,说明策略在不同市场环境下均表现不佳。
- 表现最差的交易对为 **ADA/USDT**,总亏损 **-6.29 USDT**,胜率仅 **15.5%**。
- 表现稍好的交易对为 **TON/USDT** 和 **SOL/USDT**,但仍处于亏损状态。
---
### **5. 平仓原因分析**
| **平仓原因** | **平仓次数** | **平均收益率** | **总收益(USDT)** | **胜率** |
|-----------------|-------------|----------------|---------------------|----------|
| **force_exit** | 2 | -0.14% | -0.086 | 0% |
| **exit_signal** | 464 | -0.28% | -41.085 | 19.6% |
| **总计** | 466 | -0.27% | -41.17 | 19.5% |
**解读**:
- 大部分交易因 **exit_signal** 平仓,但平均收益率为 **-0.28%**,表明平仓信号可能存在逻辑问题。
- **force_exit**(强制平仓)虽然占比很小,但未能避免亏损。
- 平仓信号的整体有效性较差,可能需要优化。
---
### **6. 风险与回撤**
| **指标** | **值** |
|----------------------------------|--------------------|
| **最大回撤** | -41.156 USDT (4.12%) |
| **最大账户下跌比例** | 4.12% |
| **绝对回撤** | -41.17 USDT |
| **最低余额** | 958.83 USDT |
| **最高余额** | 999.985 USDT |
**解读**:
- 策略的最大回撤为 **4.12%**,表明策略在短时间内未能有效保护本金。
- 尽管回撤比例不算过高,但短期内亏损幅度已经显著影响账户表现。
---
### **7. 策略总结**
| **指标** | **值** |
|------------------------|--------------------|
| **总交易次数** | 466 |
| **总收益率** | -4.12% |
| **平均持仓时间** | 19 分钟 |
| **胜率** | 19.5% |
| **最大连续亏损交易** | 31 |
| **市场变化** | +12.21% |
| **最大回撤** | -41.156 USDT |
| **利润因子** | 0.19 |
| **风险调整比率(Sharpe)** | -216.43 |
**结论**:
- **策略表现极差**:29 天内亏损了 4.12%,策略未能利用市场上涨趋势。
- **风险收益比失衡**:胜率偏低,且单笔收益率始终为负,导致策略亏损持续扩大。
- **回撤无法控制**:虽然最大回撤比例不算过高,但策略整体缺乏盈利能力。
---
### **优化建议**
1. **平仓信号优化**:
- 针对 **exit_signal** 平仓逻辑进行优化,减少不必要的过早或过晚平仓。
- 可考虑加入动态止盈止损机制,根据市场波动调整平仓触发条件。
2. **筛选交易对**:
- 策略可能不适用于某些交易对(如 ADA/USDT 和 AVAX/USDT),建议通过进一步回测筛选表现较好的交易对。
- 优化交易对的权重分配,减少亏损较大的交易对的占比。
3. **提高胜率**:
- 胜率仅 19.5%,可能是进场信号不够精准。可通过调整指标参数或引入更多过滤条件来提高信号质量。
4. **降低交易频率**:
- 当前日均交易量为 16 笔,过多的交易频率可能导致交易费用和滑点增加,进一步影响收益。
5. **风险管理**:
- 当前策略未能有效限制连续亏损(最大连续亏损 31 笔),建议加入风控模块,如动态仓位管理或限制连续亏损后暂停交易。
---
总体来说,**WoodStrategy** 在当前回测中的表现较差,但通过优化进场/平仓逻辑、筛选交易对和完善风险管理,有望提高策略的盈利能力。
还是需要继续调整呐…