前回(EP.15)は 株価ヒストリカルで「自社売上と市場の関係」を見ました。今回は一段上のマクロ視点。(先物)・コモディティ・為替・(恐怖指数)を組み合わせて「この先 3〜6 ヶ月の景気がどう動きそうか」を読みに行きます。
対象は製造・物流・小売など 原材料費や為替に売上が引っ張られる業種全般。「原油が上がってから3ヶ月後に物流費が上がる」のような 先行指標 を社内 に取り入れる動きは、コロナ後の供給網ショックを経て急速に広がっています。
押さえておきたい主要マクロ指標
| 指標 | ティッカー() | 意味 | 影響を受ける業種 |
|---|---|---|---|
| WTI 原油先物 | CL=F | 米国原油の先物価格 | 物流・化学・運輸・電力 |
| 金先物 | GC=F | 金価格 → 安全資産需要・インフレ予想 | 貴金属・宝飾・金融 |
| 銅先物 | HG=F | Dr. Copper ─ 景気の体温計 | 建設・電線・電子部品 |
| 天然ガス先物 | NG=F | エネルギー価格 | 化学・電力・暖房 |
| USD/JPY | JPY=X | ドル円為替 | 輸出・輸入企業すべて |
| EUR/JPY | EURJPY=X | ユーロ円 | 対欧州取引 |
| (恐怖指数) | ^VIX | S&P500 ボラティリティ | 全業種(リスクオフ判定) |
| 米10年金利 | ^TNX | 米国の長期金利 | 金融・不動産 |
| S&P 500 | ^GSPC | 米国株式指数 | 対米輸出・グローバル |
1. WTI 原油 × 物流コストの先行指標化
「原油が上がるとどれくらい物流費に効くか」 は経理部門の永遠の疑問。yfinance なら 5 行で取れます。
!pip install -q yfinanceimport yfinance as yfimport matplotlib.pyplot as pltimport japanize_matplotlib # noqa: F401
# WTI 原油(CL=F は USD/バレル)と USD/JPYoil = yf.Ticker("CL=F").history(period="5y")["Close"]usd = yf.Ticker("JPY=X").history(period="5y")["Close"]
# 原油を「円建て」に変換(≒ 国内の輸入原油価格の代理指標)oil_jpy = (oil * usd).dropna()
fig, ax = plt.subplots(figsize=(12, 5))ax.plot(oil_jpy.index, oil_jpy.values, color="#d62728", linewidth=1.2, label="WTI 原油(円建て換算)")ax.set_title("WTI 原油の円建て価格(円安が効くと価格上昇が増幅)")ax.set_ylabel("円/バレル"); ax.legend(); ax.grid(alpha=0.3)plt.tight_layout(); plt.show()WTI はドル建てなので、原油が下がっていてもドル円が円安ならコストは増えます(実際 2022〜2024 年がそう)。日本企業の調達コスト分析では、ドル建て価格 × 為替 = 円建てコストで見るのが必須。
2. Dr. Copper(銅)で景気の体温を測る
銅は世界中の建設・電気機器に使われるため、景気の先行指標として「Dr. Copper(銅博士)」と呼ばれます。中国の不動産・米国のインフラ投資・電気自動車普及(EV1台あたり銅 80kg)が需要を押し上げます。
copper = yf.Ticker("HG=F").history(period="5y")["Close"]n225 = yf.Ticker("^N225").history(period="5y")["Close"]
# 開始日=100 で正規化copper_norm = copper / copper.iloc[0] * 100n225_norm = n225 / n225.iloc[0] * 100
fig, ax = plt.subplots(figsize=(12, 5))ax.plot(copper_norm.index, copper_norm.values, label="銅 HG=F", color="#b87333", linewidth=1.5)ax.plot(n225_norm.index, n225_norm.values, label="日経225", color="#1f77b4", linewidth=1.5)ax.set_title("銅 vs 日経225(5年・開始日=100で正規化)")ax.legend(); ax.grid(alpha=0.3); plt.tight_layout(); plt.show()3. VIX で「市場の心理」を読む
(恐怖指数)は S&P500 オプションから算出される、向こう 30 日の予想ボラティリティ。20以下=平穏、30超=動揺、50超=パニック。リーマンショックは 80 超え、コロナショックは 80 超え。
vix = yf.Ticker("^VIX").history(period="5y")["Close"]
fig, ax = plt.subplots(figsize=(12, 5))ax.plot(vix.index, vix.values, color="#1f77b4", linewidth=1)ax.axhspan(0, 20, alpha=0.1, color="green", label="平穏(〜20)")ax.axhspan(20, 30, alpha=0.1, color="yellow", label="警戒(20〜30)")ax.axhspan(30, 100, alpha=0.1, color="red", label="動揺(30〜)")ax.set_title("VIX(恐怖指数)の推移と危険水準")ax.set_ylabel("VIX"); ax.legend(); ax.grid(alpha=0.3)plt.tight_layout(); plt.show()VIX が 30 を超えたらリスクオフ判定として、新規仕入れ・設備投資の決裁プロセスを慎重モードに切り替える ような社内ルールに使えます。「経営の天気予報」として KPI ダッシュボードに常設するのが、コロナ後の経営層に好評の使い方。
4. 多変量相関ヒートマップで全体像を掴む
個別の指標を見るのも大事ですが、「自社売上はどの指標と最も連動しているか」 を一目で見たいなら相関ヒートマップ。・原油・銅・ドル円・VIX・米金利と自社売上を並べます。
import pandas as pdimport seaborn as sns
# 月次に揃えるdef monthly(ticker): return yf.Ticker(ticker).history(period="5y")["Close"].resample("MS").last()
df = pd.DataFrame({ "TOPIX": monthly("^TPX"), "原油": monthly("CL=F"), "銅": monthly("HG=F"), "USDJPY": monthly("JPY=X"), "VIX": monthly("^VIX"), "米10年金利": monthly("^TNX"), "自社売上": ... # 社内 DWH から取得})df_pct = df.pct_change().dropna()
corr = df_pct.corr()plt.figure(figsize=(8, 6))sns.heatmap(corr, annot=True, fmt=".2f", cmap="RdBu_r", center=0, vmin=-1, vmax=1, square=True)plt.title("マクロ指標 × 自社売上の月次変化率の相関")plt.tight_layout(); plt.show()5. 先物カーブ(コンタンゴ/バックワーデーション)
には 限月(げんげつ:受渡月) という概念があります。同じ商品でも 直近物 < 6ヶ月先 < 1年先 と価格が並ぶ場合(コンタンゴ)と、直近 > 先 の場合(バックワーデーション)があります。
- コンタンゴ: 「将来は需給ゆるむだろう」予想 → 通常時のパターン
- バックワーデーション: 「いま需給が逼迫してる」予想 → 供給ショック・地政学リスクのサイン
- 社内活用例: 仕入れ価格交渉のタイミング判断、在庫水準の見直し
yfinance / では 直近限月のみ しか取れません。先物カーブ全体を見たい場合は、CME (シカゴ商品取引所) の有料データか、Quandl / Nasdaq Data Link の Wiki Continuous Futures を検討。
実装例:マクロ・コックピット(社内ダッシュボード)
ここまでの指標を / にまとめると、経営会議で使える マクロ・コックピット が完成します。月1回の定例で 「先月までの数字」+「先行指標の動き」 を見るだけで、議論の質がガラッと変わります。
- 上段:KPIカード(原油 / ドル円 / TOPIX / VIX の現在値・前月比)
- 中段:6ヶ月トレンド(折れ線で重ねる)
- 下段:自社売上との相関ヒートマップ(直近12ヶ月)
- 右サイド:アラート(VIX > 30、原油 > 100ドル など、閾値超過を赤くハイライト)
留意点(重要)
金融商品取引法上、無資格者による「投資助言」は違法です。社内分析・自社調達コスト分析として使うのは問題ありませんが、顧客向けに「この銘柄は買い」「この時期は売り」のような提案を出すのは NG。あくまで「自社オペレーションの先読み」用途に限定してください。
- 先物価格は SPOT(現物)と乖離する: 期近限月でも現物と数%ズレる。社内の調達 KPI と比較するときは「乖離傾向の方向」を見る
- 為替は東京・ロンドン・NY市場で連続している: 終値の取り扱いに注意。yfinance のデフォルトは NY 終値
- 祝日カレンダー: 米国の Memorial Day や Thanksgiving は休場、日本の年末年始も同様。月次集計時のカレンダー差に注意
- 外国指標の自社利用: 「自社の売上に影響する」と説明できる範囲で使う。業種関係ない指標を相関だけで採用すると、疑似相関で読み違える
ふくふくの進め方
「マクロ指標と自社売上を結びつけたコックピットを社内に置きたい」というご相談には、1〜2ヶ月で MVP(マクロ指標の取得 → 月次レポート自動配信)、3〜6ヶ月で売上予測モデル( や原油先物を特徴量に組み込み、 的な KPI 解説の自然言語サマリー付き)まで構築可能。社内 への定期 と Slack/メール配信 をセットでお出しするのが定型パターンです。
次回予告
EP.17 では、日本の住所データを業務で扱う完全ガイド。郵便番号・住所・緯度経度・・ の全パターンを「正引き/逆引き」で使いこなし、顧客マスタや配送・分析業務に組み込む実装ノウハウを大全集としてお届けします。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。