Freqtrade回测

Linux · 07-04
Freqtrade回测

第一步需下载数据:
1、币种用空格隔开:

docker compose run --rm freqtrade download-data --pairs BTC/USDT:USDT ETH/USDT:USDT SOL/USDT:USDT --exchange binance --days 5 -t 1h

解析:
docker compose run --rm freqtrade:

docker compose run:在 Docker Compose 环境中运行一个服务。

--rm:命令执行完毕后自动删除 Docker 容器,避免容器堆积。

freqtrade:这是你要运行的容器服务,表示你正在调用 Freqtrade,一个用于加密货币交易策略回测和自动交易的框架。

download-data:

该命令告诉 Freqtrade 下载市场数据。它是 Freqtrade 提供的命令之一,用于从指定交易所(如 Binance)下载历史数据。

--pairs BTC/USDT:USDT ETH/USDT:USDT SOL/USDT:USDT:

--pairs:指定要下载的数据币对,这里下载了以下币对的数据:

BTC/USDT:比特币和 USDT(泰达币)的交易对

ETH/USDT:以太坊和 USDT 的交易对

SOL/USDT:Solana 和 USDT 的交易对

你可以根据需要下载其他币对的数据,多个币对之间用空格分隔。

--exchange binance:

--exchange:指定数据来源的交易所。在这个命令中,数据是从 Binance(币安)交易所获取的。

Freqtrade 支持多个交易所,因此你可以指定不同的交易所(如 Coinbase、Binance、Kraken 等)。

--days 5:

--days:指定要下载的数据的时间跨度。这里的 5 表示下载过去 5 天的数据。

你可以修改这个值来下载不同时间段的数据,比如过去 30 天或更长时间的数据。

-t 1h:

-t:指定下载数据的时间间隔。这里的 1h 表示数据的时间粒度是每小时(1小时)。

你也可以选择其他时间间隔,例如:5m(每5分钟)、15m(每15分钟)、30m(每30分钟)、1d(每天数据)等。

2、回测
docker compose run --rm freqtrade backtesting --config user_data/config.json --strategy SampleStrategy --timerange 20250630-20250704 -i 1h

解析:
docker compose run --rm freqtrade:

docker compose run:在 Docker Compose 中启动一个单独的服务。

--rm:表示容器执行完后自动删除,避免不必要的容器积累。

freqtrade:这是容器中执行的服务名称,表示使用 Freqtrade(一个加密货币交易策略回测和交易框架)进行操作。

backtesting:

表示运行回测(backtesting)操作,回测是用来测试你在历史数据上交易策略表现的过程。

--config user_data/config.json:

--config:指定配置文件路径,这里是 user_data/config.json。该文件包含 Freqtrade 配置项,如 API 密钥、交易所设置等。

--strategy SampleStrategy:

--strategy:指定使用的交易策略,这里使用的是名为 SampleStrategy 的策略。你可以根据实际情况更换成你自己定义的策略名称。

--timerange 20250630-20250704:

--timerange:指定回测的时间范围,格式为 YYYYMMDD-YYYYMMDD。

这个例子中,时间范围是 2025年6月30日到2025年7月4日,即回测会使用这段时间内的历史数据来评估策略表现。

-i 1h:

-i:指定回测的时间间隔。

1h 表示每小时的数据,回测将使用每小时的市场数据进行模拟交易。

Theme Jasmine by Kent Liao