GPTsで外部APIを使って株価データを取得する
GPTs(GPT Builder)とは?
GPTs(GPT Builder)とは、OpenAIが開発したChatGPTを目的に合わせてカスタマイズできるサービスです。現時点、ChatGPT Plusという有料プランに登録しないと使用できません。
要するに、自分だけのオリジナルのGPTを作れる神機能ということですね。
例えば、ボードゲームのルールを教えてくれるGPTや、子供に数学を教えてくれるGPT、ステッカーをデザインしてくれるGPTなど、色々なGPTを作ることができます。しかも、コーディングの知識は一切必要ありません。
対話しながら、必要な機能や知識を設定していくだけです。作ったGPTは自分だけで使うこともできますし、リンクを知っている人や一般に公開することもできます。
APIとは?
アプリケーション・プログラミング・インターフェースの略で、ソフトウェアやプログラム、Webサービスなどが互いに情報をやり取りするための窓口のことです。
要するに、他の人が作った便利な機能を借りて、自分のプログラムやサービスをパワーアップできるということですね。
GPTsには、他の人(外部)が作った便利な機能を借りることができます。
APIを使って株価データを取得
ChatGPTに「外国株も含めて株価情報を取得できる無料で使える(オープンソースで公開されている)API」を調べてもらうと以下の3つを提案してくれました。
・Alpha Vantage
・MarketStack
・Twelve Data
今回は、その中の「Alpha Vantage」のAPIを使用します。
Alpha Vantageとは?
Alpha Vantageは、世界中の株式市場のデータにアクセスできる無料のAPIサービスです。株価や為替、仮想通貨などの価格やニュース、指標などを取得できます。
例えば、
株価チャートや分析ツールの開発
投資判断のためのデータ収集
ニュースアプリやウェブサイトへのデータ連携
など、さまざまな用途に活用できます。
Alpha Vantageのメリットは、
データの豊富さ
データの正確性
APIの使いやすさ
です。
Alpha VantageのAPIキーを発行する
GPTsでAlpha VantageのAPIを利用するには、APIキーが必要になります。Alpha VantageのサイトからFREEのAPIキーを発行します。
APIキー取得方法については以下が参考になりました。
GPTsを作成する
ChatGPTにログイン⇒左のチャット欄から「Explore」⇒「Create a GPT」 をクリックしてGPTsを開きます。
(2023年11月21日時点での手順なのでアップデートにより変更の可能性があります)
Createのタブにいる「GPT Builder」と会話しながらオリジナルのGPTを作っていきます。
Google翻訳をしながら進めていけばいいですが、
簡単に説明すると会話の流れは以下のようなイメージです。
GPT Builder:何作りたいの?
私:株価データ収集ボット作りたい
GPT Builder:アイコン作ったよ。これでいい?
私:いいよ。
GPT Builder:どんなボットにするのか詳しく教えて。
私:外部API使ってAI関連の株価を取得したい。
GPT Builder:ボットの話し方はどんなのにする?
私:カジュアルでいいよ。
GPT Builder:へい。
こんな感じで進めていけば、オリジナルGPTの出来上がりです。
GPTsのActionsを使ってAPIを呼び出す
一通りGPT Builderとの会話でオリジナルGPTの設定が完了しましたら、APIを導入する設定に移ります。
Configureタブをクリックして下にスクロールすると、Actionsがあります。Create new actionをクリックしてactions追加画面を開きます。
右上の「Example」から「Wether(JSON)」をクリック。SchemaにJSON形式のコードが記入されていますが、これ自体はダミーのAPIです。このコードを参考にして、Alpha VantageのAPIを呼び出すコードに修正します。
※Wether(JSON)を参考にして作成してみたのですが、うまく動作しませんでした。しかし、以下のSchemaでは動作しました。
Alpha VantageのAPIを呼び出すために、Schemaを以下に置き換えてください。(注意:先ほど取得したAPIキーはここでは使用しません)
コードの意味がわからなければそのままコピペでOK。
openapi: 3.1.0
info:
title: Get stock prices data
description: Collect stock price data from Alpha Vantage's API.
version: v1.0.0
servers:
- url: https://www.alphavantage.co
paths:
/query:
get:
description: Get stock price data for a specific symbol
operationId: GetStockData
parameters:
- name: function
in: query
description: The time series of the stock data
required: true
schema:
type: string
default: TIME_SERIES_DAILY_ADJUSTED
- name: symbol
in: query
description: The stock symbol to retrieve data for
required: true
schema:
type: string
- name: apikey
in: query
description: Your Alpha Vantage API key
required: true
schema:
type: string
deprecated: false
responses:
200:
description: A successful response
content:
application/json:
schema:
type: object
properties:
Meta Data:
type: object
additionalProperties:
type: string
Time Series (Daily):
type: object
additionalProperties:
type: object
properties:
1. open:
type: string
2. high:
type: string
3. low:
type: string
4. close:
type: string
5. adjusted close:
type: string
6. volume:
type: string
7. dividend amount:
type: string
8. split coefficient:
type: string
default:
description: An error response
content:
application/json:
schema:
type: object
properties:
Note:
type: string
Information:
type: string
Error Message:
type: string
パラメータの詳しい説明については公式サイトのドキュメントから確認できます。
AuthenticationにAPIキーを入力する
Schemaの設定が完了したら、下にスクロールして「Authentication」の設定画面を開き、先ほどのAPIキーを入力して「Save」をクリックします。
最後に「Privacy policy」には以下のURLを記述します。
https://www.alphavantage.co/privacy/
以上で設定は完了です。
Previewでテスト
Preview画面でAPIが読み込めているか確認します。
特定の株価データを取得するには以下の情報を与えます。
株式のシンボル: どの企業の株価データが必要ですか?(例:AAPL、MSFT、GOOGLなど)
データの種類: 日次、週次、月次のどの時系列データを希望しますか?
ちゃんとAPIを使って取得していますね。
今回使用したAlpha VantageのFree APIだとリアルタイムで取得できなかったり、1日に取得できるデータに制限があったりしますが、予測モデルの開発といったデータ分析等には使えるのではないでしょうか。
ちなみに、Capabilitiesのチェックは全て外しているのでWebブラウジング機能で取得してはいないはずです。
まとめ
GPTsで外部APIを使って株価データを取得するボットを作成できました。APIを使用せずとも様々なボットを作ることができますが、外部APIを使用することでさらに用途が広がると思います。
参考記事
この記事が気に入ったらサポートをしてみませんか?