回心誌

日々是回心

dukascopy-node で FXの履歴データを入手する

前提

WSL2

インストール

Node.js(NVM)のインストール

sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash


ここで一旦WSLのターミナルを閉じて、開きなおす。

で、バージョンを確認

nvm --version
node -v

インストールされていればバージョンが出るはず。

使い方

詳しくは
Config (CLI) | dukascopy-node

npx dukascopy-node -i usdjpy -from 2023-01-24 -to 2023-01-25 -t tick -f csv
----------------------------------------------------
Downloading historical price data for:
----------------------------------------------------
Instrument:     US Dollar vs Japanese Yen
Timeframe:      tick
From date:      Jan 24, 2023, 12:00:00 AM
To date:        Jan 25, 2023, 12:00:00 AM
Volumes:        false
UTC Offset:     0
Include flats:  false
Format:         csv
----------------------------------------------------
|█████████████████████████████████████████████| 100%
----------------------------------------------------
√ File saved: download/usdjpy-tick-2023-01-24-2023-01-25.csv (4.84 MB)

一部を抜粋。
tickデータの場合はOHLCでなくASK価格とBID価格。

timestamp,askPrice,bidPrice
1674518401074,130.598,130.593
1674518401176,130.594,130.585
1674518401227,130.591,130.585
1674518401278,130.59,130.582
1674518401380,130.589,130.58
1674518401481,130.588,130.58
1674518401606,130.589,130.58
1674518401657,130.589,130.577
1674518401758,130.587,130.579
1674518401860,130.586,130.577
1674518401911,130.586,130.577
1674518402013,130.586,130.578
1674518402165,130.586,130.578
1674518402317,130.587,130.577

1秒間隔のデータも入手できる。

npx dukascopy-node -i usdjpy -from 2023-01-24 -to 2023-01-25 -t s1 -f csv -v true -fl true

その場合はこんな感じ。

timestamp,open,high,low,close,volume
1674518401000,130.593,130.593,130.577,130.577,14.15
1674518402000,130.578,130.579,130.577,130.578,8.4
1674518403000,130.579,130.579,130.57,130.57,7.05
1674518404000,130.576,130.579,130.575,130.575,7.17
1674518405000,130.573,130.578,130.573,130.578,7.19
1674518406000,130.58,130.58,130.58,130.58,2.86
  • flをtrueにすると、土日など取引のない日時のデータが入り込む。(値動きのない状態になる)

機械学習の学習データにする場合は要注意。