1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】Bedrock AgentCore Gateway × J-Quants APIで投資助言エージェントをサクッと構築してみた

Last updated at Posted at 2025-10-13

はじめに

Amazon Bedrock AgentCore Gateway (Gateway)はAWS Lambda関数や既存のREST APIサービスをMCP互換のツールに変換するためのマネージドサービスです。Gatewayでは以下のタイプのサービスとの統合がサポートされています。

  • OpenAPI
  • Smithy API
  • AWS Lambda

今回はこのGatewayを、JPX社が提供している個人投資家向けデータAPI配信サービス「J-Quants API」と統合して、投資助言エージェントを作ってみます。「J-Quants API」を利用すれば、東証上場銘柄の株価情報や財務情報などの各種金融情報をREST API形式で取得することができます。

構成図

構成図は以下の通り。
スクリーンショット 2025-10-13 15.08.20.png

GatewayでMCP互換のツールを公開する際にはInbound認証とOutbound認証の2種類の認証を設定する必要があります。

  • インバウンド認証: ゲートウェイターゲットにアクセスするユーザーの認証と認可(例:OAuth 経由)
  • アウトバウンド認証: Gatewayが認証されたユーザーの代わりにバックエンドリソースへ接続するための認証

今回はインバウンド認証にCognitoを、アウトバウンド認証にはJ-Quants APIが発行するIDトークンを使用します。

構築手順

J-Quants APIの設定

以下の公式サイトからJ-Quants APIの利用登録を行います。

登録後、以下のページからリフレッシュトークンを発行し、リフレッシュトークンを使用してIDトークンを発行します。

IDトークンを発行する際のコマンドのサンプルは以下の通り。

REFRESH_TOKEN=<YOUR REFRESH_TOKEN> && curl -XPOST https://api.jquants.com/v1/token/auth_refresh?refreshtoken=$REFRESH_TOKEN

Amazon Bedrock AgentCoreの設定

マネジメントコンソールからGatewayの各種設定を行います。インバウンド認証設定については「Cognitoを利用したクイック設定」を選択します。これにより自動でいい感じにCognitoの設定を行なってくれます。

スクリーンショット 2025-10-13 15.42.40.png

ターゲットの画面からGatewayと統合するバックエンドのAPIの設定を行います。「ターゲットタイプ」でREST APIを選択します。

スクリーンショット 2025-10-13 15.45.56.png

REST APIタイプで「OpenAPIスキーマ」を選択したのち、Gatewayから実行するAPIのOpenAPIスキーマを入力します。J-Quants APIの公式ページでAPI仕様書が公開されているので、このAPI仕様書をChatGPTなどを使用してOpenAPIスキーマに変換します。

今回の例で利用するAPIは以下の2種類です。Gatewayの設定画面で2種類のAPIそれぞれを利用するターゲットを2つ作成します。

最後にアウトバウンド認証を設定を行います。今回の例では「API キー」を選択します。なお、APIキーについてはあらかじめAmazon Bedrock AgentCore Identityを使用して
J-Quants APIの設定の手順で取得したIDトークンを登録しておきます。

スクリーンショット 2025-10-13 15.55.17.png

Gatewayの作成後、以下のように2つのターゲットがいずれも「Ready」になっていれば問題なくターゲットが登録できています。

スクリーンショット 2025-10-13 15.57.54.png

MCP Clientの作成

MCP Clientを作成するためのライブラリはなんでも良いのですが、今回はStrands AgentsのMCP Clientライブラリを使用します。サンプルコードは以下に置いています。

なお、Gatewayの詳細画面を開くと以下のようサンプルコードが表示されますので、こちらを参考にすればさほど苦労なくGatewayを試すことができます。

スクリーンショット 2025-10-13 16.08.30.png

使ってみる

上記のサンプルコードを利用してAgentに対して以下の3つの質問をしてみました。

  • 質問1: こんにちは。あなたは何ができますか
  • 質問2: 直近10日間の三菱商事の株価の動きをサマライズして教えて
  • 質問3: 直近の三菱商事の業績情報を教えてください。業績情報を踏まえて現在の株価の動きを分析してください。割安ですか?割高ですか?

質問1: こんにちは。あなたは何ができますか

Gatewayで使用した2つのターゲットに関する情報と、それらを用いてできることについて回答が得られました。

こんにちは!私はJQuants APIを使用して、日本の株式市場に関する情報を取得するお手伝いができます。

具体的には以下のような情報を取得できます:

## 📊 利用可能な機能

1. **株価情報(日次データ)**
   - 特定の銘柄の株価データ
   - 特定の日付の市場データ
   - 期間を指定した株価推移
   - 始値、高値、安値、終値、出来高など

2. **決算・財務情報**
   - 上場企業の四半期決算短信
   - 業績・配当情報
   - 決算修正に関する開示情報

## 💡 使用例

- 「トヨタ自動車(7203)の最新の株価を教えて」
- 「2024年1月15日の日経平均の情報は?」
- 「ソニー(6758)の決算情報を取得して」
- 「特定の期間の株価推移を見たい」

何か調べたい銘柄や情報はありますか?銘柄コードまたは日付を教えていただければ、詳しい情報を取得できます!

質問2: 直近10日間の三菱商事の株価の動きをサマライズして教えて

APIを使用して取得した株価のデータだけでなく、期間内の株価トレンドを踏まえたコメントが得られました(利用規約の都合上、一部出力を省略しています)。

三菱商事の直近10日間の株価情報を取得しますね。三菱商事の銘柄コードは8058です。
Tool #1: jquants-api-daily-quotas___getDailyQuotes
取得したデータは2023年7月から2025年7月までの長期間のものですね。最新の10営業日のデータを抽出してサマリーします。

## 📈 三菱商事(8058)の直近10日間の株価動向

### 最新10営業日の終値推移
- **2025年7月7日**: 2,903.5円
<一部省略>

### 📊 主要ポイント

**価格レンジ**
- 期間最高値: 2,938.0円(7月8日)
- 期間最安値: 2,837.0円(7月16日)
- 変動幅: 101円(約3.5%の変動幅)

**トレンド分析**
- 10日間の変化: -27.5円(-0.9%)
- 全体的にレンジ相場で、2,850円~2,910円の間で推移
- 7月初旬は2,900円超えを試したものの、中旬にかけて調整
- 7月15日-16日に2,860円付近まで下落したが、17日に反発

**出来高**
- 平均出来高: 約8百万~1,200万株
- 7月8日の出来高が1,167万株と大きく、価格調整局面での取引活発化を示唆

**総評**
方向感の乏しい横ばい相場が継続。2,900円前後の上値が重く、2,860円前後が下値サポートとなる展開。レンジ内での値動きが中心で、大きなトレンド形成には至っていない状況です。

質問3: 直近の三菱商事の業績情報を教えてください。業績情報を踏まえて現在の株価の動きを分析してください。割安ですか?割高ですか?

業績情報のサマリに加えて、PERやPBRなどを計算して現在の株価水準の評価コメントを回答してくれました。最終的に各種指標を踏まえた投資判断に関して助言をしてくれています(利用規約の都合上、一部出力を省略しています)。APIで取得できた株価のデータが2025年7月までのものだったので、株価水準に関する指標は若干古いデータになっている点に注意が必要です。

三菱商事の直近の決算情報を取得しますね。
Tool #2: jquants-api-fins-statements___getFinsStatements
## 📊 三菱商事の業績分析と株価評価

### 最新業績サマリー(2025年3月期通期実績)

**業績ハイライト**
- **売上高**: 18兆6,176億円(前期比 -4.9%)
<一部省略>

**第3四半期累計実績(2024年4月-12月)**
- 累計純利益: 8,274億円
<一部省略>

---

## 💹 株価バリュエーション分析

### 現在の株価水準(2025年7月18日終値基準)
**株価**: 2,876円

### 主要指標

| 指標 | 数値 | 評価 |
|------|------|------|
| **PER** | 約12.1倍 | ⭕ 割安 |
| **PBR** | 約1.22倍 | ⭕ 適正〜やや割安 |
| **配当利回り** | 約3.82% | ⭕ 高配当 |
| **配当性向** | 42.2% | ⭕ 健全 |

### 計算根拠
- **PER** = 2,876円 ÷ 236.97円 = 12.14倍
- **PBR** = 2,876円 ÷ 2,355.22円 = 1.22倍
- **配当利回り** = 110円(2026年3月期予想)÷ 2,876円 = 3.82%

---

## 🔍 総合評価: **割安〜適正水準**

### ✅ ポジティブ要因

1. **PERが割安水準**
   - 総合商社の平均PER(13-15倍)を下回る12倍台
   - 業界トップクラスの収益力に対して株価は控えめ

2. **高配当&増配継続**
   - 配当利回り3.8%超は魅力的
   - 前期70円→100円、今期予想110円と連続増配
   - 配当性向42%→59%へ引き上げで株主還元強化

3. **財務健全性の向上**
   - 自己資本比率43.6%と高水準
   - 総資産10兆円超の安定基盤
   - キャッシュフロー創出力旺盛(営業CF 1.6兆円)

4. **業績の安定性**
   - 9,500億円台の純利益を安定的に確保
   - 多角的な事業ポートフォリオでリスク分散

### ⚠️ 注意点

1. **次期予想の減益**
   - 2026年3月期予想純利益7,000億円(前期比-26.4%)
   - EPSは236.97円→186.74円に低下見込み
   - これを反映するとPERは約15.4倍に上昇

2. **資源価格の不透明感**
   - 商品市況の変動が業績に影響
   - エネルギー・金属セクターへの依存

3. **株価の方向感欠如**
   - 2,850円〜2,920円のレンジ相場
   - 明確なカタリスト不足

---

## 📈 投資判断

### 現在の株価水準での評価: **割安〜適正**

**短期的視点(6ヶ月)**
- 来期減益予想を織り込み調整局面
- レンジ相場が継続する可能性

**中長期的視点(1-3年)**
- 高配当銘柄として魅力的(利回り3.8%)
- PER12倍台は歴史的にも割安
- 安定収益体質+増配方針で長期保有向き

### 推奨スタンス
📌 **中長期的な配当投資家には「買い」**
📌 **短期トレーダーには「様子見」**

現在の株価2,876円は、減益予想を考慮しても過度に売られてはいない適正〜やや割安水準。高配当・財務安定性を重視する投資家にとっては魅力的な水準と言えます。

まとめ

Amazon Bedrock AgentCore Gateway(Gateway)とJ-Quants APIを統合して投資助言エージェントを作ってみました。ほぼコーディングなしにツールを公開できる点がGatewayの大きな魅力の一つですね。また、REST APIとして提供されているデータを使用することで、Agentが投資判断に関して比較的確度の高い情報に基づいて回答してくれました。

企業や組織内部で提供されているREST APIサービスをGatewayに統合すれば、Agentでできることの幅が大きく広がりそうです。

注意事項

  • 本記事で紹介した「J-Quants API」は、法人による利用、第三者へのデータ再配信、データを利用したアプリ提供(営利・非営利を問わず) が禁止されています。必ず利用規約をご確認ください。
  • 本記事で紹介したAgentの出力結果はサンプルであり、特定銘柄に対する投資判断を促す意図はありません。執筆者は本記事の内容を利用したことで生じたいかなる損害についても責任を負いません。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?