commodities について
commoditiesは、金融の専門家や投資家向けに商品市場を解説するスキルです。先物価格やリターン要因を数式と例で扱い、計算を実行・検証できるスクリプトも備えています。
主な機能
- 01現物価格と先物価格の関係
- 02コンタンゴとバックワーデーションの分析
- 03商品リターンとロール利回りの分解
- 04商品セクターと指数の特徴
- 05季節性とインフレヘッジの分析
- 06デモ実行と出力の検証
活用シーン
- 01先物カーブがロール利回りに与える影響の評価
- 02先物商品投資のリターン分解
- 03商品指数のセクター比率の比較
- 04数式計算のデモと検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill commoditiesインストール後、Claude Code で/commoditiesを入力して読み込まれたか確認します。
同梱ファイルscripts/commodities.py
詳細
コモディティ
基本概念
現物価格と先物価格
先物価格は、キャリーコストモデルを通じて現物価格と関連しています。
F = S × e^((r + u - y) × t)
ここで、S = 現物価格、r = リスクフリーレート、u = 保管コスト、y = コンビニエンスイールド、t = 満期までの期間です。コンビニエンスイールドは、現物コモディティを保有するメリット(例:生産停止の回避)を表します。
コンタンゴ
F > S の場合、先物カーブは右肩上がりになります。保管コストと資金調達コストがコンビニエンスイールドを上回っています。コンタンゴでは、投資家が満期を迎える安い限月の先物契約を売り、より高い後の限月の契約を買わなければならないため、ロールイールドはマイナスになります。コンタンゴは、供給が潤沢な市場や、石油や天然ガスなど貯蔵可能なコモディティでよく見られます。
バックワーデーション
F < S の場合、先物カーブは右肩下がりになります。多くの場合、短期的な供給不足により、コンビニエンスイールドが保管コストと資金調達コストを上回っています。バックワーデーションでは、投資家が満期を迎える高い限月の先物契約を売り、より安い後の限月の契約を買うため、ロールイールドはプラスになります。バックワーデーションは、供給が逼迫している環境でよく見られます。
コモディティリターンの源泉
コモディティのトータルリターンは、次の3つの要素で構成されます。
- 現物リターン: コモディティの現物価格の変動
- ロールイールド: 満期を迎える先物を次の限月の契約に乗り換えることによる損益
- 担保利回り: 先物ポジションを保有するために差し入れた証拠金/担保から得られる利息
トータルリターン = 現物リターン + ロールイールド + 担保利回り
ロールイールド
満期を迎える先物契約を、より満期の遠い契約に入れ替える際に実現する損益です。コンタンゴ(右肩上がりのカーブ)では、ロールイールドはマイナスになります。バックワーデーション(右肩下がりのカーブ)では、ロールイールドはプラスになります。ロールイールドはトータルリターンを大きく押し下げたり押し上げたりすることがあり、コンタンゴが深い場合、ロールイールドによって現物価格の上昇分が相殺される、あるいはそれを上回ることさえあります。
コモディティのセクター
- エネルギー: 原油、天然ガス、ガソリン、暖房油 — 生産額で最大のセクター
- 貴金属: 金、銀、プラチナ、パラジウム — 安全資産としての用途と産業用途
- 産業用金属: 銅、アルミニウム、亜鉛、ニッケル — 世界経済の活動と連動
- 農産物: トウモロコシ、小麦、大豆、コーヒー、砂糖、綿花 — 天候や収穫に左右される
- 畜産物: 生牛、赤身豚肉 — 需要主導
コモディティ指数
- S&P GSCI: 生産量加重方式で、エネルギーの比重が大きい(2024~2025年時点で約60%以上。構成比率は毎年見直されるため、最新の構成を確認してください)。世界のコモディティ生産を表します。
- Bloomberg Commodity Index(BCOM): セクター別上限(33%)と単一コモディティ別上限(15%)を設けて分散しています。よりバランスの取れたエクスポージャーを提供します。
- 指数の構築方法はリターンに大きく影響します。エネルギーの比重が大きい指数と分散型指数では、値動きが大きく異なります。
インフレヘッジ特性
コモディティは予想外のインフレと正の相関を示す傾向があり、ヘッジ手段となる可能性があります。その仕組みは直接的です。コモディティ価格の上昇はインフレの構成要素です。ただし、ヘッジ効果は完全ではなく、需要主導や金融要因によるインフレよりも、供給主導のインフレに対して有効です。
季節性
農産物には収穫に関連するパターンが見られます(収穫期には供給が増加し、価格が下がります)。エネルギーには暖房・冷房需要のパターンがあります(天然ガスは冬、ガソリンは夏のドライブシーズンに需要がピークを迎えます)。季節性は広く知られており、部分的に価格に織り込まれていますが、季節的なパターンが先物カーブの形状に影響することは依然としてあります。
主な計算式
| 計算式 | 表現 | 用途 |
|---|---|---|
| キャリーコスト | F = S × e^((r+u-y)×t) | 理論先物価格 |
| ロールイールド(概算) | (F_near - F_far) / F_near | 契約の乗り換えによるリターン |
| トータルリターン | 現物リターン + ロールイールド + 担保利回り | コモディティの全リターン |
| 年率換算ロールイールド | ((F_near/F_far)^(365/days_between) - 1) | 年率換算したロールの影響 |
| コンビニエンスイールド | y = r + u - (1/t) × ln(F/S) | インプライド・コンビニエンスイールド |
計算例
例1:コンタンゴにおけるロールイールド
**条件:**期近の原油先物価格が50ドル、翌限月が52ドル(コンタンゴ)、ロール期間は1か月 **計算:**年率換算したロールイールド 解答: 月次ロールイールド = (F_near - F_far) / F_near = ($50 - $52) / $50 = -4.0% これは1か月で4.0%の損失です。 年率換算したロールイールド ≈ -4.0% × 12 = -48%(単純年率換算) 毎月ロールを12回行った場合の複利計算:(50/52)^12 - 1 = (0.9615)^12 - 1 = -37.5% 上記の日数計算式を使い、ロール期間を30日とした場合:(50/52)^(365/30) - 1 = -37.9%
これは、深刻なコンタンゴがいかに大きなロールイールドの下押し要因になり得るかを示しています。実際には、期近限月から第2限月にかけてこれほど急なコンタンゴになることはまれですが、この例は、コモディティ投資家にとってイールドカーブの形状が非常に重要な理由を示しています。
例2:コモディティETFのトータルリターンの分解
**条件:**1年間で、原油スポット価格が70ドルから77ドルに上昇(+10%)。ロールイールド = -6%。担保利回り(Tビル金利)= 5%。 **計算:**先物ベースのコモディティETFのトータルリターン 解答: トータルリターン = スポットリターン + ロールイールド + 担保利回り トータルリターン = 10% + (-6%) + 5% = 9%
スポット価格が10%上昇したにもかかわらず、先物ベースの投資家のリターンは、ロールイールドの6%の下押しが担保利回り5%によって一部相殺され、9%にとどまりました。現物を保有していた場合(ロールコストなし、担保利回りなし)、リターンは10%でした。
よくある落とし穴
- スポットリターンと先物ベースのリターンを混同すること — ほとんどの投資家は先物を通じてコモディティに投資するため、ロールイールドが重要です
- コンタンゴ市場でのロールイールドの下押しを無視すること — コンタンゴは時間の経過とともにリターンを大幅に損なう可能性があります
- コモディティETFはスポット価格ではなく先物を追跡します — ETFのリターンはスポット価格の変動と大きく乖離することがあります
- 保管コストは現物投資家には重要ですが、金融投資家には重要ではありません — 金融投資家が直面するのはロールイールドであり、保管コストではありません
相互参照
- historical-risk(wealth-managementプラグイン):リターンとリスク測定の基礎
- real-assets(wealth-managementプラグイン):コモディティの現物および収集品の所有(地金、農地、森林地)。役割分担:このスキルは先物を通じて投資する金と、安全資産としての金の配分に関する問いを担当し、real-assetsは金の現物・収集品としての所有と保管を担当します
- currencies-and-fx(wealth-managementプラグイン):コモディティと通貨の関係
- asset-allocation(wealth-managementプラグイン):ポートフォリオの分散投資先としてのコモディティ
スクリプトの実行
uv run scripts/commodities.py # run the demo (uses PEP 723 inline deps)
uv run scripts/commodities.py --verify # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/commodities.py # alternative (requires: pip install numpy)
デモでは上記の計算が出力され、値はこのスキルの計算例と一致します。クラスと関数の一覧は --help を実行して確認してください。プログラムから使用する場合は、スクリプトを実行するのではなく、モジュールをインポートしてください。デモは python commodities.py の実行時にのみ動作します。