😀
FreqTradeのDocumentを読み込む【データダウンロード】
当記事の概要
FreqTradeのデータダウンロードページのアウトプットになります。
データダウンロードページの記載内容
- バックテストに必要なデータをダウンロードする方法
- バックテストの結果を読み取る方法
- バックテストの精度を向上させる方法
バックテストに必要なデータをダウンロードする方法
コマンドを実行し、データをダウンロードする
freqtrade download-data --exchange <exchange> --pairs .*/USDT"
上記のコマンドにより、<exchange>内に指定されている取引所からUSDTを含むの全てのペアデータをダウンロードすることができます。
すべての通貨ペアのOHLCV(始値、高値、安値、終値、出来高)がダウンロードされます。
現在は、日付を指定していないので、過去30日間の1分足・5分足のデータを対象として、ダウンロードされます。
なお、ファイルは下記の命名規則に従って、データディレクトリに保存されます。
<pair>-trades.feather( ETH_BTC-trades.feather )
基礎コマンド
基礎となるコマンドは、下記になります。下記に対してオプションを設定していきます。
オプションの指定がない場合は、過去30日間の1分足・5分足のデータを対象として、ダウンロードされます。
freqtrade download-data
コマンドオプション一覧
--timeframes 1m 5m
--days<daynumber>
--timerange <yyyymmdd>-
--prepend--timerange <yyyymmdd>-<yyyymmdd>
--exchange <exchange>
--paris <paris>
--data-format-ohlcv <json,jsongz,feather,parquet>
--data-format-trades <json,jsongz,feather,parquet>
--trading-mode <spot,margin,futures>
- timeframes:ダウンロードする時間足を指定します。
- days:ダウンロードする日付を相対指定します。最新日から過去<daysnumber>日のデータを取得
- timerange <yyyymmdd>-:yyyymmddから最新日までのデータを取得
- prepend--timerange<yyyymmdd>-<yyyymmdd>:<yyyymmdd>-<yyyymmdd>までの期間のデータを取得
- exchange <exchange> : <exchange>からデータを取得します。
- paris <paris>:<paris>のデータを取得します。正規表現の利用が可能です。
データ形式の指定
FreqTradeがサポートしているデータ形式
- feather
- json
- jsongz
- parquet
デフォルトでは、OHLCVデータと取引データの両方が、「feather形式」で保存されます。
前述した、--data-format-ohlcv <json,jsongz,feather,parquet>と
--data-format-trades <json,jsongz,feather,parquet>で、データのファイル形式を指定したうえでダウンロードすることも可能です。
著者コメント
JSONのほうが、LLMとの相性はよさそうだなと思ったけど、ダウンロード速度がJSONは遅い・ファイルサイズがでかくなるようで、freqtradeは、featherを推奨してました。
ダウンロードしたデータの確認方法
list-dataコマンドを使うことで、ダウンロードしたデータのリストを取得することができます。
freqtrade list-data --userdir ~/.freqtrade/user_data/
以下、出力例です。
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Pair ┃ Timeframe ┃ Type ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ ADA/BTC │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ADA/ETH │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ETH/BTC │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ETH/USDT │ 5m, 15m, 30m, 1h, 2h, 4h │ spot │
└───────────────┴───────────────────────────────────────────┴──────┘
オプション
--exchange <EXCHANGE>
--show-timerange
--trading-mode
-p PAIRS <PAIRS ...>
詰まりそうだなというポイント
- データダウンロード時に、binaceのAPIに引っかかってしまいダウンロードが止まる
- feahterファイルを簡単に参照できるローカル構成にしておく(データの検証)
Discussion