1426 字
7 分钟

数据下载与管理

时间框架选择(Timeframe)#

什么是时间框架?#

时间框架(Timeframe)指的是每根 K 线(蜡烛图)代表的时间长度。常见的时间框架包括:

时间框架说明每天 K 线数数据量(30天)
1m1 分钟1,44043,200 根
5m5 分钟2888,640 根
15m15 分钟962,880 根
1h1 小时24720 根
4h4 小时6180 根
1d1 天130 根

时间框架与交易风格#

不同的时间框架适合不同的交易风格:

1. 超短线(1m - 5m)#

特点

  • 交易频率极高(每天几十到上百笔)
  • 手续费成本占比大
  • 需要快速执行,对延迟敏感
  • 信号噪音多,假信号多

适合人群

  • 全职交易员
  • 高频交易系统
  • 有低手续费账户

风险

  • 过度交易
  • 手续费侵蚀利润
  • 心理压力大

2. 短线(15m - 1h)#

特点

  • 日内交易为主(每天 5-20 笔)
  • 平衡了信号质量和数量
  • 手续费影响适中
  • 适合新手练习

适合人群

  • 量化交易新手
  • 有一定时间监控市场
  • 希望快速看到结果

推荐理由

  • ✅ 数据下载快
  • ✅ 回测速度快
  • ✅ 信号质量较好
  • ✅ 手续费可控

3. 中长线(4h - 1d)#

特点

  • 波段交易(每周几笔)
  • 信号少但质量高
  • 手续费占比低
  • 隔夜风险需要考虑

适合人群

  • 兼职交易者
  • 不想频繁盯盘
  • 资金量较大

风险

  • 单笔波动大
  • 隔夜新闻风险
  • 资金使用效率低

数据量 vs 信号质量#

这是一个经典的权衡:

时间框架越小 ────────────────────────→ 时间框架越大
│ │
├─ 信号多,但噪音多 │
├─ 交易频繁,手续费高 │
├─ 数据量大,存储压力大 │
│ │
│ 信号少,但质量高 ─┤
│ 交易少,手续费低 ─┤
│ 数据量小,存储轻松 ─┤

选择建议#

初学者推荐

  • 主要时间框架:5m 或 15m
  • 辅助时间框架:1h(用于趋势确认)
  • 数据周期:30-90 天

进阶用户

  • 根据策略类型选择
  • 多时间框架组合
  • 至少准备 6 个月以上数据

基础下载命令#

config.jsonpair_whitelist 配置:

"pair_whitelist": [
"BTC/USDT:USDT",
"ETH/USDT:USDT",
"SOL/USDT:USDT",
"XRP/USDT:USDT"
],

1. 下载默认交易对#

Terminal window
# 下载 config.json 中配置的交易对,最近 30 天,5 分钟数据
freqtrade download-data \
-c config.json \
--days 30 \
--timeframes 5m

2. 指定交易对下载#

Terminal window
freqtrade download-data \
-c config.json \
--pairs BTC/USDT ETH/USDT BNB/USDT \
--days 30 \
--timeframes 5m

3. 下载多个时间框架#

Terminal window
freqtrade download-data \
-c config.json \
--pairs BTC/USDT ETH/USDT \
--days 90 \
--timeframes 1m 5m 15m 1h 1d

4. 下载更长时间范围#

Terminal window
# 下载最近 180 天数据(约 6 个月)
freqtrade download-data -c config.json --days 180 --timeframes 5m
# 下载 1 年数据
freqtrade download-data -c config.json --days 365 --timeframes 1h

5. 指定日期范围下载#

使用 --timerange 参数精确控制日期:

Terminal window
# 下载 2025 年 9 月 1 日到 9 月 30 日的数据
freqtrade download-data \
-c config.json \
--timerange 20250901-20250930 \
--timeframes 5m

6. 增量更新#

如果已经下载过数据,再次运行命令会自动增量更新:

Terminal window
# 第一次下载(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

数据存储格式#

数据存储格式

Terminal window
ls user_data/data/binance/futures/
# 格式为 feather
BTC_USDT_USDT-1h-funding_rate.feather SOL_USDT_USDT-1h-funding_rate.feather
BTC_USDT_USDT-1h-mark.feather SOL_USDT_USDT-1h-mark.feather
BTC_USDT_USDT-5m-futures.feather SOL_USDT_USDT-5m-futures.feather
ETH_USDT_USDT-1h-funding_rate.feather XRP_USDT_USDT-1h-funding_rate.feather
ETH_USDT_USDT-1h-mark.feather XRP_USDT_USDT-1h-mark.feather
ETH_USDT_USDT-5m-futures.feather XRP_USDT_USDT-5m-futures.feather

Feather 简介#

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())

输出示例

Terminal window
读取到的 DataFrame:
date open high low close volume
0 2026-02-01 00:00:00+00:00 78701.595971 79377.985986 78616.324594 78867.420300 0.0
1 2026-02-01 01:00:00+00:00 78866.811604 78906.300000 78286.881612 78502.298478 0.0
2 2026-02-01 02:00:00+00:00 78502.287609 79024.000000 78347.700000 78868.734355 0.0
3 2026-02-01 03:00:00+00:00 78867.681964 78967.474957 78633.500000 78831.964483 0.0
4 2026-02-01 04:00:00+00:00 78831.513333 79083.204841 78682.300000 78935.221109 0.0

检查数据是否有缺失#

Terminal window
# 检查数据缺口
freqtrade list-data -c config.json --show-timerange

输出示列

Terminal window
2026-02-08 14:47:48,692 - freqtrade - INFO - freqtrade 2026.2-dev-82f71d8e4
2026-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 configured
2026-02-08 14:47:49,288 - freqtrade.loggers - INFO - Verbosity set to 0
2026-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-timerange
2026-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 officially
supported 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
└───────────────┴───────────┴──────────────┴─────────────────────┴─────────────────────┴─────────┘

数据更新#

每周或每月手动运行一次

Terminal window
# 更新最近 7 天数据
freqtrade download-data -c config.json --days 7 --timeframes 5m 1h

数据清理#

Terminal window
# 清空整个数据目录
rm -rf user_data/data/binance/*

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
数据下载与管理
https://blog.smyb.fun/posts/aitrade/04_数据下载与管理/
作者
三木羽冰
发布于
2026-01-04
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-01-04,距今已过 45 天

部分内容可能已过时

Profile Image of the Author
三木羽冰
嵌言片语
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
21
分类
3
标签
6
总字数
24,212
运行时长
0
最后活动
0 天前

目录