ChatGPTを用いたテクニカル分析② Code Interpreterの活用
はじめに
近年、金融市場はますます複雑化し、競争が激化しています。この状況下で、投資家たちは最適な投資判断を行うために様々な手法を試みています。その中で、テクニカル分析は投資家にとって重要な分析手法の一つとなっています。
テクニカル分析は価格データや取引量などの市場データを用いて将来の価格変動を予測しようとするものです。より具体的にはMarketSpeedなどの取引ツールやTrading Viewなどのチャートツールで移動平均線やRSIを表示して、価格分析をしたり、トレンドの転換点を読む分析を指します。
ただしこれらのツールでは機能が一部有料であったり、設定できる内容が限られているようなケースが存在します。
一方でプログラミングを使用することで、自由に様々なテクニカル分析機能を実装することが可能となります。
今回は自然言語処理を得意とするChatGPTのCode Interpreter機能を用いて自動でプログラムを生成/実行/デバッグさせ、テクニカル分析がへ応用可能かを検証します。
本アカウントについて
本アカウントではChatGPTを経済、株式等に応用する手法を考察、情報共有しています。過去にはファンダメンタルズ分析用にChatGPTを応用する手法、そのデータ収集のためのスクレイピングプログラムを紹介しております。よろしければご参照、アカウントのフォローをいただけますと幸いです。
⚠️注意事項
当アカウント発信の情報に基づいて投資判断を行い、損失が発生した場合でも、当方は一切の責任を負いません。
投資にはリスクが伴うため、投資判断は自己責任でお願い致します。
本記事は特定の商品の勧誘や売買の推奨等を目的としたものではありません
検証③:GPT上で解析する
Code Interpreterとは
Code Interpreter機能とは、ChatGPTにおいてユーザーからのコーディングに関する質問やリクエストに対して、リアルタイムでコードを解析し、実行結果を提供する機能です。
この機能を用いると、ChatGPTのインターフェイス上でGPTがコードを自動で実行及びデバッグを行い、その結果を表示してくれます。
今回の検証では、この機能を用いて特定企業の株価に対してテクニカル分析を実行してみます。
検証用データを入手する
今回は旭化成(3407)のデータを例として使用します。
財務分析の際と同様に、データの創作を防止するため必ず実データを用意し解析対象とします。
今回はChatGPTに下記のような形でコード作成してもらいました。
下記要件に従って株価データをダウンロードするpythonスクリプトを作成してください
#要件
・yfinanceから、日本の証券コード3407の日足データを過去3ヶ月分取得する
・日付、始値、高値、安値、終値、出来高の順でカンマ区切りのcsvで保存する
作成されたスクリプトは、下記のとおりです。
import yfinance as yf
from datetime import datetime, timedelta
import pandas as pd
# 証券コードと市場の接尾辞を指定(日本の場合は '.T' を使用)
ticker_symbol = "3407.T"
# 過去3ヶ月分の日付範囲を計算
end_date = datetime.now()
start_date = end_date - timedelta(days=90)
# yfinanceを使用してデータを取得
data = yf.download(ticker_symbol, start=start_date, end=end_date)
# 必要なカラムを選択し、日付をカラムに含める
data = data.reset_index()
data = data[['Date', 'Open', 'High', 'Low', 'Close', 'Volume']]
# CSVファイル名を定義(例: "3407_stock_data.csv")
csv_file_name = f"{ticker_symbol.replace('.T', '')}_stock_data.csv"
# CSVファイルに保存
data.to_csv(csv_file_name, index=False, date_format='%Y-%m-%d')
print(f"{csv_file_name}にデータを保存しました。")
上記を実行して、下記のデータを入手しました。
Date,Open,High,Low,Close,Volume
2023-11-14,1002.0,1018.0,1002.0,1012.5,5275900
2023-11-15,1019.0,1020.0,1009.5,1020.0,3927100
(中略)
2024-02-07,1109.5,1120.5,1035.5,1038.5,12795300
2024-02-08,1050.0,1051.5,1025.5,1032.0,8683100
2024-02-09,1032.5,1043.5,1021.5,1028.5,4296400
解析方針を決める
今回はお試しということで、実用性はさておき「ゴールデンクロスの検出」が可能か試してみます。
実行結果
※プロンプトは有料部にて公開しています
まず、実行方法ですが、用意した株価が書かれたCSVファイルをChatGPTの画面にドラックアンドドロップし、アップロードします。
この状態で予め用意した解析用プロンプトを入力し、解析を開始します。
Trading view の画面と比較しても、ゴールデンクロス、デッドクロスを正しく検知できている事がわかります。
今回は一番単純な移動平均に対する分析を検証しましたが、ChatGPTを活用すれば、より複雑な取引アルゴリズムの構築に役立てることができると考えられます。
次回はより複雑なテクニカル分析に対するChatGPTの応用について検証していきます。
今回使用したプロンプト(有料)
今回の検証を再現度高く実行できるようにChatGPTプロンプトを作成しました。有料になりますが、ご興味がある方は是非ご購入ください!
ここから先は
¥ 1,000
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?