【MT5 API入門⑦】FREDから経済データを取得する
この記事では、トレードに役立てるための雇用統計やインフレ率などといったさまざまな経済データを取得するための方法を解説します。
※この記事はAPIトレードに関する知識を提供することを目的としています。技術的なお問い合わせは受け付けておりません。技術的な課題はお客様ご自身で解決をお願いいたします。
FREDとは
FREDとは、「Federal Reserve Economic Data(米連邦準備制度経済データ)」の略で、米国セントルイス連邦準備銀行が運営する、無料の経済データベースです。
FREDは、投資家やトレーダーのみならず、経済学者、アナリストなどにも広く利用されている情報源となっています。
・FREDトップページ
https://fred.stlouisfed.org/
利用方法
データはサイト内でグラフの確認やダウンロードができるほか、APIを利用してプログラムでの取得も可能で、分析や予測など幅広い用途に活用されています。

このスクリーンショットはFREDサイト内の経済データのページです。
- ①緑で囲った箇所はデータの名称です(この例ではAll Employees, Total Nonfarm:非農業部門雇用者数を示しています)。
- ②赤で囲った箇所はシリーズIDで、APIではこのIDを用いてデータを呼び出します。
- ③紫で囲った箇所はダウンロードボタンで、サイト内から手動操作でデータを入手することもできます。
APIについて
API(アプリケーション・プログラミング・インターフェース)とは、異なるソフトウェア(プログラム)同士をつなぎ、データのやり取りなどを可能にするための仕組みです。
FRED APIはユーザーのプログラムとFREDのデータベースをつなげて、データにアクセスするための接点といえます。
APIキーの発行
API利用時にAPIキーを要求されるようなものも多くあり、FRED APIでもAPIキーが必要となります。
APIキーとは、APIプロバイダ(今回の場合はFRED)がアクセス権を持っているかを確認するための文字列のことです。
事前に発行されたAPIキーを入力することで接続のための認証を行います。
以前のFREDでは、APIキーなしでデータを取得できましたが、2025年11月現在はAPIキーを発行してデータを取得することが推奨されています。
以下のURLからサイトの指示に従ってAPIキーを発行する必要があります。
https://fred.stlouisfed.org/docs/api/api_key.html
APIキーの管理について
from fredapi import Fred
fred = Fred(api_key="xxxxxxxxx") # ここにAPIキーを記述する
このコードのようにAPIキーは、プログラム内で入力する必要があります。
しかし、APIキーをプログラム内に直接記述することはセキュリティの観点でリスクをはらんでいます。
例えば、ソースコードをブログやSNS、GitHub等でアップロードしたり、複数人で開発するときなどに、誤ってAPIキーを流出させてしまう危険があります。
APIキーの流出は不正アクセスなどにもつながるため、パスワードなどと同様に他人に知られないように管理する必要があります。
.envファイル
APIキーの管理には、いろいろな方法がありますが、ここでは「.envファイル」を利用する方法を紹介します。
.envファイルとは、環境変数を定義・管理するためのファイルです。
環境変数とは、プログラムに必要な情報(APIキーや各種設定など)を外部から提供するための値のことです。
- 1.Pythonファイルとは別に.envファイルを作成し、ここにAPIキーを記述する。
- 2.Pythonプログラム内で.envファイルに記した環境変数を設定する。
- 3.Pythonプログラムから環境変数にアクセスしてAPIキーを取得する。
このような流れで、プログラム内に直接APIキーを書かなくて済むように管理します。
まずは任意のエディタ(メモ帳やVScodeなど)で「.env」という名前のファイルを作成します。
ファイル名は任意の名前ではなく、必ず「.」から始まる「.env」にしてください。
作成した.envファイルには、以下のようにAPIキーを記述します。
FRED_API_KEY=xxxxxxxxx
FRED_API_KEYは変数名なので任意の名称でも構いませんが、大文字英数字とアンダースコアで「何のAPIキーなのか」がわかる名称にするのが一般的です。
次にPythonプログラム内で各操作を行います。
まずは.envファイルを読み込むために必要なライブラリをインストールします。
pip install python-dotenv
import os
from dotenv import load_dotenv
from fredapi import Fred
# .envファイルを読み込む
load_dotenv()
# 環境変数からAPIキーを取得
fred_api_key = os.getenv("FRED_API_KEY")
fred = Fred(api_key=fred_api_key)
「load_dotenv()」で.envファイルを読み込みます(必要に応じて引数に.envファイルの保存場所を指定します)。
「FRED_API_KEY」という名前で環境変数が設定されるので、「os.getenv(“FRED_API_KEY”)」で取得してプログラム内で利用します。
※Gitを利用している場合は、.gitignoreファイルに.envを追加して、リポジトリに含めないように注意してください。
雇用統計の取得
それでは本題の経済データの取得コードを確認していきましょう。
まずは雇用統計における非農業部門雇用者数を取得し、可視化していきます。
import os
from dotenv import load_dotenv
from fredapi import Fred
import matplotlib.pyplot as plt
# .envファイルを読み込む
load_dotenv()
# 環境変数からAPIキーを取得
fred_api_key = os.getenv("FRED_API_KEY")
fred = Fred(api_key=fred_api_key)
# 非農業部門雇用者数の取得
nfp = fred.get_series("PAYEMS")
plt.figure(figsize=(12, 6))
plt.plot(nfp)
plt.title("All Employees, Total Nonfarm (PAYEMS)")
plt.grid(True)
plt.show()

このように「fred.get_series(“PAYEMS”)」の引数に目的のシリーズIDを入力することでデータを取得できます。

取得したデータは、このような日付とデータ(各月の非農業部門雇用者数)となっています。
取得する経済データによって、日付の間隔や、さかのぼれる期間は変わってきます。
シリーズIDは、FREDトップページから目的の経済データ検索することで確認できます。
次は、このシリーズIDを効率的に調査する方法を紹介します。
AIを利用してFRED内のシリーズIDを収集する
FREDは英語サイトなので、取得したい経済データの英語名がわからないと扱いにくいこともあります。
翻訳サービスなどを利用して各種経済データの英語名を調べることもできますが、作業を効率化するために、ここではAIを利用する方法を検討します。
以下はChatGPT(https://chatgpt.com/)に「雇用統計各種のFREDの該当ページを探したい」というプロンプトを入力した結果です。

このように、単純なプロンプトでもFREDの該当ページのURLを作成し、出力できます。
つまり、自分で翻訳してFRED内で検索するという作業を一括で行うことが可能です。
さらに、AIを利用するメリットを活かして「FXトレーダーがよく利用するFREDで取得可能な経済指標を調査し、その名称とFREDのシリーズIDを表形式でまとめてください。」というプロンプトを入力しました。

このように複数の経済データをまとめて調べることが可能です。
AIの出力なので必ずしも正しい情報とは限りませんが、実際に該当ページで確認するのは容易なので実用的ではないかと考えられます。
この記事では、FRED APIを利用して経済データを取得する方法と、それに伴いAPIキーを管理する方法の例や、AIの活用例を紹介しました。
特にAPIキーの管理方法や取り扱いの心得は、FREDに限らず他のAPIキーでも同様に使えるため、外部漏洩などのヒューマンエラーを防ぐためにも重要です。
【MT5 API入門】
- ・【MT5 API入門①】MT5 APIとPythonを接続したシステムトレードの基礎知識
- ・【MT5 API入門②】PythonとMT5を接続する方法
- ・【MT5 API入門③】PythonでMT5からデータを取得する方法
- ・【MT5 API入門④】PythonからMT5の新規注文と決済注文を実行
- ・【MT5 API入門⑤】Pythonでローソク足チャートを表示する方法
- ・【MT5 API入門⑥】テクニカル指標を計算してチャートにインジケーターを表示する方法
- ・【MT5 API入門⑦】FREDから経済データを取得する
- ・【MT5 API入門⑧】金融データ分析の基礎:リターンと対数
本記事の執筆者:藍崎@システムトレーダー
| 本記事の執筆者:藍崎@システムトレーダー | 経歴 |
|---|---|
![]() |
個人投資家としてEA開発&システムトレード。 トレードに活かすためのデータサイエンス / 統計学 / 数理ファイナンス / 客観的なデータに基づくテクニカル分析 / 機械学習 / MQL5 / Python |
EA(自動売買)を学びたい方へオススメコンテンツ

OANDAではEA(自動売買)を稼働するプラットフォームMT4/MT5の基本的な使い方について、画像や動画付きで詳しく解説しています。MT4/MT5のインストールからEAの設定方法までを詳しく解説しているので、初心者の方でもスムーズにEA運用を始めることが可能です。またOANDAの口座をお持ちであれば、独自開発したオリジナルインジケーターを無料で利用することもできます。EA運用をお考えであれば、ぜひ口座開設をご検討ください。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。
