コピペOK!GPTsでYahoo Finance APIを利用する方法

GPTs(カスタムGPT)でYahoo Finance APIを利用して、株式の過去データを取得する方法について、詳しく解説します。このAPIを活用することで、投資家やデータアナリストは、過去の株価データを分析し、より賢明な投資判断を行うことができます。この記事では、APIの機能、利用方法、取得できるデータの詳細、およびエラーハンドリングの方法について、包括的に説明します。

Yahoo Finance APIとは?

Yahoo Finance APIは、Yahooが提供する株式市場データにアクセスできるプラットフォームです。これを利用することで、ユーザーはリアルタイムや過去の株価、企業の財務データ、配当情報などを取得することができます。このAPIは、特定の株式に関する詳細な情報を提供し、投資判断のサポートを行うために設計されています。動作はしますが、現在APIのサポートは終了してるのでデータの欠損等にはご注意ください。

基本情報

  • APIバージョン: 0.0.12
  • ベースURL: https://query2.finance.yahoo.com/v8/finance/chart/
  • 主な機能: 指定した株式シンボルの過去の価格データや取引量を取得

利用可能なデータ

このAPIを使うと、特定の株式に関して以下のような詳細な過去データを取得することができます。

  1. Open(始値): 取引開始時の価格。株式市場の開始時点での価格を示します。
  2. High(高値): その日の取引中での最高価格。投資家がその株式に支払う最高額を示します。
  3. Low(安値): その日の取引中での最低価格。投資家がその株式に支払う最低額を示します。
  4. Close(終値): 取引終了時の価格。市場が閉じたときの価格を示し、株価の最終的な評価となります。
  5. Adj Close(調整後終値): 配当や株式分割を考慮した終値。このデータは、投資家が総合的な株価パフォーマンスを評価するのに役立ちます。
  6. Volume(取引量): その日に取引された株式の総数。取引の活発さや流動性を示す重要な指標です。

APIの利用方法

リクエスト構造

Yahoo Finance APIは、指定されたエンドポイントにGETリクエストを送信することでデータを取得します。リクエストにはいくつかのパラメータを指定する必要があり、それぞれのパラメータが取得するデータの範囲や内容を決定します。

必須パラメータ

  • symbol(必須): 取得したい株式のティッカーシンボル。例: AAPL(Apple)、TM(トヨタ)。
  • interval(必須): データを取得する間隔を指定します。例: 1m(1分ごと)、1d(1日ごと)。

任意パラメータ

  • range: 取得したいデータの期間を指定します。例: 1d(1日)、1mo(1か月)、1y(1年)。
  • period1: データ取得の開始日時をUNIXタイムスタンプ形式で指定します。
  • period2: データ取得の終了日時をUNIXタイムスタンプ形式で指定します。
  • events: 特定のイベント(配当や株式分割)を含めるかどうかを指定します。

例えば、トヨタ(シンボル: TM)の過去1か月分のデータを1日ごとに取得したい場合、以下のようなリクエストを送信します:

https://query2.finance.yahoo.com/v8/finance/chart/TM?range=1mo&interval=1d

このリクエストによって、トヨタの過去1か月間の日次の始値、終値、高値、安値、取引量などが返されます。

レスポンスの構造

リクエストが成功すると、APIはJSON形式でデータを返します。このデータには、指定した期間内の株式価格情報や取引量が含まれます。

  • timestamp: 各データポイントのタイムスタンプ(UNIX形式)
  • open: 各日の始値の配列
  • high: 各日の高値の配列
  • low: 各日の安値の配列
  • close: 各日の終値の配列
  • adj_close: 各日の調整後終値の配列
  • volume: 各日の取引量の配列

エラーハンドリング

API利用時には、リクエストが失敗する場合もあります。これらのエラーは、HTTPステータスコードで示されます。

  • 400 Bad Request: リクエストのパラメータが不正な場合
  • 401 Unauthorized: 認証に失敗した場合(APIキーが必要な場合)
  • 403 Forbidden: アクセス権限が不足している場合
  • 404 Not Found: 指定した株式シンボルが見つからない場合
  • 500 Internal Server Error: サーバー側の問題が発生した場合

ソースコード

getHistoricalDataのソースコードです。コピペなどでご使用下さい。

openapi: 3.1.0
info: title: Yahoo Finance API version: 0.0.12
servers: - url: https://query2.finance.yahoo.com/v8/finance/chart/ description: Main API server
paths: /historical: get: operationId: getHistoricalData summary: Retrieve historical data for a given stock symbol tags: - Stock Data parameters: - name: symbol in: query required: true schema: type: string description: Stock symbol to retrieve data for - name: range in: query schema: type: string description: Range from the current time (e.g., 1d, 5d, 1mo) - name: period1 in: query schema: type: integer description: Start time in UNIX timestamp - name: period2 in: query schema: type: integer description: End time in UNIX timestamp - name: interval in: query required: true schema: type: string description: Interval for the data (e.g., 1m, 1d) - name: events in: query schema: type: string description: Events to include (e.g., div, split) responses: '200': description: Successful response with historical data content: application/json: schema: type: object properties: timestamp: type: array items: type: integer open: type: array items: type: number high: type: array items: type: number low: type: array items: type: number close: type: array items: type: number adj_close: type: array items: type: number volume: type: array items: type: integer '400': description: Bad request (e.g., missing or invalid parameters) '401': description: Unauthorized (e.g., invalid API key) '403': description: Forbidden (e.g., insufficient permissions) '404': description: Not found (e.g., invalid stock symbol) '500': description: Internal server error

まとめ

Yahoo Finance APIは、過去の株価データを取得するのに非常に便利なツールです。これを活用することで、投資家やデータアナリストは、株式市場の過去の動向を分析し、将来の投資戦略を立てるのに必要な洞察を得ることができます。このAPIの使い方や取得できるデータについて理解を深め、実際にデータを取得して分析に役立ててください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です