報告

4年の窪田です。

ポートフォリオサイトを作りました。時間が合ったらぜひ見てください。

ポートフォリオサイト: クボタのポートフォリオ
卒業制作報告ページ(未完成): 卒業制作報告ページ

卒業制作について、あまり構想をはっきり決めていなかったのですが、そろそろ作り始めないと大変だと思って、方向性の決定と少し制作したものについて報告します。

卒業制作構想

卒業制作としてつくりたいものは、「ニュース定性分析ツール」です。

具体的には、日々のニュースを自動で取得して、自動でどの業界の株価に影響を与えるかを分析するツールの作成を目指したいと思います。作成理由としては、株式投資をしている中でよくニュースを見るのですが、全部を網羅するのは面倒なので、少しでも情報収集負荷を軽減したいと考えたからです。

具体的な制作物の設計としては、以下を考えています。

①ニュースを自動で取得する
②ニュースの内容をAIなどが処理し、どのセクター(業界)に影響を与えるかを特定する。
③特定したセクターへ、どれくらいの影響度を与えるのかを予測して数値化する。
④予測結果をレポート化して出力する。

制作設計

<メイン部分>

上記の①~④の部分は、Difyで実装することにしました。

最初は、①の部分を、RSSを利用して、ネットから取得しようとしたのですが、何度やってもニュースを取得することができず、結局諦めました。

以下が、Difyで実装した部分です。とりあえず、簡単に、ベースとなる部分を作成したので、ここに後々機能を追加していくことにします。

ベースとなる部分として作ったものとしては、

①ネットの新着ニュースを取得する、と②そのニュースの関連セクターとセクターへの影響度を数値化するの二つの部分です。

①ネットの新着ニュースを取得する

この部分は、最初にRSSを利用して実装しようとした部分です。インターネットから、自動で新着のニュースを取得しています。

↑ この入力変数のところには、URLを入力しており、このURL先のサイトから情報を取得しています。現在は、ヤフーニュースの経済カテゴリのURLを入力しているので、このチャットボットは経済ニュースの新着情報を取得してきます。

②そのニュースの関連セクターとセクターへの影響度を数値化する

この部分はまだ未完成なので、そこまで真面目に見なくてもいいのですが、先ほどの【Web Scraper】から取得したニュースをここで処理しています。

プロンプトがぐちゃぐちゃになっていますが、

  • ニュースを取得
  • どのセクターに影響度を与えるのか、影響度の数値化
  • スコアの採点理由
  • キーワードの抽出

を一気にここで処理しています。

ここで、スコアの定義を、ニュースによる株価の予測変動が±0の時はスコア0。±5%の時はスコア50、±10%の時は100とするように定義しました。(適当に)

また、ナレッジのファイルというのは、あらかじめこのチャットボットに知識として埋め込んでおいたファイルのことです。

現在、ナレッジには以下の2つのファイルをいれておきました。

  • 東証上場全企業一覧(JPX)
    東証に上場している企業の企業名と所属セクターの一覧
  • 関連キーワード辞書
    各セクターの代表企業と関連単語をまとめたもの

出力結果

上のようになりました。

やはり、影響度スコアの部分は、精度が低すぎるのでここを今後改善していくことします。

しかし、ニュースの取得と関連セクター特定、結果を出力までは上手く実装できてそうです。

スコアリングの正確性を上げるために。

分析ツールの一番重要なところであるので、この部分の正確性を上げるために、ナレッジの部分をまずは改善していこうと思います。

具体的には過去データを参照して、ニュースや情報解禁後の株価変動データを収集し、それを事前にデータ化しておいて、LLMに参照させることで株価変動予測の正確性を向上させようと思います。

そのために、まずは、昔のニュースを自動で取得する仕組みを作ることにしました。

この部分ももちろんDifyで実装することもできると思いますが、あえて、NewsAPIを利用して、ネットから取得するのに挑戦してみました。

以下がコードになります。

今回は、「株価」と「関税」の二つの単語を含んでいるニュースを出力してもらうことにしました。ここを調整することで、キーワードごとの任意のニュースを取得することができます。また、日付の指定や、ニュースカテゴリなども指定することができます。

今回は上手く成功したので、検索結果が出力されました。

文字が小さすぎる上に、見にくいので、編集して見やすくしました。

ニュースの報道日付、タイトル、URLを出力しています。

とりあえず、ネットから過去ニュースを取得することに成功しました。

今回はここまでしかすすめられなかったので、今後のやることについて述べておきます。

今後つくりたいもの

  • スコアリングの正確性を上げるための過去データを収集したものの作成

過去5年間ほどで、各セクターの株価が大きく変動した日付を調べる→その日付のニュースをネットから取得する→そのニュース内容を分析して、どんなニュースが各セクターに影響を与えるかを明確にする→ニュースの内容と具体的な株価変動率をまとめる

  • スコアを付ける際に、VIX指数などの市場指数を考慮して採点するようにする
  • レポート化して出力できるようにする

手探りで大変です。頑張ります。
最近、ゴルフの練習をするたびに、下手になっていってショックです😢ゴルフも頑張ります。