ニュースとテクニカル指標でLLMに数日間の為替変動を予測させる

始めに

大学生が為替取引でお金を増やす大会、全日本外貨取引選手権に参加しています、KawaseNinjasです!

私たちはAIが自動で現在の為替市場と世界情勢を読み、どの通貨を買い、売るべきかを自動で定期的に教えてくれる仕組みを作成中です。

私たちのnoteではその進捗と内容を随時投稿していくので是非「いいね」「フォロー」お願いします🙇
(いいねが多くなったらソースコード等も公開予定です)

今回は、ニュースと特定のテクニカル指標を次のようにまとめたプロンプトを入力した時のLLMの性能評価をしました

プロンプト(AI入力データ)

[通貨ペア]: USD/JPY

[現在の日時]
2025/07/01 13:00

[直近6時間(1時間足)の価格とRSIの推移]:
1時間前: 始値: 143.9980, 終値: 144.0100, RSI: 45.6
2時間前: 始値: 143.9980, 終値: 143.9150, RSI: 43.1
3時間前: 始値: 143.9160, 終値: 143.8020, RSI: 33.0
4時間前: 始値: 143.8040, 終値: 143.5640, RSI: 29.7
5時間前: 始値: 143.5650, 終値: 143.7920, RSI: 33.1
6時間前: 始値: 143.7970, 終値: 143.7230, RSI: 26.0

※RSIの解釈:
- RSI > 70: 買われすぎ(反転下落の可能性)
- RSI < 30: 売られすぎ(反転上昇の可能性)
- RSIの方向性: 上昇/下降トレンドの強さを示す

[直近3日間(日足)の価格と移動平均]:
2025-06-28: 始値: 144.8780, 終値: 144.6150, SMA(20): 144.7597
2025-06-30: 始値: 144.4740, 終値: 144.4450, SMA(20): 144.6137
2025-07-01: 始値: 144.4470, 終値: 143.7230, SMA(20): 144.3767

※SMA(20)の解釈:
- 価格 > SMA(20): 上昇トレンドの可能性
- 価格 < SMA(20): 下降トレンドの可能性
- SMA傾斜: 上向きなら強気、下向きなら弱気

[MACD(現在)]: MACD: -0.3774, Signal: -0.3721

※MACDの解釈:
- MACD > シグナル: 買いシグナル
- MACD < シグナル: 売りシグナル
- MACDがゼロラインを上回る: 強気相場
- MACDがゼロラインを下回る: 弱気相場

[ニュース要約]:
- 2025-07-01 09:00 「日銀夏休み親子見学会2025」の申込み受付終了のお知らせ: 「日銀夏休み親子見学会2025」の申込み受付は2025年7月1日をもって終了しました。多くのご応募ありがとうございます。通常の見学案内(小学5年生以上)は本店見学のページで確認可能です。照会先は情報サービス局 親子見学会担当(Tel:03-3277-1902)です。
- 2025-07-01 09:00 「日銀夏休み親子見学会2025」の開催および申込み方法について: 「日銀夏休み親子見学会2025」は2025年8月25日~28日、日本銀行本店(東京都中央区)で開催。来館見学とオンライン見学会の2種類あり、両方とも事前予約制(先着順)。来館見学は小学4~6年生と保護者対象、各回20人定員。オンライン見学会は8月28日、小学4~6年生と保護者対象。申込みは7月1日~15日、E-mail(post.prd4@boj.or.jp)で行い、個人情報は見学会以外では使用しない。問い合わせは日本銀行情報サービス局(電話:03-3277-1902)。
- 2025-07-01 07:41 A shadow Fed chief could lead to a ‘revolt’ on the FOMC against Powell’s successor, former vice chair warns - MSN: 2023年4月16日、米国連邦準備銀行(FRB)議長ジェームズ・ポールは、シカゴ経済クラブで講演した。元FRB副議長のアラン・ブリンダーは、ポールの任期が終わる前に「シャドウ・FRB議長」を任命すると市場混乱を引き起こすと警告した。ワールド・ストリート・アナリストも、これは自己矛盾する考えでドルと国債を下げる可能性があると指摘した。トランプ大統領は、ポールの代替者を「非常に近く」任命すると言ったが、金利を下げるよう圧力かけている。ポールの任期は2026年5月までで、通常は3〜4か月の移行期があるが、早期任命は市場に金利下落を煽る可能性がある。
- 2025-07-01 04:06 FOMC can't make decisions while uncertainty looms, says former Dallas Fed President Richard Fisher - Forex Factory: 元Dallas銀行連合会長のリチャード・フィッシャーは、不確実性が続く中でFOMCが判断できないと語った。米国経済データはFED governorsに金利引き下げの決定を説得できなかった。トランプ氏はドルの強さを主張したが、実際にはドルが弱まっていた。
- 2025-07-01 04:00 日銀当座預金増減要因と金融調節(6月実績): 対象記事が取得できませんでした。以下のタイトルをもとに日本語で要約します:  
**「米国利上げ見通しで為替市場不安定化」**  

米国利上げ見通しが強まり、為替市場に不安定化の傾向が見られる。国際通貨基金(IMF)が米国経済の成長を上方修正したことを受けて、市場の期待が高まっている。 yenの価格変動に影響を与える可能性がある。
- 2025-07-01 02:10 審議委員の発令について: 2025年7月1日、日本銀行政策委員会審議委員に増一行が任命されました。中村豊明は6月30日に任期満了により退任しました。日本銀行政策委員会室が発令しました。
- 2025-07-01 01:00 「日銀夏休み親子見学会2025」の開催および申込み方法について: 日本銀行は2025年8月25日~28日に行う「日銀夏休み親子見学会2025」を開催。来館見学とオンライン見学会の2形式があり、両者とも事前予約制(先着順)で、申込み期間は7月1日~15日。来館見学は東京都中央区日本橋本石町2-1-1の日本銀行本店で、小学4年生~中学生と保護者を対象にし、各回20人を募集。オンライン見学会は8月28日、同様の対象者を対象にし、Webexを用いたリモート参加。申込みはpost.prd4@boj.or.jpまで、件名に「(来館)日銀夏休み親子見学会2025」または「(オン)日銀夏休み親子見学会2025」を記載。
- 2025-06-30 23:50 貸出約定平均金利(5月): 日本銀行は2025年7月1日8時50分に「貸出約定平均金利の推移(2025年5月)」を公表し、翌営業日以降に時系列統計データ検索サイトに掲載する。公表データには、短期・長期の貸出金利の変動が含まれており、国内銀行、都市銀行、地方銀行、第二地方銀行、信用金庫などの分類別に掲載されている。問い合わせ先は金融機構局金融データ課預貸金統計グループである。
- 2025-06-30 23:50 短観(6月)<概要、要旨>: 記事タイトル:日本銀行、2025年6月の短観発表  
2025年7月1日、日本銀行が公表データを発表した。公表データには概要と調査全容が掲載され、時系列データと解説・関連資料も含む。
- 2025-06-30 20:34 FOMC can't make decisions while uncertainty looms, says former Dallas Fed President Richard Fisher - MSN: 元ダラス銀行連邦準備銀行長のリチャード・フィッシャー氏は、不確実性が続く中で、FOMCは決断を下せない可能性があると述べた。フィッシャー氏は、米国景気の不確実性や世界的な経済状況の変化により、FOMCの判断が困難であると指摘した。この発言は、為替市場に影響を与える可能性のある情報であり、今後の政策動向に注目が集まっている。

※ニュース解釈のポイント:
- 金利政策関連: 金利上昇予想→通貨高、金利低下予想→通貨安
- 経済指標: 予想より良い→通貨高、予想より悪い→通貨安
- 地政学リスク: リスク回避時は安全通貨(USD, JPY, CHF)に資金流入
- 中央銀行発言: タカ派的発言→通貨高、ハト派的発言→通貨安

---
Q: 今後48時間以内にこの通貨は上昇(Buy)、下落(Sell)、または横ばい(Hold)する可能性は高いですか?信頼度(0.0~1.0)と合わせて回答してください。
ただし、変動率が0.7%未満の場合は「Hold」としてください。
回答は次の【回答テンプレート】に従ってください。

【回答テンプレート】
分析:
1. テクニカル指標: ...
2. 価格とトレンド: ...
3. ニュースの影響: ...
4. 予想される価格変動幅: ...

判断: 「Buy/Hold/Sell」
信頼度: 0.0~1.0
===

このプロンプトは特定の日時に合わせて自動で作成されるようになっています。また、その日時が過去だった場合はいわゆる正解データ(実際はBuy,Hold,Sellのどれだったのか)も作成されるようになっています。
作成し記事はこちらです!


性能評価

評価指標の読み方

Accuracy(正解率)

  • 全体のうち、モデルが正しく分類した割合。

  • 式: `(正しく分類した件数) / (全体の件数)`

  • 例: 100件中70件が正解 → Accuracy = 70%

  • 注意: クラスの数が偏っている場合(例:1クラスばかり)には誤解を招くことがある。

Precision(適合率)

  • モデルが「このクラスだ」と予測した中で、どれだけ正解だったか。

  • 式: `(真陽性) / (真陽性 + 偽陽性)`

  • 高いほど、「予測が当たる率」が高い。

  • 例: モデルが10件「Buy」と予測 → うち7件が実際にBuy → Precision = 70%

Recall(再現率)

  • 実際にそのクラスだったものの中で、どれだけを正しく予測できたか。

  • 式: `(真陽性) / (真陽性 + 偽陰性)`

  • 高いほど、「見逃しが少ない」。

  • 例: 実際に20件が「Buy」 → うち5件だけ予測できた → Recall = 25%

F1-score

  • PrecisionとRecallのバランスをとった指標(調和平均)。

  • 式: `2 * (Precision * Recall) / (Precision + Recall)`

  • 一方が極端に低いと、F1も下がる。

  • バランス良く性能を見るのに便利。

Macro平均

  • 各クラスの平均を「等しく重みなし」で計算。

  • クラスの偏りに弱く、少数クラスの性能低下を示しやすい。

Micro平均

  • 全データをまとめて評価(Accuracyと同じになることが多い)。

  • 実際の正解数と予測数を使って計算。

Weighted平均

  • 各クラスの件数で重み付けして平均を計算。

  • クラス数の偏りに対応できる。

では、指標の読み方もわかったところで実際のモデルも見ていきましょう。

google/gemma-3-27b-it

=== データの概要 ===
答えが取得できなかった数: 2
llmの出力が取得できなかった数: 0
有効なデータ数(答え・出力取得済み): 95

==================================================
3クラス分類モデル評価結果
==================================================
正解率(Accuracy): 0.6632

各クラスごとの評価指標:
--------------------------------------------------
クラス        Precision  Recall     F1-score   Support   
--------------------------------------------------
Buy        0.5000     0.2500     0.3333      16
Sell       0.0000     0.0000     0.0000      0
Hold       0.8429     0.7468     0.7919      79

平均評価指標:
--------------------------------------------------
指標         Precision  Recall     F1-score  
--------------------------------------------------
Macro      0.4476     0.3323     0.3751
Micro      0.6632     0.6632     0.6632
Weighted   0.7851     0.6632     0.7147


google/gemma-3-12b-it

=== データの概要 ===
答えが取得できなかった数: 2
llmの出力が取得できなかった数: 11
有効なデータ数(答え・出力取得済み): 84

==================================================
3クラス分類モデル評価結果
==================================================
正解率(Accuracy): 0.5357

各クラスごとの評価指標:
--------------------------------------------------
クラス        Precision  Recall     F1-score   Support   
--------------------------------------------------
Buy        0.0000     0.0000     0.0000      16
Sell       0.0000     0.0000     0.0000      0
Hold       0.9000     0.6618     0.7627      68

平均評価指標:
--------------------------------------------------
指標         Precision  Recall     F1-score  
--------------------------------------------------
Macro      0.3000     0.2206     0.2542
Micro      0.5357     0.5357     0.5357
Weighted   0.7286     0.5357     0.6174


Qwen/Qwen3-32B

=== データの概要 ===
答えが取得できなかった数: 2
llmの出力が取得できなかった数: 63
有効なデータ数(答え・出力取得済み): 34
==================================================
3クラス分類モデル評価結果
==================================================
正解率(Accuracy): 0.8235

各クラスごとの評価指標:
--------------------------------------------------
クラス        Precision  Recall     F1-score   Support   
--------------------------------------------------
Buy        0.0000     0.0000     0.0000      4
Sell       0.0000     0.0000     0.0000      0
Hold       0.8750     0.9333     0.9032      30

平均評価指標:
--------------------------------------------------
指標         Precision  Recall     F1-score  
--------------------------------------------------
Macro      0.2917     0.3111     0.3011
Micro      0.8235     0.8235     0.8235
Weighted   0.7721     0.8235     0.7970


Qwen/Qwen3-8B

=== データの概要 ===
答えが取得できなかった数: 2
llmの出力が取得できなかった数: 7
有効なデータ数(答え・出力取得済み): 88
==================================================
3クラス分類モデル評価結果
==================================================
正解率(Accuracy): 0.7500

各クラスごとの評価指標:
--------------------------------------------------
クラス        Precision  Recall     F1-score   Support   
--------------------------------------------------
Buy        0.0000     0.0000     0.0000      15
Sell       0.0000     0.0000     0.0000      0
Hold       0.8250     0.9041     0.8627      73

平均評価指標:
--------------------------------------------------
指標         Precision  Recall     F1-score  
--------------------------------------------------
Macro      0.2750     0.3014     0.2876
Micro      0.7500     0.7500     0.7500
Weighted   0.6844     0.7500     0.7157


正解データに関しては、以降48時間以内に
・上昇(Buy):上に変動率が0.7%以上
・下落(Sell):下に変動率が0.7%以上
・横ばい(Hold):変動率が0.7%未満の場合
の場合としています。

あんまり性能は良くないですね、、もっと入力形式やデータの精査をしていかないとと思っています。まだ2モデルですがなんとなくgemmaの方が予測は得意そうです。

出力からはアルゴリズム的にLLMの判断を取り出しているのですが、出力形式にブレがありそれぞれ判断が取り出せないものがそこそこありました、、、
そこら辺はプロンプトを調整していきたいと思っています。

終わり

重ねてになりますが、このnoteの続きが気になると思っていただけましたら是非「いいね」お願いします!私たちのやる気に直結します!ではまた次回!



いいなと思ったら応援しよう!