センチメント指数の算出方法
本指数がどのデータから、どの式で、どんな前提のもとに計算されているかを全て公開します。 指数の妥当性はブラックボックスではなく、検証可能であることによって担保されるべきだと考えているためです。
1. 何を測っているのか
本指数は 報道テキスト由来 です。株価・出来高・ボラティリティ・オプション比率といった市場データは一切使いません。 海外経済メディアの記事本文をAIが読み、その記事が市場に対して強気・弱気どちらの材料かを判定し、 重要度と判定信頼度で加重平均したものが指数値です。
| CNN Fear & Greed Index | 本指数 | |
|---|---|---|
| 入力データ | 株価・出来高・ボラティリティ等の市場データ7指標 | 海外経済メディアの報道テキスト |
| 測っているもの | 価格が動いた「結果」としての市場心理 | 価格を動かしうる「報道の空気」 |
| 対象範囲 | 米国株式市場 | 米国株・日本株・FX・暗号資産・コモディティ・マクロ |
| 算出ロジック | 非公開 | 本ページで全公開・履歴データも配布 |
どちらが優れているという話ではなく、見ている場所が違います。 市場データ由来の指標と併用することを想定しています。
2. 計算式
対象は、算出日を末尾とする直近7日間に収集された記事です。各記事について センチメント判定(強気/弱気/中立/混在)、重要度スコア(0〜100)、判定信頼度(0〜100)を持ちます。
対象記事: 算出日を末尾とする直近7日間
各記事のスコア寄与:
sign = { 強気: +1, 弱気: -1, 中立: 0, 混在: 0 }
weight = 重要度スコア × (判定信頼度 / 100)
contrib = sign × weight
raw = Σ(contrib) / Σ(weight) # -1.0 〜 +1.0
index = round((raw + 1) × 50) # 0 〜 100- 「混在」は中立扱い(sign = 0)。 強気材料と弱気材料が同居する記事を、どちらかに寄せて数えないためです。
- 重要度で重み付けするため、 些末なニュースが大量にあっても指数はほとんど動きません。
- ウィンドウ内の記事数が5件未満の場合は「データ不足」として前日値を据え置き、 その旨をフラグで表示します。欠測を0や50で埋めることはしません。
3. なぜ7日ウィンドウなのか(検証結果)
当初は「その日の記事のみ(24時間)」で算出していましたが、過去データでのバックフィル検証の結果、単日ウィンドウはノイズであると判断して破棄しました。1日あたりの記事数が平均8件しかなく、数本の記事で指数が吹き飛んでいたためです。
| 指標 | 単日ウィンドウ | 7日ウィンドウ(採用) |
|---|---|---|
| 平均絶対日次変動 | 19.4 | 3.2 |
| 標準偏差 | 18.0 | 8.6 |
| 指数のレンジ | 11 〜 95 | 30 〜 69 |
| ウィンドウ内の平均記事数 | 8 | 30 〜 44 |
| データ不足日(113日中) | 32日 | 10日 |
単日ウィンドウでは ±30 以上のスイングが80日中16回発生しており、指数として使い物になりませんでした。 意味のあるセンチメント指数の日次変動は概ね 3〜8 の範囲に収まるべきで、7日ウィンドウはこれを満たします。
なお、収縮(shrinkage, K=20)による平滑化も検証しましたが、レンジが 38〜63 に潰れて 指数としての解像度を失ったため不採用としています。
4. 資産クラス別サブ指数
資産クラス別のサブ指数も同じ式で算出しますが、母数が小さくなるため収縮(K=4)で中立50側へ引き戻しています。記事1本で「100(極端な強気)」が出るような表示を防ぐためです。 記事数が 3 件未満の資産クラスは、サンプルとして薄すぎるため表示しません。
5. 更新頻度と、この指数の限界
記事の収集とAI分析は1日2回(日本時間の朝・夜)、指数の再計算はその直後に自動実行されます。 人手による記事の取捨選択や指数値の調整は行っていません。
限界として、以下の点は明示しておきます。
- 収集元RSSの構成(米系メディア中心)に由来する報道バイアスを受けます。
- センチメント判定はAIによるもので、誤判定はゼロにはなりません。 重要度による加重と7日平均で影響を抑える設計にとどまります。
- 本指数は市場の将来を予測するものではありません。 報道の傾向を数値化したものであり、投資助言ではありません。
データは自由に使えます
指数の全履歴は CSV / JSON で配布しています(出典表示のうえ自由に利用可)。 検証・再現・引用にお使いください。