こんにちは、業務委託としてバフェットコードに関わらせてもらっている syu_cream です。
最近、生成AIとその周辺技術の進歩が目まぐるしいですね。 特に MCP(Model Context Protocol) を活用することで、日々の情報収集や分析作業をより効率的に進める選択肢が増えてきました。
今回は「実験的な試み」として、 生成AIとバフェットコードのAPIを活用するMCPで株式情報を分析する 体験をご紹介します。 これは開発初期段階の取り組みですが、株式投資と生成AIが交わる可能性の一端を感じていただければ幸いです。
バフェット・コードの API
バフェット・コード API は、バフェットコードが蓄積する企業の財務データや株価情報などをプログラムから簡単に取得できる WebAPI です。 通常、企業分析や投資判断に必要なデータを集めるには、有価証券報告書や企業のウェブサイトなど様々な情報源から手作業で収集する必要がありますが、この API を使えば必要なデータを効率的に取得できます。
どんなことができるの?
バフェットコードの API では、主に以下のようなことが可能です:
企業・銘柄情報の取得:企業名、設立日、上場日など基本的な企業情報を取得できます。日本企業だけでなく、米国企業の情報も利用可能です。
財務データの取得:四半期ごとの売上高や営業利益などの財務数値を時系列で取得できます。これにより、企業の成長性や収益性の推移を簡単に分析できます。
株価指標の取得:PER(株価収益率)やPBR(株価純資産倍率)などの投資判断に役立つ指標を日次・週次・月次で取得できます。
企業開示資料の検索・ダウンロード:有価証券報告書や適時開示資料、決算説明資料などを検索し、必要な情報を抽出できます。
利用するには
バフェットコードの API を利用するには、有償の API 利用契約が必要です。 契約後は、専用の API キーが発行され、それを使ってデータにアクセスできるようになります。
また、API の動作確認用に、一部の企業データに限定してアクセスできるテスト用 API キーも提供されています。こちらは利用契約なしにすぐにでもお試しいただけます。
バフェットコード MCP サーバ
バフェットコード MCP サーバは、まさに前述の API を呼び出しすものになっています。 これは OSS として以下のリポジトリで公開しています。
この MCP サーバは素朴な作りになっており、 API 各種エンドポイントに対応したツールを提供しているだけです。
例えばバフェットコード API には 企業・銘柄情報API というそのものズバリのデータを返却する API があるのですが、 MCP サーバではこれに対応する buffett_code_get_jp_company
ツールを提供します。
本記事執筆時点では npmjs 上へのホスティングなどの使い勝手の良い準備はまだされていません。 従って、お手数ではありますが試す場合は自前でビルドしていただく必要があります。
例えば以下のようにビルドまで行って...
$ git clone https://github.com/BuffettCode/buffett-code-mcp-server.git
$ cd buffett-code-mcp-server
$ npm install
$ npm run build
MCP を使うことができる LLM アプリケーション、 Claude Desktop を例にすると以下のようにビルド後のファイルを実行するように MCP の設定を記載 します。
... "buffet-code": { "command": "node", "args": [ "/path/to/buffett-code-mcp-server/dist/index.js" ], "env": { "BUFFETT_CODE_API_KEY": "xxx" } }, ...
前述の通り API 利用には契約が必要になるのですが、限定的な機能であれば、以下に示すページに記載されている テスト用 API キーを BUFFETT_CODE_API_KEY
環境変数に設定 していただければ、すぐに試すこともできます。
試してみたこと
バフェットコード APIが MCP経由で利用できることで、どのような可能性が見えてくるでしょうか?
まずは、MCPサーバを使った企業・株価情報の効率的な情報収集です。
ここではテスト用 API キーを用いています。この API キーでは証券コード末尾二桁が 01
である、いわゆる 01 銘柄のデータのみ取得できます。
以下のようなプロンプトで、 Claude Desktop & buffett code MCP で情報収集してみます。
buffett code で、日本の企業(コードは `9101` )の情報を収集して
これだけで、以下に示すように積極的にデータを取り込み、単なるデータの羅列ではなく、整理された形で情報を提示してくれます。 質問の仕方によっては、データから気づきにくいポイントを指摘してくれることもあります。
また、バフェットコード MCPサーバ 以外 のツールと組み合わせる使い方も興味深い結果を示しました。 例えば検索ツールと組み合わせると、定量的な財務データと、web上の定性的な情報(企業の評判や市場の見方など)を同時に参照できます。これにより、数字だけでは見えない企業の姿も把握しやすくなります。 さらに、生成AIの視覚化能力を活かして、収集したデータをインフォグラフィックとして表現することも試みました。複雑なデータも視覚化することで、直感的な理解が促進されます。
直近2年分の株価の推移と株価変動の要因を、チャートをベースにそれを補足するような図を描画して
ここまで見てきた挙動はまだ実験的な内容ですが、情報の収集・整理・表現方法に新しい選択肢を提供する可能性を感じています。 最近は NotebookLM の音声概要機能 のような生成 AI を活用した多数の先進的事例があります。 こうした機能をフル活用すると、忙しい投資家の方々がより複数の手段を組み合わせて効率的に情報を摂取できるのではないかと考えています。
おわりに
本記事では、バフェットコードのAPIをMCP経由で利用する実験的な試みをご紹介しました。 これはあくまで開発初期段階の取り組みであり、すぐに投資判断に直接活用できるとは限りません。 しかし、「企業情報データを集約・整理して使いやすい形で配信する」というバフェットコードの強みと、生成AIの柔軟な情報処理能力を組み合わせることで、新しい情報活用の可能性が広がるのではないかと考えています。
最後に、バフェットコードではデータを使いやすく整理して価値を生み出すというチャレンジに共に挑戦する仲間を募集中です! プロダクト開発からデータ・機械学習まで様々なポジションを想定しています。 もしご興味がありましたら、まずはお気軽にカジュアル面談からでもお話しさせてください!