前回の第3話では、シグナルを増やすほど精度が下がるという話を書いた。そして「前日の米国市場の動き」という1つのシグナルだけがわずかに効いた。
今回は、銘柄数を大幅に増やしたときに起きた「精度の暴落」と、その原因を掘り下げた話だ。
「8銘柄では少なすぎる」という気持ち
第3話の時点で、日次予測の対象は8銘柄だった。日経平均・ソフトバンクG・トヨタ・ソニー・S&P500・NASDAQ・ダウ・上海総合の8つ。
サイトを見てくれている人に「主要銘柄の見通しをお届けします」と書いておきながら、8銘柄しか予測していないのは正直なところ少し恥ずかしかった。
だから3月中旬から少しずつ銘柄を追加していった。最終的には145銘柄になった。日本の個別株・業種別ETF・米国株・各国指数・為替・コモディティまで。
拡張したら精度が暴落した
問題は銘柄を増やした直後に起きた。
| 日付 | 正解率 | 対象銘柄数 |
|---|---|---|
| 3/19→3/20 | 75%(6/8) | 8銘柄 |
| 3/20→3/21 | 75%(6/8) | 8銘柄 |
| 3/22→3/23 | 62.5%(5/8) | 8銘柄 |
| 3/23→3/24 | 42.9%(15/35) | 35銘柄(拡張後) |
| 3/24→3/25 | 37.1%(13/35) | 35銘柄 |
8銘柄のときは75%が出ていたのに、35銘柄に増やした途端に42.9%→37.1%と急落した。
最初は「新しく追加した銘柄のデータが足りないせいだ」と思った。でも調べてみると、原因はもっと根本的なところにあった。
AIが「下落好き」だったことに気づく
全予測データを集計してみると、こんな数字が出てきた。
- down(下落)予測: 67%
- up(上昇)予測: 33%
つまりAIは3回に2回、「明日は下がる」と予測していた。
一方で、実際の市場はどうかというと、株式市場は長期的には上昇する。日次でも「上昇した日」の方が「下落した日」より多い。だいたい55%前後が上昇日というのが歴史的な統計値だ。
AIが67%の確率で「下落予測」を出しているのに、実際には55%以上の日が上昇している。これが精度を下げていた正体だった。
なぜAIは「下落好き」になったのか
コードを見直すと、原因はシンプルだった。
予測の仕組みはこうなっている。移動平均・RSI・ボリンジャーバンドの3つのシグナルをそれぞれ「+1(上昇)」「-1(下落)」「0(中立)」で評価して合計する。
- 合計がプラス → 上昇予測
- 合計がマイナス → 下落予測
- 合計がゼロ → 「中立」
問題は「中立」のときだ。「中立」のとき、予測価格は現在価格と同じになる。そして正解判定のコードを見ると、「予測価格 ≤ 現在価格」は「下落予測」と判定される。
つまり3つのシグナルが引き分けた場合、実質的に「下落予測」として扱われていた。
下落トレンドが続いている銘柄では、移動平均が下向きになる。移動平均だけで「-1」が入ると、他の2つが中立でも合計は「-1」以下になる。だから全体的に下落予測が多くなっていた。
ベースレートを使った補正
解決策は「市場は55%の確率で上昇する」という統計的事実を組み込むことだった。
シグナルの合計だけで判断するのではなく、**「シグナルの強さ × 60%」+「市場の上昇傾向 × 40%」**でブレンドする方式にした。これを v6 と呼んでいる。
具体的には、シグナルが拮抗して合計がゼロに近いとき、市場の上昇傾向が効いて「上昇予測」に寄るようになる。強いベアシグナルが出ているときは、それでも下落予測を維持する。
ブレンドスコア = シグナル比率 × 0.6 + ベースレート補正 × 0.4
ブレンドスコア > 0 → 上昇予測
ブレンドスコア < -0.05 → 下落予測
バックテストの結果:
| モデル | 全体精度(3ヶ月バックテスト) |
|---|---|
| v1(元のモデル) | 50.4% |
| v5(米国市場連動) | 52.2% |
| v6(ベースレート補正) | 52.4% |
わずかな差だが、特定の銘柄では大きく改善した。商社・卸売ETFが47.5%→64.4%、機械ETFが40.7%→59.3%など、30銘柄以上で既存モデルを上回った。
145銘柄に拡張して見えてきたこと
銘柄を増やしたことで、8銘柄のときには見えなかった「AI自身の癖」が可視化された。
少ない銘柄数だと偶然の正解が精度を押し上げることがある。日経平均とS&P500だけを予測していれば、「たまたま当たり続ける日」があれば75%も出る。でも145銘柄に増やすと、そういう偶然の効果は平均化されて、モデルの本当の実力が見えてくる。
予測精度は37%まで落ちた。でも、その「落ちた理由」が明確にわかったことは収穫だった。原因不明のまま低い精度に悩み続けるより、「AIが下落好きになっている構造的な問題」を特定できた方がずっといい。
問題を特定できれば、解決策を作れる。それが v6 だった。
v6 の実運用精度はまだ数日分しか蓄積されていない。バックテストと実運用は必ずしも一致しない。
次の第5話では、実際の答え合わせデータが100件を超えたタイミングで、v6 が本当に機能しているかを検証する予定だ。
連載バックナンバー
免責事項: 本記事の予測・分析は参考情報です。投資判断はご自身の責任で行ってください。