FXの過去データをダウンロードする① (HistData.com)

テクニカル分析

FXの過去データ(ヒストリカルデータ)をHistData.comから無料でダウンロードする方法を解説します。

HistData.comについて

HistData.comはFXヒストリカルデータを提供するサイトです。登録不要で無料です。有料オプションでFTP/SFTPでダウンロードするサービスもあります。

HistData.com – Free Forex Historical Data
  • 通貨ペア: 約60種類 (原油先物、主要な株価指数を含む)
  • 時間足: 1分・Tick
  • 期間: 2000年~ (通貨ペアにより異なる)
  • 更新頻度: 月3回程度
  • データのタイムゾーン: 東部標準時 (EST)で夏時間の調整は行われていません。つまり、ニューヨークのローカルタイムそのままの値で、冬季はUTC-5、夏季はUTC-4となります。

Pythonを使った一括ダウンロード

HistData.comの無料サービスではwebからデータをダウンロードすることになりますが、ファイルを1つずつ手動でダウンロードしていくのは大変です。一般的な一括ダウンロードツールではうまくダウンロードできません。そこで、Pythonのhistdataというモジュールを使うことで、簡単に多数のファイルを自動ダウンロードすることができます。

histdataはpipでインストールできます。

pip install histdata

Pythonでは次のコードで簡単にダウンロードできます。

from histdata import download_hist_data as dl
from histdata.api import Platform as P, TimeFrame as TF

dl(year='2020', month='1', pair='usdjpy', platform=P.GENERIC_ASCII, time_frame=TF.TICK_DATA)

上記の例では、2020年1月のUSD/JPYのTICKデータをCSV形式でダウンロードします。yearで年、monthで月、pairで通貨ペアを指定します。

platformでダウンロードするデータの形式を指定します。

  • platform=P.GENERIC_ASCII GENERIC ASCII (CSV) (1分足・TICK)
  • platform=P.EXCEL Excel (1分足)
  • platform=P.META_TRADER MetaTrader 4 / MetaTrader 5 (1分足)
  • platform=P.NINJA_TRADER NinJaTrader (1分足・1秒足)
  • platform=P.META_STOCK MetaStock (1分足)

time_frameで時間足を指定します。

  • time_frame=TF.ONE_MINUTE 1分足
  • time_frame=TF.TICK_DATA TICK (platform=P.GENERIC_ASCII としたときのみ有効)
  • time_frame=TF.TICK_DATA_BID 1秒足 (BID) (platform=P.NINJA_TRADER としたときのみ有効)
  • time_frame=TF.TICK_DATA_ASK 1秒足 (ASK) (platform=P.NINJA_TRADER としたときのみ有効)
  • time_frame=TF.TICK_DATA_LAST 1秒足 (LAST) (platform=P.NINJA_TRADER としたときのみ有効)

ダウンロードしたデータはZIP形式で圧縮されています。この中に、CSV形式のデータファイルと、データギャップが記されたテキストファイルが含まれています。

GENERIC ASCII (CSV)形式で1分足データをダウンロードした場合、ファイル内容は次のようになります。

20210103 174100;0.979650;0.979700;0.979590;0.979600;0
20210103 174200;0.979680;0.979690;0.979590;0.979600;0
20210103 174300;0.979610;0.979720;0.979610;0.979660;0
20210103 174400;0.979660;0.979660;0.979580;0.979590;0
20210103 174500;0.979590;0.979680;0.979580;0.979680;0

それぞれの列の意味は次のようになります。

日時;始値(BID);高値(BID);安値(BID);終値(BID);出来高(通常は0)

GENERIC ASCII (CSV)形式でTICKデータをダウンロードした場合、ファイル内容は次のようになります。

20200202 170001871,108.416000,108.487000,0
20200202 170001972,108.405000,108.487000,0
20200202 170002107,108.406000,108.486000,0
20200202 170002158,108.406000,108.495000,0
20200202 170002283,108.389000,108.494000,0

それぞれの列の意味は次のようになります。

日時(ミリ秒単位),BID,ASK,出来高(通常は0)

本サイトの内容は、投資の勧誘を目的としたものではなく、本サイト内の情報に基づいて行った取引の損失について、本サイトは一切の責を負いかねます。当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。免責事項もご覧ください。

テクニカル分析
AIでFX

コメント