【Claude API実践】AIに「文脈」でニュースを読ませる仕組み|プロンプト公開

未分類

前回の記事で、Claude APIをトレードに組み込んでいる3つの機能をご紹介しました。

Claude APIをトレードに組み込む3つの実用機能|月額コストと始め方

今日はその続きです。

機能1:AIがニュースを読んで、危ないシグナルを止めてくれる仕組み

これを詳しくお伝えします。

胸ちゃんです。


この記事でわかること

  • なぜキーワード検索ではニュース判定に失敗するのか
  • LLMに「文脈で読ませる」とは具体的に何をやっているのか
  • Claude Codeに渡した実装の全体像

きっかけ:1日で支払った授業料

ある日のことです。

私のトレードシステムは、いつものようにシグナルを複数発火させました。

シグナルのロジックは正しい。バックテストでも条件を満たしていた。私はいつも通り、機械的に実行しました。

結果、全敗

原因はあとから分かりました。その直前に、ある地政学的な大きなニュースが出ていたのです。市場はシグナルの期待と真逆の方向に動きました。

シグナルのロジックには何の問題もありません。

問題は、ニュースを読まずに機械的に実行したことでした。

「シグナルを止める仕組み」が欠けていた。

その日のうちに、Claude APIを使ったニュース判定機能を実装することにしました。


なぜキーワードマッチではダメなのか

「ニュースでシグナルを止めるなら、危ないキーワードの辞書を作っておけばいいのでは?」

最初、私もそう思いました。でも、これが機能しないんです。

たとえば、こんな英語の見出しが流れたとします。

Saudi pipeline back at full steam

(サウジのパイプライン、フル稼働に復旧)

このニュースは、関連業種のショートポジションには危険信号です。

なぜなら:

  1. パイプラインが復旧 → エネルギー供給が安定
  2. 供給が安定 → 関連業種の株価上昇要因
  3. その状況でショートを入れると踏み上げられる

この因果の連鎖を、キーワード辞書で表現するのは不可能です。

  • 「pipeline」をブラックリスト? → 関係ないニュースで誤爆
  • 「Saudi」をブラックリスト? → 毎日サウジの経済ニュースは流れてくるので、機能しません

LLMは違います。見出しを文脈で理解して、市場への波及を連鎖で判断してくれます。

人間が「これはヤバい」と直感で気づく判断を、AIが代わりにやってくれる。

ここがキーワードマッチとの決定的な差です。


実装の全体像

Claude Codeに渡した仕様を、そのまま使える形でお伝えします。

処理の流れ

  1. ニュース取得サービスから直近12時間のニュースを取得(最大25件程度)
  2. そのニュース一覧と、今日のシグナル一覧を両方Claude APIに渡す
  3. Claude Sonnetに「このニュースの文脈で、このシグナルは実行して大丈夫か」を判定させる
  4. 結果をJSON形式で受け取る
  5. 「危険」判定がついたシグナルは、その日は自動スキップ

Claude Codeに渡した仕様(骨子)

以下のような仕様書をClaude Codeに投げると、Pythonで実装してくれます。

目的:トレードシグナルが発火したとき、
直近12時間のニュースに基づいて「実行するか・停止するか」を自動判定する。

入力:
- 本日発火したシグナルのリスト(銘柄、ロング/ショート方向)
- 直近12時間のニュース一覧(英語・日本語の混在、最大25件)

処理:
- ニュース一覧とシグナル一覧を1つのプロンプトにまとめ、
  Claude Sonnetに渡す。
- 各シグナルに対して、以下のいずれかのラベルを付けさせる:
  - EXECUTE(通常通り実行)
  - BLOCK(停止。理由も出力)
  - BOOST(チャンスなので強めに。理由も出力)
- ラベルには確信度(HIGH / MEDIUM / LOW)もセットで出力。

出力:JSON形式。
例:
{
  "銘柄A": { "label": "BLOCK", "confidence": "HIGH", "reason": "..." },
  "銘柄B": { "label": "EXECUTE", "confidence": "MEDIUM" },
  ...
}

後処理:
- 結果をDiscordに通知。
- "BLOCK"がついたシグナルは、その日の自動実行をスキップ。

私は1行もコードを書いていません

Claude Codeに「こういう仕組みがほしい」と仕様を渡して、実装してもらっただけです。


キャッシュでコストを抑える

重要なのは、同じニュースを何度も読ませないことです。

1日のうちに複数回シグナルが発火するたびにニュース25件を読み直すのは、APIコールの無駄遣いです。

実装上の工夫:

  • 一度Claude Sonnetに判定させた結果は、JSONファイルにキャッシュ
  • 同じ日の2回目のコールでは、キャッシュから返す
  • ニュースが更新されたときだけ、差分を再判定

これで1日のAPIコールが数回程度に収まります

月額¥15程度で動かせる理由がここにあります。


実際に効きました

実装翌日、さっそく機能しました。

複数のシグナルが発火したのですが、うち数件に BLOCK 判定がつきました。理由は「関連する業種で逆方向のニュースが発火中」とのこと。

実行をスキップ。

その日、該当業種は大きく逆方向に動きました

もし実行していたら、それなりの損失になっていたはずです。

別の日には、ある業界ニュースを文脈から拾って「チャンスなので強めに」という BOOST 判定がつき、そのシグナルは想定通りに機能しました。

AIが「止める」だけじゃなく、「押す」もできる。

これがキーワードマッチでは絶対にできない仕事です。


注意点

AIの判定が必ず正しいわけではありません

Claude Sonnetは非常に優秀ですが、完璧ではありません。判定が外れるケースも当然あります。

私は確信度 HIGH の判定だけを自動適用し、MEDIUM 以下は参考情報にとどめるようにしています。

ニュースソースの選定は各自の用途に合わせて

英語ニュースは有料APIのものが多く、無料だと精度や更新頻度が落ちる傾向があります。

日本語ニュースは、NHKのRSSなど無料で取れるものもあります。

ご自身のトレードスタイルに合ったソースを探してみてください。

トレード成績を保証するものではありません

AIの判定によって損失を避けられるケースもありますが、損失が出るケースもあります。本記事は情報提供を目的としたものであり、投資助言ではありません。投資判断はご自身の責任でお願いします。


まとめ

  • ニュース判定はキーワードマッチでは不十分
  • LLMは因果の連鎖で文脈を理解できる
  • Claude Codeに仕様を投げれば、非エンジニアでも実装可能
  • 月額¥15程度でこの機能が動かせる

次の記事では、機能3(決算発表のBeat/Miss判定)の実装についてお伝えします。

決算発表直後の数分間に、AIがTranscriptを読んで判断してくれる仕組みです。

では、今日はこの辺で。

胸ちゃんでした ♡


本記事は情報提供を目的としたものであり、特定の投資行動を推奨するものではありません。投資にはリスクが伴います。ご自身の判断と責任においてご検討ください。

コメント

タイトルとURLをコピーしました