Skip to content

📘 第 3 篇:《如何下载币圈历史 K 线数据?Freqtrade download-data 教程》

在 Freqtrade 中,K 线数据是回测、优化、交易的基础。

无论你是策略开发者还是研究者,学会使用 download-data 命令,是迈出量化交易的第一步。

本篇文章将讲解如何使用 freqtrade download-data 命令下载历史行情数据,包括常用参数、Docker 用法、下载建议及支持交易所等内容。


📥 一、基本命令格式

指定交易对下载:

bash
freqtrade download-data \
  --exchange binance \
  --pairs BTC/USDT \
  --timeframes 1h \
  --timerange 20230101-20230701

根据 config.json 下载:

bash
freqtrade download-data \
  --config user_data/config.json \
  --timeframes 15m \
  --timerange 20200101-20250626

常见参数说明:

参数含义
--exchange选择交易所(如 binance、bybit、kucoin)
--pairs指定币对,如 BTC/USDT,多个用逗号分隔
--timeframes下载时间周期,如 1m, 15m, 1h, 1d 等
--timerange数据时间范围,格式为 YYYYMMDD-YYYYMMDD
--days下载最近 N 天的数据(与 timerange 二选一)
--config(可选)使用已有的配置文件指定交易所

📊 二、下载多个币种 / 多时间周期建议

多个币对(如 BTC、ETH、BNB):

bash
--pairs BTC/USDT,ETH/USDT,BNB/USDT

多时间周期(例如同时下载 15m 和 1h):

bash
--timeframes 15m,1h

最佳实践:

为每种时间周期单独下载,便于管理和处理:

bash
freqtrade download-data --timeframes 15m
freqtrade download-data --timeframes 1h

🐳 三、使用 Docker 下载数据

如果你使用 Docker 部署,命令稍有不同:

bash
docker compose run --rm freqtrade download-data \
  --config /quants/freqtrade/user_data/config.json \
  --timeframes 15m \
  --timerange 20220101-20230701

确保你在 docker-compose.yml 中正确挂载了 user_data/ 目录:

yaml
volumes:
  - "./user_data:/quants/freqtrade/user_data"

📂 四、数据保存在哪?

下载的 K 线数据将存储在:

user_data/data/<exchange>/<pair><timeframe>-<type>.feather

例如:

user_data/data/binance/BTC_USDT_USDT-5m-futures.feather

Freqtrade 会自动识别并使用这些数据进行回测与优化。


🔍 五、Freqtrade 支持的交易所有哪些?

你可以运行以下命令查看当前支持的交易所:

bash
freqtrade list-exchanges

常见支持交易所包括(可能随版本更新):

  • Binance(含现货 / 期货)
  • Bybit
  • KuCoin
  • Huobi
  • Kraken
  • OKX
  • Coinbase Pro
  • Gate 等

⚠️ 注意:有些交易所需要提供 API key 才能下载历史数据。


✅ 六、注意事项与建议

项目建议
下载时间范围一般建议至少覆盖 3~6 个月数据
时间粒度开发策略用 1h 或 15m 较常见;高频策略用 1m
回测数据越久越好?太久的数据可能因行情结构不同而误导
本地存储空间1m 数据较大,注意磁盘空间

📌 总结

freqtrade download-data 是所有策略开发的起点。

本文带你了解了:

  • ✅ 参数用法:exchange / pairs / timeframes / timerange
  • ✅ 多币种、多周期的下载技巧
  • ✅ Docker 环境下的下载方式
  • ✅ 数据存储路径与支持交易所