1426 字
7 分钟
数据下载与管理
时间框架选择(Timeframe)
什么是时间框架?
时间框架(Timeframe)指的是每根 K 线(蜡烛图)代表的时间长度。常见的时间框架包括:
| 时间框架 | 说明 | 每天 K 线数 | 数据量(30天) |
|---|---|---|---|
| 1m | 1 分钟 | 1,440 | 43,200 根 |
| 5m | 5 分钟 | 288 | 8,640 根 |
| 15m | 15 分钟 | 96 | 2,880 根 |
| 1h | 1 小时 | 24 | 720 根 |
| 4h | 4 小时 | 6 | 180 根 |
| 1d | 1 天 | 1 | 30 根 |
时间框架与交易风格
不同的时间框架适合不同的交易风格:
1. 超短线(1m - 5m)
特点:
- 交易频率极高(每天几十到上百笔)
- 手续费成本占比大
- 需要快速执行,对延迟敏感
- 信号噪音多,假信号多
适合人群:
- 全职交易员
- 高频交易系统
- 有低手续费账户
风险:
- 过度交易
- 手续费侵蚀利润
- 心理压力大
2. 短线(15m - 1h)
特点:
- 日内交易为主(每天 5-20 笔)
- 平衡了信号质量和数量
- 手续费影响适中
- 适合新手练习
适合人群:
- 量化交易新手
- 有一定时间监控市场
- 希望快速看到结果
推荐理由:
- ✅ 数据下载快
- ✅ 回测速度快
- ✅ 信号质量较好
- ✅ 手续费可控
3. 中长线(4h - 1d)
特点:
- 波段交易(每周几笔)
- 信号少但质量高
- 手续费占比低
- 隔夜风险需要考虑
适合人群:
- 兼职交易者
- 不想频繁盯盘
- 资金量较大
风险:
- 单笔波动大
- 隔夜新闻风险
- 资金使用效率低
数据量 vs 信号质量
这是一个经典的权衡:
时间框架越小 ────────────────────────→ 时间框架越大│ │├─ 信号多,但噪音多 │├─ 交易频繁,手续费高 │├─ 数据量大,存储压力大 ││ ││ 信号少,但质量高 ─┤│ 交易少,手续费低 ─┤│ 数据量小,存储轻松 ─┤选择建议
初学者推荐:
- 主要时间框架:5m 或 15m
- 辅助时间框架:1h(用于趋势确认)
- 数据周期:30-90 天
进阶用户:
- 根据策略类型选择
- 多时间框架组合
- 至少准备 6 个月以上数据
基础下载命令
config.json 的 pair_whitelist 配置:
"pair_whitelist": [ "BTC/USDT:USDT", "ETH/USDT:USDT", "SOL/USDT:USDT", "XRP/USDT:USDT"],1. 下载默认交易对
# 下载 config.json 中配置的交易对,最近 30 天,5 分钟数据freqtrade download-data \ -c config.json \ --days 30 \ --timeframes 5m2. 指定交易对下载
freqtrade download-data \ -c config.json \ --pairs BTC/USDT ETH/USDT BNB/USDT \ --days 30 \ --timeframes 5m3. 下载多个时间框架
freqtrade download-data \ -c config.json \ --pairs BTC/USDT ETH/USDT \ --days 90 \ --timeframes 1m 5m 15m 1h 1d4. 下载更长时间范围
# 下载最近 180 天数据(约 6 个月)freqtrade download-data -c config.json --days 180 --timeframes 5m
# 下载 1 年数据freqtrade download-data -c config.json --days 365 --timeframes 1h5. 指定日期范围下载
使用 --timerange 参数精确控制日期:
# 下载 2025 年 9 月 1 日到 9 月 30 日的数据freqtrade download-data \ -c config.json \ --timerange 20250901-20250930 \ --timeframes 5m6. 增量更新
如果已经下载过数据,再次运行命令会自动增量更新:
# 第一次下载(9月1日-9月15日)freqtrade download-data -c config.json --timerange 20250901-20250915 --timeframes 5m
# 增量更新(只会下载 9月16日-9月30日)freqtrade download-data -c config.json --timerange 20250901-20250930 --timeframes 5m数据存储格式
数据存储格式:
ls user_data/data/binance/futures/
# 格式为 featherBTC_USDT_USDT-1h-funding_rate.feather SOL_USDT_USDT-1h-funding_rate.featherBTC_USDT_USDT-1h-mark.feather SOL_USDT_USDT-1h-mark.featherBTC_USDT_USDT-5m-futures.feather SOL_USDT_USDT-5m-futures.featherETH_USDT_USDT-1h-funding_rate.feather XRP_USDT_USDT-1h-funding_rate.featherETH_USDT_USDT-1h-mark.feather XRP_USDT_USDT-1h-mark.featherETH_USDT_USDT-5m-futures.feather XRP_USDT_USDT-5m-futures.featherFeather 简介
Feather 是一种专为数据框架设计的二进制列式存储格式,具备以下特点:
- 高速读写:相比传统文本格式,Feather 能够在极短时间内完成数据序列化和反序列化。
- 跨语言支持:Feather 支持 Python、R 等语言,方便不同环境间的数据交换。
- 轻量级:文件体积较小,适用于大规模数据存储和传输。
读取示例代码
from pathlib import Path
import pandas as pd
# 从 Feather 文件读取数据feather_path = ( Path(__file__).resolve().parent / "data" / "binance" / "futures" / "BTC_USDT_USDT-1h-mark.feather")
if not feather_path.exists(): raise FileNotFoundError(f"Feather file not found: {feather_path}")
df = pd.read_feather(feather_path)print("读取到的 DataFrame:")print(df.head())输出示例:
读取到的 DataFrame: date open high low close volume0 2026-02-01 00:00:00+00:00 78701.595971 79377.985986 78616.324594 78867.420300 0.01 2026-02-01 01:00:00+00:00 78866.811604 78906.300000 78286.881612 78502.298478 0.02 2026-02-01 02:00:00+00:00 78502.287609 79024.000000 78347.700000 78868.734355 0.03 2026-02-01 03:00:00+00:00 78867.681964 78967.474957 78633.500000 78831.964483 0.04 2026-02-01 04:00:00+00:00 78831.513333 79083.204841 78682.300000 78935.221109 0.0检查数据是否有缺失
# 检查数据缺口freqtrade list-data -c config.json --show-timerange输出示列:
2026-02-08 14:47:48,692 - freqtrade - INFO - freqtrade 2026.2-dev-82f71d8e42026-02-08 14:47:48,813 - numexpr.utils - INFO - NumExpr defaulting to 16 threads.2026-02-08 14:47:49,288 - freqtrade.configuration.load_config - INFO - Using config: config.json ...2026-02-08 14:47:49,288 - freqtrade.loggers - INFO - Enabling colorized output.2026-02-08 14:47:49,288 - freqtrade.loggers - INFO - Logfile configured2026-02-08 14:47:49,288 - freqtrade.loggers - INFO - Verbosity set to 02026-02-08 14:47:49,288 - freqtrade.configuration.configuration - INFO - Using user-data directory:D:\CodeEditor\Projects\FreqTrade\freqtrade\freqtrade-bot\user_data ...2026-02-08 14:47:49,288 - freqtrade.configuration.configuration - INFO - Using data directory:D:\CodeEditor\Projects\FreqTrade\freqtrade\freqtrade-bot\user_data\data\binance ...2026-02-08 14:47:49,288 - freqtrade.configuration.configuration - INFO - Detected --show-timerange2026-02-08 14:47:49,292 - freqtrade.exchange.check_exchange - INFO - Checking exchange...2026-02-08 14:47:49,297 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officiallysupported by the Freqtrade development team.2026-02-08 14:47:49,297 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.2026-02-08 14:47:49,297 - freqtrade.configuration.config_validation - INFO - Validating configuration ... Found 9 pair / timeframe combinations.┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓┃ Pair ┃ Timeframe ┃ Type ┃ From ┃ To ┃ Candles ┃┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩│ ETH/USDT:USDT │ 5m │ futures │ 2026-02-01 00:00:00 │ 2026-02-08 02:30:00 │ 2047 ││ ETH/USDT:USDT │ 1h │ funding_rate │ 2026-02-01 00:00:00 │ 2026-02-08 00:00:00 │ 22 ││ ETH/USDT:USDT │ 1h │ mark │ 2026-02-01 00:00:00 │ 2026-02-08 01:00:00 │ 170 ││ SOL/USDT:USDT │ 5m │ futures │ 2026-02-01 00:00:00 │ 2026-02-08 02:30:00 │ 2047 ││ SOL/USDT:USDT │ 1h │ funding_rate │ 2026-02-01 00:00:00 │ 2026-02-08 00:00:00 │ 22 ││ SOL/USDT:USDT │ 1h │ mark │ 2026-02-01 00:00:00 │ 2026-02-08 01:00:00 │ 170 ││ XRP/USDT:USDT │ 5m │ futures │ 2026-02-01 00:00:00 │ 2026-02-08 02:30:00 │ 2047 ││ XRP/USDT:USDT │ 1h │ funding_rate │ 2026-02-01 00:00:00 │ 2026-02-08 00:00:00 │ 22 ││ XRP/USDT:USDT │ 1h │ mark │ 2026-02-01 00:00:00 │ 2026-02-08 01:00:00 │ 170 │└───────────────┴───────────┴──────────────┴─────────────────────┴─────────────────────┴─────────┘数据更新
每周或每月手动运行一次:
# 更新最近 7 天数据freqtrade download-data -c config.json --days 7 --timeframes 5m 1h数据清理
# 清空整个数据目录rm -rf user_data/data/binance/*支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
最后更新于 2026-01-04,距今已过 45 天
部分内容可能已过时