Files
obsidian-vault/05 投资交易/freqtrade的PairList、过滤筛选器使用简介.md
2026-06-23 00:24:32 +08:00

5.6 KiB
Raw Blame History

#交易 #量化交易 #策略研究 #freqtrade #DeepSeek

Freqtrade的Pairlist品种列表系统是其核心功能之一允许用户通过组合多种过滤器Filters动态筛选交易品种交易对。这些过滤器可按顺序叠加形成灵活的选币逻辑从而适配不同策略需求。以下是主要过滤器类型及其组合逻辑的详细说明


一、Pairlist 工作机制

Pairlist 是一个过滤器链Filter Chain按配置顺序依次执行过滤最终输出符合条件的交易对列表。

  • 执行顺序​:过滤器的排列顺序直接影响筛选结果(例如先按交易量过滤,再按价格过滤)。
  • 动态更新​:根据市场数据实时刷新(可设置刷新频率)。
  • 白名单/黑名单​:支持手动指定固定交易对或排除特定币种。

二、核心过滤器类型及功能

1. VolumeFilter交易量过滤器

  • 功能筛选24小时交易量高于阈值的币种避免流动性不足的品种。
  • 参数min_volume(最小交易量)。
  • 用例仅交易Binance上日交易量超过100 BTC的币种。

2. PriceFilter价格过滤器

  • 功能​:按价格范围或波动限制筛选:
    • min_price/max_price:排除价格过低或过高的币种。
    • low_price_ratio:过滤近期最低价与当前价差距过大的币种(防暴跌风险)。
  • 用例排除价格低于0.0001 BTC或单日跌幅超20%的币种。

3. RangeStabilityFilter价格稳定性过滤器

  • 功能​:筛选价格波动较小的币种(例如通过标准差计算稳定性)。
  • 适用场景​:均值回归策略需避免高波动品种。

4. VolatilityFilter波动率过滤器

  • 功能基于历史波动率如ATR过滤保留波动适中的币种。
  • 参数min_volatility/max_volatility

5. PerformanceFilter历史表现过滤器

  • 功能​:按过去交易盈亏排序,优先选择盈利高的币种。
    • minutes滚动窗口时间例如仅考虑24小时内表现
    • min_profit最低盈利阈值如1%)。
  • 注意​:需积累足够历史交易数据,且不支持回测

6. AgeFilter上市时间过滤器

  • 功能排除新上市币种如上市时间少于7天避免流动性或数据不足风险。

7. ShuffleFilter随机过滤器

  • 功能​:随机打乱剩余币种顺序,避免策略偏向特定品种。

8. OffsetFilter偏移过滤器

  • 功能从列表中跳过前N个币种选择后续M个例如跳过前10个选接下来的20个
  • 用例​:在多机器人协作时分流交易品种。

9. PrecisionFilter精度过滤器

  • 功能过滤因交易所精度限制无法设置止损的币种如价格低于0.001的币种)。

三、过滤器组合逻辑示例

组合1流动性优先 + 价格稳定

VolumeFiltermin_volume=50 BTC  
→ RangeStabilityFiltermax_std=0.03  
→ OffsetFilteroffset=0, number_assets=20

逻辑​:选高流动性币种 → 保留价格波动<3%的品种 → 取前20个。

组合2趋势策略 + 风险控制

VolumeFiltermin_volume=100 BTC  
→ VolatilityFiltermin_volatility=0.01, max_volatility=0.1  
→ PriceFiltermin_price=0.0005, max_price=0.05

逻辑​:排除低流动性币 → 筛选波动率1%~10%的品种 → 限制价格区间防极端行情。

组合3动态择优交易

VolumeFiltermin_volume=200 BTC  
→ PerformanceFilterminutes=1440, min_profit=0.02  
→ ShuffleFilterseed=42

逻辑​:选高流动性币 → 取24小时内盈利超2%的品种 → 随机打乱顺序避免过度集中。


四、高级使用技巧

  1. 性能优化

    • 当交易槽位已满时,启用FullTradesFilter跳过非持仓币种计算减少CPU负载。
    • 将计算量大的过滤器(如VolatilityFilter)放在链后部,避免无效计算。
  2. 动态白名单

    • 结合VolumeFilter + AgeFilter + PrecisionFilter,实时生成可交易币种,无需手动维护。
  3. 多机器人协作

    • 使用OffsetFilter分割交易对列表,分配至不同机器人(需注意交易所数据刷新延迟风险)。
  4. 回测限制

    • PerformanceFilterFullTradesFilter等依赖实时数据的过滤器不支持回测,需在实盘环境中验证。

五、注意事项

  • 过滤器顺序​:优先级高的过滤器(如流动性)应靠前,减少后续计算量。
  • 空列表风险​:严格参数(如min_profit=10%)可能导致无币可选,建议设置宽松阈值逐步收紧。
  • 交易所差异​:不同平台的币种精度、数据粒度可能影响过滤结果,需针对性调整参数。

通过灵活组合上述过滤器Freqtrade能实现从保守型低波动、高流动性到激进型高波动、择优交易的多样化策略满足不同风险偏好和交易目标的需求。建议参考官方文档 中的Pairlist配置案例进行深度定制。