FXの過去データを取得する方法
直接の回答
FXの過去データを取得するには、次の2つが必要です。(1)欲しい通貨ペアの過去価格を提供するデータソース、そして(2)その価格を利用可能な形式でエクスポートまたはダウンロードする方法です。一般的なソースには、ブローカープラットフォーム、商用データベンダー、公開データセットがあります。データを入手したら、タイムスタンプ、価格タイプ(bid、ask、またはmid)、および計測器(インストゥルメント)の定義が、分析で想定している内容と一致しているかを確認する必要があります。
仕組み(メカニクス)
FXの過去データは通常、時系列です。各時間間隔ごとに、価格(多くの場合 open、high、low、close)を保存し、フィードによっては出来高も保存します。最初のステップは、インストゥルメントとフィールドを選ぶことです:
- 通貨ペア / インストゥルメント:例として、特定のベース通貨とクォート通貨の通貨ペア。
- 時間軸(タイムフレーム):tick、分、時間、日次など。
- 価格タイプ:bid と ask(両建て)、または派生した mid 価格。
- タイムゾーンとセッションの扱い:「1日」がいつ始まるのか、そしてタイムスタンプがどのように保存されるのか。
次に、次のいずれかの実用的な手段でデータを入手します:
- プラットフォームからエクスポート:多くの取引プラットフォームは、過去のOHLC(場合によってはtick)データをエクスポートできます。
- ベンダーからダウンロード:データベンダーは、指定したシンボルと解像度(レゾリューション)に対して、過去データのファイルを提供することがよくあります。
- 公開またはコミュニティのデータセットを利用:研究目的で公開されているデータセットもありますが、カバー範囲や定義が一貫しないことがあります。
最後に、ファイルを変換または整合させて、同じスキーマ(列、タイムスタンプ形式、ペア名の付け方)を共有するようにします。このステップは、エラーが導入されやすい部分でもあります。
例または確認
分析にデータを使う前に、独立した確認を行ってください:
- シンボル対応付けの確認:ファイル内のペア名が、あなたが依頼したペアと一致していることを確認します。
- タイムスタンプの妥当性確認:タイムスタンプが想定しているタイムゾーンになっているか、そして予期しないギャップがないかを確認します。
- 価格タイプの確認:データが bid、ask、またはmid のどれなのか、そしてOHLCの値が同じ価格タイプに整合しているかを確認します。
- 粒度(グラニュラリティ)の確認:解像度(例:1分足か5分足か)が、意図した計算と一致していることを確認します。
データセットに付属するドキュメントからこれらの項目を確認できない場合は、そのデータを「最善の努力(best-effort)」として扱い、複数のソースを使って結果を検証してください。
制限と不確実性
過去のFXデータセットは、フィード、定義、処理ルールがソースごとに異なるため、違いが生じることがあります。主な制限には次のようなものがあります:
- 価格の構成方法の違い(bid/ask と mid、または tick から計算された OHLC)。
- シンボル定義の不一致と、契約ロールオーバー(特にフィードが慣習を変更したとき)。
- 欠落(ギャップ)、サンプリングの違い、またはバックテストや統計に影響する欠けた期間。
- タイムスタンプ標準が不明確(タイムゾーン、サマータイムの扱い、そしてタイムスタンプが注文時刻なのか、気配値の時刻なのか、あるいはバーのクローズ時刻なのか)。
これらの不確実性のため、一般的にはデータセットのドキュメントを確認し、上記のサニティチェックを実行することでのみ、正しさを検証できます。単一のダウンロードが、意図した研究の前提に合わせてデータが整合していることを自動的に保証するわけではありません。
DOCUMENT END