【2024年最新版】OANDA口座不要!Pythonでfxデータを取得する方法!

FX
PR

はじめに

Pythonを使ってFxの自動取引を夢見ている方の中には、OANDA口座の以下の利用条件を見て敷居が高いと感じた方がいらっしゃるかと思います。(2024年3月現在)

  • 会員ステータスがGOLD(前月のUSD取引量が50万以上)
  • OANDA口座の残高が25万円以上

私も上記の条件を見て尻込みしました。口座残高に25万円以上はまだ可能ですが取引量が50万以上を必要とするGOLDステータスの条件が人によってはしんどいと思います。

とはいえ、Fxの口座が開設出来てかつAPIが利用できるところは現状OANDA以外他がないため、自動取引をしたい場合は腹を括ってOANDAを利用するしかありません。

しかし、このサイトに訪れた方の多くは将来的にFXの自動売買を考えているけど、とにかくまずはFxのデータ分析がしたいドル円などの過去データを使って機械学習モデルを組んでみたいと思っている方がほとんどでしょう。

そういった場合に、OANDAの口座開設して…25万入金して….50万円分の取引実績を作って….来月にGOLDステータスになるまで待って…..APIの利用申請を送って…….みたいなステップを踏んでいくのは大変負担が大きいことかと存じます。

なので、ここではOANDAの口座を開設しないで、Python使って様々なFXの通貨データを色々な時間足で取得できる方法を解説します。

この記事で最低限必要な準備

これからOANDA口座を必要としない、Pythonを使ったFxデータの取得方法を解説するのですが、その際に最低限必要な準備を以下に列挙します。

なるべく画像多めで分かりやすい説明を心がけますが、まったくのPC初心者!って方からすると悩みながら進めて行くことになると覚悟してください。

【必要な準備】

  • Python 3.10.5環境(ver3.10以上なら何でもOKです)
  • MetaTrader5のインストールが完了している
  • Pythonの文法を理解できる

Pythonについては、一応バージョン揃えてもらえるとバージョン依存によるエラーに無駄に悩むことがなくなると思います。

MetaTrader5については、以下のセットアップ手順を参考にしてもらえれば環境準備出来ると思います。

MetaTrader5(MT5)のセットアップ方法
はじめに ここでは、Pythonを使ってFXデータをMT5経由で取得する記事で前提となるMetaTrader5の初期設定手順の解説を行います。 すでに設定完了している方は、以下の記事からPythonによるFxデータの取得方法を参照ください。...

PythonでFxデータを取得する方法

仕組み

最低限必要な準備でインストールしてもらったMT5経由でFxの価格データを取得します。そのために、PythonパッケージであるMetaTrader5を使ってMT5からデータを持ってきます。

MT5と言えど、特に口座開設する必要もなくデモ口座を自動で作ってくれるので無料で使えますし豊富な銘柄が揃っているのでFXデータが欲しい場合はMT5一つですべて解決します

必要なパッケージ一覧

以下のパッケージを事前にpipでインストールしてください。

  • MetaTrader5==5.0.4200
  • pandas==2.2.1
  • matplotlib==3.8.0
  • mplfinance==0.12.10b0
  • finplot==1.9.4

上記パッケージを以下のようにpipコマンドでインストールしてください。

pip install MetaTrader5==5.0.4200

取得可能銘柄一覧

MT5経由で取得するので使用するサーバによって変わってきますが、MT5をインストールした際にデモ口座が自動で作成されMetaQuotes様のサーバ経由でレートを取得できるようになります。

MetaQuotesのデモサーバで取得できる銘柄は、全部で140銘柄あるため基本はなんでも取得できると思います。日本語通過ペアに限定した場合は以下の銘柄が取得可能です。

  1. USDJPY
  2. AUDJPY
  3. CADJPY
  4. CHFJPY
  5. EURJPY
  6. GBPJPY
  7. NZDJPY
  8. SGDJPY
  9. MXNJPY
  10. ZARJPY
  11. DKKJPY
  12. HKDJPY
  13. NOKJPY
  14. PLNJPY
  15. SEKJPY
  16. TRYJPY
  17. CNHJPY

本当になんでも取得可能です。

取得可能時間足一覧

MT5経由で各銘柄のTickデータが取得できますが、ヒストリカルデータに馴染みがある方もいると思います。以下がMT5で取得できる時間足の一覧になります。

FRAME_ID名前
TIMEFRAME_M11分
TIMEFRAME_M22分
TIMEFRAME_M33分
TIMEFRAME_M44分
TIMEFRAME_M55分
TIMEFRAME_M66分
TIMEFRAME_M1010分
TIMEFRAME_M1212分
TIMEFRAME_M1215分
TIMEFRAME_M2020分
TIMEFRAME_M3030分
TIMEFRAME_H11 時間
TIMEFRAME_H22時間
TIMEFRAME_H33時間
TIMEFRAME_H44時間
TIMEFRAME_H66時間
TIMEFRAME_H88時間
TIMEFRAME_H1212時間
TIMEFRAME_D11日
TIMEFRAME_W11週間
TIMEFRAME_MN11 ヶ月

こちらもかなり細かく時間足を指定できます。

001_get_fx_data_tutrial

コメント

タイトルとURLをコピーしました