米国株やFXを触っていると、毎月のように「雇用統計」や「政策金利」の発表で相場が大きく動く場面に出くわします。ニュースサイトの速報を確認するのも悪くありませんが、投資家として一歩先へ進むなら、その根拠となる「一次データ」を自分で直接扱えるようになるのが理想です。
今回は、セントルイス連邦準備銀行が公開している膨大な経済データベース「FRED」のAPIを活用し、Pythonを使ってマクロ経済指標を自動で取得する方法を解説します。過去のデータと今の数値を比較したり、自分でグラフを作ったりできるようになれば、誰かの意見に振り回されない自分だけの投資判断ができるようになります。
米国経済の「今」をデータで捉える重要性
投資の世界において、マクロ経済指標は相場全体の「体温」や「血圧」を知るための健康診断のようなものです。FRED APIを使いこなせるようになると、これまでニュースの断片として見ていた数字が、地続きのストーリーとして見えてくるようになります。
この章では、なぜわざわざ自分でデータを取得して分析する必要があるのか、その理由を3つの視点から掘り下げます。単に数字を眺めるだけではない、データ主導の投資スタイルがもたらすメリットを理解しましょう。
ニュースの二次情報ではなく一次データを直接扱う
ネットニュースやSNSで流れてくる経済情報の多くは、誰かの解釈が入った「二次情報」です。もちろん便利ではありますが、発信者の意図によって強調される部分が偏ったり、肝心な推移が省略されたりすることも少なくありません。
FRED APIを使えば、公的機関が発表している生の数字をそのまま自分の手元に引き出すことができます。
他人のフィルターを通さない一次データを直接見ることで、よりフラットな視点で相場を観察できるようになります。
たとえば、以下のようなメリットがあります。
- 発表直後の正確な数値を即座に確認できる
- ニュースで触れられていない数年前、数十年前の挙動を調べられる
- 自分で計算式を組み、独自の指標を作り出せる
自分の目で確かめた数字には、何物にも代えがたい説得力があります。
過去数十年分の推移を数秒でダウンロードできる
過去の景気後退期やインフレ局面で、金利や雇用がどう動いたかを知ることは、未来を予測する強力なヒントになります。FREDのデータベースには80万件以上の指標が収められており、その多くは数十年単位の歴史を持っています。
手作業でグラフを作るのは骨が折れますが、Pythonを使えば数秒で全期間のデータを取得可能です。
過去のパターンを瞬時に呼び出し、今の相場状況と重ね合わせることで、冷静な判断を下すための材料が揃います。
投資で生き残るためには、今の動きが歴史の中で「どの程度の異常値なのか」を知っておくことが欠かせません。
自分の手法に合わせた独自チャートを作る
一般的な証券会社のツールでは、表示できる経済指標の種類や期間に制限があることも多いです。FRED APIとPythonを組み合わせれば、表示形式も組み合わせも自由自在です。
たとえば「政策金利とS&P 500の推移を重ねる」といった分析も、数行のコードで実現できます。
自分が必要なデータだけを抜き出し、使いやすいように並べる。
こうした「自分専用の分析環境」を持つことが、結果として他の投資家との差別化に繋がります。
FRED APIを使うための準備を整える
実際にデータを取得する前に、FREDのシステムへアクセスするための「通行証」を手に入れる必要があります。また、Pythonで効率よくデータを扱うための専用の道具(ライブラリ)も揃えておきましょう。
この章では、初心者でも迷わずに分析を始められるよう、APIキーの発行から環境構築までの流れを具体的に紹介します。一度設定してしまえば、あとはコードを走らせるだけでいつでも最新データが手に入るようになります。
公式サイトで無料APIキーを発行する手順
まずはFREDの公式サイトにアクセスし、自分専用の「APIキー」を発行しましょう。これは、あなたがプログラムからFREDのサーバーにアクセスすることを許可するための識別番号です。
以下の手順で進めれば、数分で完了します。
- FRED(Federal Reserve Economic Data)の公式サイトでアカウントを作成する
- メニューの「My Account」から「API Keys」を選択する
- 「Request API Key」をクリックし、使用目的(個人分析用など)を簡単に入力して申請する
発行された32桁の英数字は、銀行のパスワードと同じくらい大切に保管してください。
fredapiライブラリをインストールする
Pythonには、FREDのデータを簡単に扱うための fredapi という便利なライブラリがあります。これを使わずにデータを取得しようとすると複雑なコードが必要になりますが、この道具を使えば数行で済みます。
ターミナル(またはコマンドプロンプト)を開き、以下のコマンドを入力してください。
pip install fredapi pandas matplotlib
分析に欠かせない pandas やグラフ作成用の matplotlib も一緒にインストールしておくと、その後の作業がスムーズに進みます。
Pandasなどのデータ分析ツールを読み込む
ライブラリの準備ができたら、Pythonのスクリプト内でこれらを呼び出します。特に pandas は取得したデータを表形式で整理するために必須のツールです。
以下の表に、今回使用する主なライブラリの役割をまとめました。
| ライブラリ名 | 役割 |
| fredapi | FREDのサーバーからデータを取ってくる「運び屋」 |
| pandas | 届いたデータを綺麗に並べて整理する「事務員」 |
| matplotlib | 整理されたデータをグラフにする「絵描き」 |
これらを組み合わせることで、データの取得から分析、視覚化までが一本の線で繋がります。
投資家がまず押さえておくべき主要指標のID
FREDには膨大なデータがありますが、すべてを追う必要はありません。米国経済の屋台骨を支える「雇用」「金利」「物価」に関連するいくつかの指標を押さえるだけで、相場の大きな流れは十分に把握できます。
ここでは、APIでデータを呼び出す際に必要となる「シリーズID」という名前とともに、重要指標を紹介します。これらのIDは、辞書を引くときの見出しのようなものだと考えてください。
雇用市場の強さを測る「非農業部門雇用者数」と「失業率」
米国経済のエンジンとも言えるのが雇用です。毎月第1金曜日に発表される「雇用統計」の数値は、FRB(連邦準備制度理事会)の政策判断に直結します。
特に注目すべきは以下の2つです。
- PAYEMS: 非農業部門雇用者数。毎月どれだけ雇用が増えたかを示す最も重要な数字です。
- UNRATE: 失業率。労働力人口のうち、仕事を探している人の割合を示します。
これらが強い(雇用が増え、失業率が低い)と景気が良いと判断され、金利の上昇やドル高を招く要因になります。
市場の熱量を表す「10年債金利」と「政策金利」
金利は「お金の値段」です。金利が動くと、株価や為替、さらには住宅ローンの金利まで、あらゆるものに影響が波及します。
分析の軸となるのはこの2つです。
- GS10: 10年物国債利回り。長期金利の代表格で、株価の割高・割安を測る基準になります。
- FEDFUNDS: 実効フェデラル・ファンド金利。FRBが決める「政策金利」の実績値です。
長期金利が上がると株価には逆風になりやすく、政策金利が上がると景気を冷やすブレーキの役割を果たします。
インフレの進行度をチェックする「消費者物価指数」
最近の相場で最も注目されているのがインフレ(物価上昇)です。物価が上がりすぎると、FRBは金利を上げて抑え込もうとするため、株価にとっては大きな不安要素になります。
- CPIAUCSL: 消費者物価指数(全都市消費者・全品目)。いわゆるCPIです。
この数値が高い状態が続くと、「まだ利上げが続くかもしれない」という警戒感が市場に広がります。
Pythonで経済指標を自動取得するコードの実装
準備が整ったら、いよいよ実際にデータを取得するプログラムを書いてみましょう。ライブラリを使えば、驚くほど短い記述で目的の数値を手に入れることができます。
この章では、APIキーを使って接続し、特定の期間のデータを一括で引き出すための具体的なコードを紹介します。エラーを防ぐためのデータの整え方についても触れていきます。
APIキーを設定してFREDに接続する
まずは、発行したAPIキーを使ってFREDのシステムにログインする処理を書きます。
from fredapi import Fred
import pandas as pd
# 自分のAPIキーを入力
fred = Fred(api_key='YOUR_API_KEY_HERE')
これだけで、あなたのパソコンとセントルイス連邦準備銀行のサーバーが繋がりました。
指定した期間のデータを一括で引き出すコード
次に、特定の指標を期間指定で取得します。ここでは例として、10年債利回り(GS10)を2020年から取得してみましょう。
# 10年債利回りを取得
data = fred.get_series('GS10', observation_start='2020-01-01')
# 最初の数行を確認
print(data.head())
実行すると、日付と金利の数値がずらりと表示されます。
一度に数十年分のデータを取ることも可能ですが、あまりに大量のデータを頻繁にリクエストすると制限がかかることがあるので注意しましょう。
欠損値を整理して分析しやすい形に加工する
取得したデータには、土日祝日などの影響で「空欄(欠損値)」が含まれていることがあります。そのままではグラフが途切れたり計算エラーになったりするため、整理が必要です。
pandas を使って、前日の数値で埋めるなどの処理を行いましょう。
fillna(method='ffill')で前の日のデータを使って空欄を埋めるdropna()で空欄がある行を丸ごと削除する
このようにデータを「掃除」しておくことで、その後の分析の精度がぐっと高まります。
取得したマクロ経済指標を可視化して分析する
数字の羅列を眺めているだけでは、相場の潮目が変わった瞬間を見抜くのは困難です。人間が直感的に理解できるよう、取得したデータをグラフにしてみましょう。
可視化することで、今の数値が過去と比べて「異常に高いのか」「まだ上昇の余地があるのか」がはっきりと見えてきます。代表的な分析手法をいくつか紹介します。
雇用者数の推移をグラフに描画する
雇用者数のデータ(PAYEMS)をグラフにすると、景気の波が視覚的にわかります。
たとえば、過去の景気後退期(リセッション)では、グラフが崖のように急落しているのが確認できるはずです。
今のグラフの角度が緩やかになってきているなら、景気の減速が始まっている可能性を疑うきっかけになります。
長期金利の変動を時系列で確認する
金利のグラフは、投資家にとっての「羅針盤」です。
10年債利回りの推移を表示させ、そこに自分の保有銘柄の株価を重ねてみてください。
金利が上昇し始めたタイミングで株価が頭打ちになっていないか。こうした相関性を自分の目で確認することが、経験に基づいた確かな投資判断に繋がります。
景気後退の予兆とされる「逆イールド」を算出する
ペアトレードのような考え方で、2つの指標の「差」を見ることもできます。有名なのが、10年債金利と2年債金利の差です。
通常、長期金利の方が高いはずですが、これが逆転する「逆イールド」は景気後退の前兆と言われます。
# 10年債と2年債の差(スプレッド)を計算
ten_year = fred.get_series('GS10')
two_year = fred.get_series('GS2')
spread = ten_year - two_year
このスプレッドをグラフ化し、数値がマイナスに沈んでいる期間をチェックしてみてください。
歴史を振り返ると、逆イールドが発生したしばらく後に大きなショックが起きていることが多い事実に気づくはずです。
複数の指標を組み合わせて相関性を読み解く
指標は単体で見るよりも、組み合わせて見ることで真の価値を発揮します。米国経済は各要素が複雑に絡み合って動いているからです。
金利、インフレ、株価。これらがどのように影響し合っているのかを分析することで、次に何が起きるかのシナリオを立てやすくなります。代表的な組み合わせとその見方を紹介します。
政策金利と株価の相関関係を可視化する
「中央銀行には逆らうな」という相場の格言があります。政策金利(FEDFUNDS)の上げ下げと株価の推移を比較してみましょう。
一般的に、利上げが止まり、利下げが示唆される時期は株価にとってプラスになりやすい傾向があります。
過去の利上げ停止から株価がどう動いたかを分析しておけば、次のチャンスを冷静に待てるようになります。
物価上昇(インフレ)が金利に与える影響を調べる
インフレ率(CPI)と金利の動きを重ねると、FRBの苦悩が見えてきます。
物価が上がっているのに金利を上げられない状況なのか、あるいは物価が下がってきたので金利を下げる余地が出てきたのか。
- インフレが加速 → 金利も追随して上がる(株価には重石)
- インフレが沈静化 → 金利も下がり始める(株価には追い風)
この連動性を理解しておけば、毎月のCPI発表の結果を見て、金利がどう動くかを予測しやすくなります。
過去の暴落局面での指標の動きを振り返る
2008年のリーマンショックや2020年のコロナショックのとき、雇用や金利はどう動いたでしょうか。
FRED APIなら、当時のデータをピンポイントで取り出し、再現することが可能です。
「あの時と同じような動きが今も起きているか」を確認することで、過度な楽観を戒め、リスクを避ける判断ができるようになります。
分析ツールを実戦で活用するための注意点
どれほど便利なツールであっても、データの性質を正しく理解していなければ、誤った判断を下してしまいます。マクロ経済データには、株価のようなリアルタイムの数字とは異なる特有のルールがあります。
実戦で恥をかいたり損失を出したりしないために、最低限知っておくべき3つの注意点をまとめました。
指標によって発表タイミングが異なることを理解する
経済指標は、種類によって更新される頻度がバラバラです。
たとえば金利は毎日動きますが、雇用統計やCPIは月に一度しか発表されません。
「最新のデータを取得したはずなのに、一ヶ月前の数字しか入っていない」と慌てる必要はありません。それぞれの指標がいつ発表されるのか、カレンダーを把握しておくことが大切です。
季節調整値と未調整値の違いに注意を払う
雇用者数などのデータには、季節による変動(12月は雇用が増えやすいなど)を除去した「季節調整値(SA)」と、生の数字である「未調整値(NSA)」の2種類があります。
投資分析では、純粋なトレンドを見るために「季節調整値」を使うのが一般的です。
APIで取得する際にどちらのIDを使っているのか、必ず確認する癖をつけましょう。
APIのリクエスト制限を超えないように設計する
FRED APIは無料で使えますが、サーバーへの負荷を抑えるための制限(1分間に120リクエストまでなど)が設けられています。
全銘柄の全期間データを一気に取得しようとすると、エラーで止まってしまうことがあります。
- 一度取得したデータは自分のパソコンに保存して使い回す
- 必要な時だけ最新分を追記する
time.sleep()を使って、リクエストの間に休憩を入れる
こうした工夫をすることで、サーバーに優しく、かつ安定した分析環境を維持できます。
まとめ:マクロ視点を持った投資家へ
マクロ経済指標を自分で分析できるようになることは、投資の「視界」を広げることに他なりません。ニュースのヘッドラインに一喜一憂するのではなく、FRED APIを通じて自分自身で歴史と対話し、今の立ち位置を確認する。この習慣が、あなたの資産を守り、育てるための土台になります。
今回の内容を簡単におさらいしましょう。
- FRED APIの強み: 公的な一次データを、数十年前までさかのぼって無料で一括取得できる。
- 準備: 公式サイトでAPIキーを発行し、Pythonに
fredapiライブラリを導入する。 - 主要指標: 雇用(PAYEMS)、金利(GS10)、物価(CPIAUCSL)の3大要素を中心に追いかける。
- 分析のコツ: グラフ化して視覚的に捉え、複数の指標を組み合わせて相関性を読み解く。
まずは、自分の保有している銘柄が一番影響を受けそうな指標を一つ選んで、グラフにしてみることから始めてみてください。

