0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

chatGPTとAPIで独自のGPTを作って投資情報を収集したい

Last updated at Posted at 2024-06-09

はじめに

IT業界7年目にして初投稿です。何の変哲もないSEをやっています。
流行りで投資を初めて2年になりますが、相場が良いおかげで何とかなっている感が否めず
頭もよろしくないので、なんとなく気絶投資をやっている状態です。
そこで一応IT系だし生成AI君に助けてもらえば億も夢ではないのではという動機で作ってみました。

前準備

日本株の銘柄情報のAPIとして無料で使用できて、複数の情報を取れそうなものがyfinanceというヤフーファイナンスのAPIしか見つからなかったのですが(いいのがあれば教えてください)、chatGPTではインターネットアクセスが制限されているためコードをそのまま実行ができませんでした。そのため自前でAPIを立ててそこにリクエストを投げレスポンスをchatGPTで処理してもらうようにしました。
クラウド環境については無料で使えるものが限られているため、とりあえずGCPの「Cloud run」というサーバーレスのサービスにデプロイしてリクエストがある時だけにすれば無料枠で何とかなってくれるのではと思い採用しました。
また、APIを立てたついでに、本日年初来安値を付けた銘柄について処理を実施させたいと思いスクレイピングで情報を取ってこれるAPIを作成しておきました。
コードについては余裕があれば記載します。

GPTの作成

有料プランに入っているのでその前提で書きますが
メイン画面のタブから左上の「GPTを探す」をクリックすると、GPTの一覧画面に遷移するので
次に右上の「作成する」から自作のGPTを作成することができます。
ここに指示やAPIのアクセス情報等を記載すると独自のGPTになっていくようです。

作成したものの画像が下記になります。課金されると困るのでAPIについては隠しています。
301.PNG

  • 指示
    処理したい内容について記載してください。できるだけ具体的かつ詳細に記載することである程度の方向性を持たせることができます。
    右側にプレビューが出ている(今は切り取っていますが)ので、そこで都度確認しつつ文言をブラッシュアップしてください。
    プロンプトエンジニアリングなるものがあり手法もあるようですが、よく知らないので詳しいことは分かりません。
      
  • 新しいアクションを作成する
    ここにAPIの情報を記載します。yamlのような形式でスキーマなるもので記載します。
    調べて書くのが面倒だったのでchatGPTにこのレスポンスを貼り付けてスキーマを作ってくれとお願いすれば作ってくれます。プライバシーポリシーのURLは公開するわけでなければなんでもよさそうです。

302.PNG

sample

openapi: 3.0.0
info:
  title: Stock Data API
  description: An API to fetch stock data for My API.
  version: 1.0.0
servers:
  - url: https://test
paths:
  /getStockData:
    get:
      operationId: getStockData
      summary: Get Stock Data
      description: Fetches stock data.
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    銘柄コード:
                      type: string
                      example: "1234"
                    銘柄名:
                      type: string
                      example: Example Corp
                    市場:
                      type: string
                      example: 東証
                    業種:
                      type: string
                      example: 情報・通信業
                    現在値:
                      type: string
                      example: "1234"
                    前日比:
                      type: string
                      example: "+12"
                    前日比(%):
                      type: string
                      example: 1.00%
                    出来高:
                      type: string

使ってみた感じ

長くなったので引き延ばして文字が小さくなってしまいました。
303.PNG

まとめ

基本情報しか取得していないので、まだ単純な感じにはなります。
今のchatGPTはwebを検索してデータを取得してくれますし、わざわざAPIを立てる必要もないかもしれませんが、チャート情報や財務情報、シグナルを入力に組み込むことで総合的な見解を合わせて提供してくれそうですね。

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?