第 10 课:Freqtrade交易对选择与测试
⏱ 课时:1.5 小时
🎯 学习目标:学会选择合适的交易对
📚 难度:⭐⭐ 回测实战
📖 课程概览
不同的交易对有不同的特性。选择合适的交易对对策略表现有巨大影响。本课将教你如何评估交易对的流动性、波动率,以及如何构建多交易对组合来分散风险。
10.1 主流币 vs 山寨币
交易对分类
1. 主流币(Blue Chips)
定义:市值前 10-20 的加密货币
代表币种:
- BTC/USDT(比特币)- 市值第一
- ETH/USDT(以太坊)- 市值第二
- BNB/USDT(币安币)- 交易所代币
- XRP/USDT(瑞波币)
- SOL/USDT(Solana)
- ADA/USDT(Cardano)
特点:
- ✅ 流动性好(成交量大)
- ✅ 波动相对稳定
- ✅ 价差小(滑点低)
- ✅ 不易被操纵
- ✅ 信息透明
- ⚠️ 收益相对较低
风险评级:🟢 低风险
2. 中盘币(Mid-Caps)
定义:市值排名 20-100
代表币种:
- MATIC/USDT(Polygon)
- LINK/USDT(Chainlink)
- UNI/USDT(Uniswap)
- AVAX/USDT(Avalanche)
- ATOM/USDT(Cosmos)
特点:
- ✅ 流动性较好
- ⚠️ 波动性较大
- ⚠️ 收益潜力更高
- ⚠️ 风险适中
风险评级:🟡 中等风险
3. 山寨币(Altcoins)
定义:市值排名 100+
特点:
- ❌ 流动性差(成交量小)
- ❌ 波动极大(日波动 20%+)
- ❌ 价差大(滑点高)
- ❌ 容易被操纵
- ❌ 信息不对称
- ⚠️ 高风险高收益
风险评级:🔴 高风险
主流币 vs 山寨币对比
特征 | 主流币 | 中盘币 | 山寨币 |
---|---|---|---|
日均成交量 | > $1B | $100M-$1B | < $100M |
日波动率 | 2-5% | 5-10% | 10-30% |
滑点 | < 0.1% | 0.1-0.3% | > 0.5% |
操纵风险 | 极低 | 低 | 高 |
收益潜力 | 中等 | 较高 | 极高 |
适合新手 | ✅ 是 | ⚠️ 谨慎 | ❌ 否 |
推荐配置
保守型(新手推荐)
100% 主流币
- BTC/USDT: 40%
- ETH/USDT: 40%
- BNB/USDT: 20%
平衡型
70% 主流币 + 30% 中盘币
- BTC/USDT: 30%
- ETH/USDT: 30%
- BNB/USDT: 10%
- SOL/USDT: 15%
- MATIC/USDT: 15%
激进型(有经验者)
50% 主流币 + 40% 中盘币 + 10% 山寨币
- BTC/USDT: 25%
- ETH/USDT: 25%
- SOL/USDT: 20%
- LINK/USDT: 20%
- 其他小币: 10%
10.2 流动性评估
什么是流动性?
定义:资产能够快速买入或卖出而不显著影响价格的能力。
关键指标:
- 24小时成交量
- 订单簿深度
- 买卖价差(Spread)
24小时成交量
评估标准:
优秀:> $500M/天
良好:$100M-$500M/天
一般:$20M-$100M/天
较差:$5M-$20M/天
很差:< $5M/天
查看方法:
访问 CoinMarketCap 或 CoinGecko
案例对比:
BTC/USDT: $25,000M/天 ✅ 优秀
ETH/USDT: $10,000M/天 ✅ 优秀
SOL/USDT: $800M/天 ✅ 优秀
MATIC/USDT: $300M/天 ✅ 良好
DOGE/USDT: $150M/天 ✅ 良好
某小币/USDT: $2M/天 ❌ 很差
订单簿深度
定义:在不同价格水平上挂单的数量。
查看方法:
- 登录 Binance
- 打开交易对页面
- 查看"深度图"(Depth Chart)
评估标准:
深度好:±2% 价格范围内有大量挂单
深度差:±2% 价格范围内挂单稀少
影响:
- 深度好 → 大单不会显著影响价格
- 深度差 → 大单会造成价格剧烈波动
买卖价差(Spread)
定义:最佳买价和最佳卖价之间的差额。
计算公式:
Spread = (卖一价 - 买一价) / 买一价 × 100%
案例:
BTC/USDT:
买一价:$43,500.00
卖一价:$43,500.50
Spread = ($43,500.50 - $43,500.00) / $43,500.00 = 0.0011%
某小币/USDT:
买一价:$0.1000
卖一价:$0.1050
Spread = ($0.1050 - $0.1000) / $0.1000 = 5%
评估标准:
优秀:< 0.01%(主流币)
良好:0.01-0.05%
一般:0.05-0.1%
较差:0.1-0.5%
很差:> 0.5%(山寨币)
流动性对策略的影响
高流动性交易对:
- ✅ 滑点小(执行价格接近回测价格)
- ✅ 回测结果更可信
- ✅ 适合高频策略
- ✅ 大资金可以交易
低流动性交易对:
- ❌ 滑点大(实盘收益远低于回测)
- ❌ 回测结果不可信
- ❌ 不适合高频策略
- ❌ 大资金会影响价格
滑点案例:
回测结果(理想情况):
买入价:$100.00
卖出价:$102.00
收益:+2%
实盘结果(低流动性):
买入价:$100.20(滑点 +0.2%)
卖出价:$101.60(滑点 -0.4%)
收益:+1.4%(损失 30% 的利润!)
10.3 波动率分析
什么是波动率?
定义:价格变动的幅度和频率。
计算方法:
# 日波动率(简化版)
daily_volatility = (high - low) / low × 100%
# 标准差波动率(专业版)
import numpy as np
returns = prices.pct_change()
volatility = returns.std() × 100%
波动率分类
波动率 | 日振幅 | 代表币种 | 适合策略 |
---|---|---|---|
极低 | < 2% | 稳定币对 | 套利 |
低 | 2-5% | BTC, ETH | 趋势跟踪 |
中等 | 5-10% | 中盘币 | 均衡策略 |
高 | 10-20% | 热门山寨币 | 短线突破 |
极高 | > 20% | 小市值币 | 不建议 |
波动率对策略的影响
高波动 vs 低波动
高波动交易对(日振幅 > 10%):
优点:
- ✅ 盈利空间大
- ✅ 容易达到止盈目标
- ✅ 适合短线策略
缺点:
- ❌ 容易触发止损
- ❌ 假突破多
- ❌ 回撤风险大
- ❌ 心理压力大
适合策略:
- 短线突破策略
- 高频交易策略
- 需要放宽止损(-10% 以上)
低波动交易对(日振幅 < 5%):
优点:
- ✅ 稳定性好
- ✅ 回撤小
- ✅ 风险可控
- ✅ 适合新手
缺点:
- ⚠️ 盈利空间小
- ⚠️ 难以达到高止盈目标
- ⚠️ 交易机会少
适合策略:
- 趋势跟踪策略
- 长线波段策略
- 需要降低 ROI 目标(2-5%)
波动率测试
使用 Freqtrade 命令:
# 下载数据
freqtrade download-data -c config.json --pairs BTC/USDT ETH/USDT SOL/USDT DOGE/USDT --days 90 --timeframes 1d
# 查看价格波动
freqtrade plot-dataframe -c config.json --pairs BTC/USDT --timerange 20250701-20250930
手动计算:
访问 TradingView,查看不同交易对的 ATR(Average True Range)指标。
策略适配波动率
调整止损:
# 低波动交易对
stoploss = -0.03 # 3% 止损
# 中波动交易对
stoploss = -0.05 # 5% 止损
# 高波动交易对
stoploss = -0.10 # 10% 止损
调整 ROI:
# 低波动交易对(BTC/ETH)
minimal_roi = {
"0": 0.05, # 5% 目标
"120": 0.03,
"240": 0.01
}
# 高波动交易对(山寨币)
minimal_roi = {
"0": 0.15, # 15% 目标
"60": 0.08,
"120": 0.03
}
10.4 多交易对组合测试
为什么需要多交易对?
单一交易对的风险:
只交易 BTC/USDT:
- BTC 横盘 → 策略无信号 → 无收益
- BTC 崩盘 → 触发止损 → 亏损
多交易对的优势:
- ✅ 分散风险
- ✅ 增加交易机会
- ✅ 平滑收益曲线
- ✅ 降低回撤
多交易对回测
方法 1:配置文件设置
编辑 config.json
:
{
"exchange": {
"pair_whitelist": [
"BTC/USDT",
"ETH/USDT",
"BNB/USDT",
"SOL/USDT",
"XRP/USDT"
]
}
}
运行回测:
freqtrade backtesting \
-c config.json \
--strategy Strategy001 \
--timerange 20250701-20250930
方法 2:命令行指定
freqtrade backtesting \
-c config.json \
--strategy Strategy001 \
--pairs BTC/USDT ETH/USDT BNB/USDT \
--timerange 20250701-20250930
多交易对结果分析
回测报告示例:
BACKTESTING REPORT
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Pair ┃ Trades ┃ Avg Profit ┃ Tot Profit % ┃ Win Rate % ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ BTC/USDT │ 28 │ 1.52 │ 8.45 │ 85.7 │
│ ETH/USDT │ 35 │ 1.38 │ 10.22 │ 82.9 │
│ BNB/USDT │ 22 │ 1.65 │ 7.15 │ 86.4 │
│ SOL/USDT │ 42 │ 0.95 │ 6.83 │ 78.6 │
│ XRP/USDT │ 18 │ 1.12 │ 4.52 │ 77.8 │
├────────────┼────────┼────────────┼──────────────┼────────────┤
│ TOTAL │ 145 │ 1.34 │ 37.17 │ 82.1 │
└────────────┴────────┴────────────┴──────────────┴────────────┘
分析要点:
- 表现最好的交易对:ETH/USDT(总收益 10.22%)
- 表现最差的交易对:XRP/USDT(总收益 4.52%)
- 最稳定的交易对:BNB/USDT(胜率 86.4%)
- 交易最多的交易对:SOL/USDT(42 次)
相关性分析
什么是相关性?
两个交易对价格走势的相似程度。
相关性系数:
+1.0: 完全正相关(同涨同跌)
0.0: 无相关
-1.0: 完全负相关(此涨彼跌)
典型相关性:
BTC/USDT vs ETH/USDT: 0.85(高度正相关)
BTC/USDT vs DOGE/USDT: 0.65(中度正相关)
BTC/USDT vs 稳定币对: 0.05(无相关)
分散风险的原则:
- ❌ 选择相关性 > 0.9 的交易对(无分散效果)
- ✅ 选择相关性 0.5-0.8 的交易对(最佳平衡)
- ⚠️ 选择相关性 < 0.3 的交易对(过于分散)
推荐组合:
组合 1(保守):
- BTC/USDT(40%)
- ETH/USDT(40%)
- BNB/USDT(20%)
相关性:0.8-0.9
组合 2(平衡):
- BTC/USDT(30%)
- ETH/USDT(25%)
- SOL/USDT(20%)
- MATIC/USDT(15%)
- LINK/USDT(10%)
相关性:0.6-0.8
组合 3(分散):
- BTC/USDT(20%)
- ETH/USDT(20%)
- BNB/USDT(15%)
- SOL/USDT(15%)
- XRP/USDT(10%)
- MATIC/USDT(10%)
- LINK/USDT(10%)
相关性:0.5-0.7
构建最优投资组合
步骤:
-
筛选交易对:
- 24h 成交量 > $100M
- 在 Binance 上可交易
- 排除稳定币对
单独回测:
for pair in BTC/USDT ETH/USDT BNB/USDT SOL/USDT XRP/USDT
do
freqtrade backtesting -c config.json --strategy Strategy001 --pairs $pair --timerange 20250701-20250930
done
-
选择表现优秀的交易对:
- 总收益 > 5%
- 胜率 > 70%
- 最大回撤 < 10%
组合回测:
freqtrade backtesting \
-c config.json \
--strategy Strategy001 \
--pairs BTC/USDT ETH/USDT BNB/USDT \
--timerange 20250701-20250930
- 对比结果:
单一交易对(BTC/USDT):
收益:+8.45%
回撤:-6.2%
三交易对组合:
收益:+25.82%(组合所有交易对)
回撤:-4.8%(更低!)
结论:组合更优 ✅
💡 实践任务
任务 1:下载多交易对数据
# 下载 5 个主流交易对的数据
freqtrade download-data \
-c config.json \
--pairs BTC/USDT ETH/USDT BNB/USDT SOL/USDT XRP/USDT \
--days 90 \
--timeframes 15m
任务 2:单独测试每个交易对
# 测试 BTC/USDT
freqtrade backtesting -c config.json --strategy Strategy001 --pairs BTC/USDT --timerange 20250701-20250930 --timeframe 15m
# 测试 ETH/USDT
freqtrade backtesting -c config.json --strategy Strategy001 --pairs ETH/USDT --timerange 20250701-20250930 --timeframe 15m
# 测试 BNB/USDT
freqtrade backtesting -c config.json --strategy Strategy001 --pairs BNB/USDT --timerange 20250701-20250930 --timeframe 15m
# 测试 SOL/USDT
freqtrade backtesting -c config.json --strategy Strategy001 --pairs SOL/USDT --timerange 20250701-20250930 --timeframe 15m
# 测试 XRP/USDT
freqtrade backtesting -c config.json --strategy Strategy001 --pairs XRP/USDT --timerange 20250701-20250930 --timeframe 15m
任务 3:制作交易对对比表
交易对 | 交易次数 | 胜率% | 总收益% | 平均收益% | 最大回撤% | Sharpe | 24h成交量 | 推荐度 |
---|---|---|---|---|---|---|---|---|
BTC/USDT | ? | ? | ? | ? | ? | ? | ? | ⭐? |
ETH/USDT | ? | ? | ? | ? | ? | ? | ? | ⭐? |
BNB/USDT | ? | ? | ? | ? | ? | ? | ? | ⭐? |
SOL/USDT | ? | ? | ? | ? | ? | ? | ? | ⭐? |
XRP/USDT | ? | ? | ? | ? | ? | ? | ? | ⭐? |
任务 4:组合测试
选择表现最好的 3 个交易对,进行组合回测:
freqtrade backtesting \
-c config.json \
--strategy Strategy001 \
--pairs [你选的3个交易对] \
--timerange 20250701-20250930 \
--timeframe 15m
对比单一交易对 vs 组合:
最佳单一交易对:
交易对:___________
总收益:___________%
最大回撤:___________%
三交易对组合:
总收益:___________%
最大回撤:___________%
结论:
☐ 组合表现更好(收益更高或回撤更低)
☐ 单一交易对表现更好
任务 5:构建你的投资组合
根据测试结果,设计你的投资组合:
我的投资组合:
交易对 1:___________(___%)
交易对 2:___________(___%)
交易对 3:___________(___%)
交易对 4(可选):___________(___%)
交易对 5(可选):___________(___%)
总计:100%
选择理由:
1. ___________
2. ___________
3. ___________
📚 知识检查
基础问题
- 主流币和山寨币的主要区别是什么?
- 流动性好的交易对有哪些特征?
- 高波动率交易对适合什么策略?
答案
- 流动性、波动性和风险:主流币流动性好、波动小、风险低;山寨币相反
- 成交量大、买卖价差小、订单簿深度好
- 短线突破策略、高频交易策略,需要放宽止损
进阶问题
- 为什么低流动性交易对回测结果不可信?
- 如何判断交易对之间的相关性?
- 多交易对组合能降低风险的原理是什么?
思考题
- 如果所有交易对都是高度相关的,组合还有意义吗?
- 山寨币回测收益很高,是否应该实盘交易?
- 如何动态调整交易对组合?
🔗 参考资料
数据查询网站
- CoinMarketCap - 查看交易量和市值
- CoinGecko - 查看交易对信息
- TradingView - 查看价格波动
配套文档
- 📄 CONFIG_EXPLANATION.md - 交易对配置
- 📄 STRATEGY_SELECTION_GUIDE.md - 交易对选择
推荐阅读
📌 核心要点总结
- 新手推荐主流币:BTC、ETH、BNB
- 流动性 > 收益潜力:避免低流动性交易对
- 波动率匹配策略:高波动配短线,低波动配长线
- 多交易对分散风险:不要把鸡蛋放在一个篮子里
- 相关性不宜过高:0.5-0.8 最佳
- 滑点是隐形杀手:实盘收益可能远低于回测
➡️ 第二部分总结
恭喜!你已完成第二部分:回测实战(第 5-10 课)
你学到了:
- ✅ 第5课:运行第一次完整回测
- ✅ 第6课:解读回测报告,分析策略性能
- ✅ 第7课:测试不同时间框架
- ✅ 第8课:批量对比多个策略
- ✅ 第9课:验证策略稳定性,避免过拟合
- ✅ 第10课:选择合适的交易对
下一部分预告:
第三部分:策略优化(第 11-15 课)
在第三部分中,你将学习:
- 第 11 课:使用 Hyperopt 优化策略参数
- 第 12 课:高级策略分析技巧
- 第 13 课:建立策略评分体系
- 第 14 课:风险管理与资金管理
- 第 15 课:构建策略组合
准备工作:
- ✅ 选定 1-2 个表现稳定的策略
- ✅ 下载至少 6 个月的历史数据
- ✅ 确保有足够的计算资源(Hyperopt 需要)
🎯 学习检验标准:
- ✅ 能独立选择合适的交易对
- ✅ 会评估交易对的流动性和波动率
- ✅ 能构建多交易对组合
- ✅ 理解相关性对风险分散的影响
完成第二部分后,你已经掌握了回测的核心技能!准备进入策略优化的进阶学习吧! 🚀🎉
Top comments (0)