【Python】人工知能(AI)と企業の四半期決算を利用した株価予測

【Python】企業の四半期決算を利用した株価予測

はじめに

株価予測の重要性

金融市場では、株価の動きを予測することはとても重要です。株価の動きを予測できると、投資家の判断を下す助けとなり、最大のリターンを追求できます。企業の四半期決算は、その企業の経済的健全性や将来性を示す重要な指標です。四半期決算には、企業の収益、利益、負債などの金融情報が詳細に記載されており、これらの情報を分析することで、将来の株価を予測できます。

本記事の目的

本記事では、Pythonを使用して企業の四半期決算データを取得し、そのデータを基に株価の動きを予測する方法を解説します。具体的には、四半期決算データの取得方法、データの前処理と特徴量の選択、株価予測モデルの構築と評価について解説します。また、AI技術やChatGPTとの連携方法についても解説します。四半期決算データを活用して、株価を予測する基本的なスキルがマスターできます。

四半期決算データの取得と整形

必要なライブラリのインポート

株価予測を行う際には、Pythonのいくつかのライブラリを利用します。特に、データ分析にはpandas、数値計算にはnumpy、そして機械学習モデルの構築にはscikit-learnが役立ちます。

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor

企業の四半期決算データの取得方法

四半期決算データは、多くの金融情報サイトやデータベースから取得できます。例として、yfinanceというライブラリを使用して、Yahoo Financeからデータをダウンロードする方法を紹介します。

import yfinance as yf

# 例: Appleの四半期決算データを取得
apple = yf.Ticker("AAPL")
hist = apple.history(period="5y")

データの前処理と特徴量の選択

取得したデータには欠損値や外れ値が含まれていることがあります。これらを適切に処理することで、モデルの精度を向上させます。

# 欠損値を平均値で補完
hist.fillna(hist.mean(), inplace=True)

# 特徴量として過去60日間の終値を使用
X = []
y = []
for i in range(60, len(hist)):
    X.append(hist['Close'][i-60:i].values)
    y.append(hist['Close'][i])

以上の手順で、データの前処理を行い、特徴量を選択しました。次は、具体的なモデルの構築方法や評価方法について解説します。

四半期決算データの詳細

データの特性と重要性

四半期決算データは、企業の財務状況や業績を3ヶ月ごとにまとめたものです。このデータには、売上高、利益、負債など、企業の健全性や成長性を示す重要な指標が含まれます。投資家や分析者は、この情報を基に企業の将来性を評価します。

特に、四半期決算は市場の予想と比較されるため、結果によっては株価に大きな影響を及ぼすことがあります。予想を上回る好決算であれば株価が上昇する可能性が高く、予想を下回る場合は株価が下落すると考えられます。

データ取得のPythonコード

四半期決算データの取得には、さまざまな方法があります。Pythonを用いる場合、yfinancequandlなどのライブラリが便利です。以下は、yfinanceを使用してAppleの四半期決算データを取得する例です。

import yfinance as yf

# Appleの四半期決算データを取得
apple = yf.Ticker("AAPL")
quarterly_data = apple.quarterly_financials.transpose()
print(quarterly_data)
           Tax Effect Of Unusual Items Tax Rate For Calcs Normalized EBITDA  \
2023-06-30                         0.0           0.125456     26050000000.0   
2023-03-31                         0.0           0.148756     31216000000.0   
2022-12-31                         0.0           0.157904     38932000000.0   
2022-09-30                         0.0            0.15963     27759000000.0   

           Net Income From Continuing Operation Net Minority Interest  \
2023-06-30                                      19881000000.0           
2023-03-31                                      24160000000.0           
2022-12-31                                      29998000000.0           
2022-09-30                                      20721000000.0           

           Reconciled Depreciation Reconciled Cost Of Revenue         EBITDA  \
2023-06-30            3052000000.0              45384000000.0  26050000000.0   
2023-03-31            2898000000.0              52860000000.0  31216000000.0   
2022-12-31            2916000000.0              66822000000.0  38932000000.0   
2022-09-30            2865000000.0              52051000000.0  27759000000.0   

                     EBIT Net Interest Income Interest Expense  ...  \
2023-06-30  22998000000.0         -18000000.0      998000000.0  ...   
2023-03-31  28318000000.0         -12000000.0      930000000.0  ...   
2022-12-31  36016000000.0        -135000000.0     1003000000.0  ...   
2022-09-30  24894000000.0         -74000000.0      827000000.0  ...   

           Interest Expense Non Operating Interest Income Non Operating  \
2023-06-30                    998000000.0                   980000000.0   
2023-03-31                    930000000.0                   918000000.0   
2022-12-31                   1003000000.0                   868000000.0   
2022-09-30                    827000000.0                   753000000.0   

           Operating Income Operating Expense Research And Development  \
2023-06-30    22998000000.0     13415000000.0             7442000000.0   
2023-03-31    28318000000.0     13658000000.0             7457000000.0   
2022-12-31    36016000000.0     14316000000.0             7709000000.0   
2022-09-30    24894000000.0     13201000000.0             6761000000.0   

           Selling General And Administration   Gross Profit Cost Of Revenue  \
2023-06-30                       5973000000.0  36413000000.0   45384000000.0   
2023-03-31                       6201000000.0  41976000000.0   52860000000.0   
2022-12-31                       6607000000.0  50332000000.0   66822000000.0   
2022-09-30                       6440000000.0  38095000000.0   52051000000.0   

             Total Revenue Operating Revenue  
2023-06-30   81797000000.0     81797000000.0  
2023-03-31   94836000000.0     94836000000.0  
2022-12-31  117154000000.0    117154000000.0  
2022-09-30   90146000000.0     90146000000.0  

[4 rows x 39 columns]

このコードを実行すると、Appleの過去4四半期の決算データが取得できます。データには収益、費用、利益などの情報が含まれており、これを基に分析や予測できます。

次は、実際の予測モデルの構築方法について解説します。

株価予測モデルの構築

使用する予測モデルの選択理由

株価予測には多くのモデルが存在しますが、ここでは線形回帰モデルを選択します。その理由は以下の通りです。

  1. シンプルさ: 線形回帰は理解しやすく、アプローチしやすいモデルです。
  2. 計算速度: 大量のデータを高速に処理できます。
  3. 解釈性: どの特徴量が予測に重要であるかを容易に把握できます。

しかし、線形回帰には非線形の関係を捉えることが難しいという欠点もあります。そのため、高度な予測精度が求められる場合は、ニューラルネットワークやランダムフォレストなどの他のモデルを検討します。

モデルのトレーニングと検証

モデルのトレーニングは、与えられたデータを学習して、新しいデータに対する予測を行う過程です。以下は、Pythonを使用して線形回帰モデルをトレーニングする基本的な手順です。

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# データの分割 (訓練データとテストデータ)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# モデルの初期化
model = LinearRegression()

# モデルのトレーニング
model.fit(X_train, y_train)

# テストデータでの予測
y_pred = model.predict(X_test)

# 予測の精度を評価
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse:.2f}")
Mean Squared Error: 6.21

上記のコードは、四半期決算データを使用して株価を予測するための基本的なフレームワークです。実際のデータと目的に合わせて、特徴量の選択やモデルのパラメータを調整することで、予測精度が向上します。

株価予測モデルの選択理由と、基本的なトレーニング手順について説明しました。

実際のビジネスへの応用

投資判断の参考として

四半期決算のデータは、企業の財務状態や業績の良し悪しを知る手がかりとなります。株価予測モデルを使用することで、これらの情報をもとに未来の株価の動きを予測できます。具体的には、次のような利点が考えられます。

  1. 投資のタイミング: 予測モデルが示す結果を参考に、株を購入するタイミングや売却するタイミングを判断できます。
  2. リスク管理: 予測結果が不確実であることを示す場合、投資のリスクを再評価するきっかけとなります。
  3. 多様な投資先の比較: 複数の企業の四半期決算データをモデルに入力し、それぞれの企業の株価の将来的な動きを比較することで、投資先を選択できます。

企業の業績分析との組み合わせ

四半期決算データだけでなく、他の情報と組み合わせることで、より詳細な分析が可能です。

  1. 業界の動向: 他の企業の四半期決算データや業界の動向を考慮することで、特定の企業の業績が業界全体の動向と合致しているかどうかを確認できます。
  2. 外部要因の影響: 例えば、経済の好不況や政府の政策など、企業の業績に影響を与える外部要因を考慮することで、四半期決算データの背景を深く理解できます。
  3. 過去のデータとの比較: 企業の過去の四半期決算データと現在のデータを比較することで、企業の業績が向上しているのか、低下しているのかを判断できます。

四半期決算を利用した株価予測は、単なる数字の分析だけでなく、投資家の意思決定をサポートする有効なツールとなります。

AIと四半期決算を用いた株価予測のさらなる組み合わせ例

時系列分析を用いた予測の向上

時系列分析は、時間の経過に伴って変化するデータの特性を捉え、未来の動きを予測する手法です。株価も時間の経過とともに変動するため、時系列分析は株価予測に適しています。

四半期決算データと時系列分析を組み合わせることで、以下のようなアプローチが考えられます。

  1. 季節性の考慮: 一部の企業は特定の季節に業績が向上する傾向があります。このような季節性を捉えることで、より正確な予測が可能となります。
  2. トレンドの特定: 企業の業績や株価には長期的なトレンドが存在することがあります。時系列分析を用いることで、これらのトレンドを特定し、未来の株価の動きを予測できます。
  3. 異常値の検出: 予期せぬ出来事やニュースが影響して株価が急激に変動することがあります。時系列分析を通じて、これらの異常値を検出し、モデルの精度が向上します。

ニュース記事やSNSの情報との組み合わせ

企業の四半期決算データだけでなく、ニュース記事やSNSの情報も株価の動きに大きな影響を与えることが知られています。特に、重要なニュースや出来事が公表された際には、株価に瞬時の変動が生じることがあります。

以下の方法で、ニュース記事やSNSの情報を株価予測モデルに組み込むことが考えられます。

  1. 感情分析: SNSやニュース記事における企業に関する言及のポジティブさやネガティブさを分析し、株価の動きとの関連性を調査します。
  2. キーワードの出現頻度: 特定のキーワードが多く言及されている場合、それが株価に影響を与える可能性があります。例えば、企業の新製品発表やM&Aのニュースなど、特定のキーワードが多く言及される場面を特定し、株価の動きとの関連性を分析します。
  3. リアルタイム情報の取得: ニュースサイトやSNSからのリアルタイムな情報取得を自動化することで、瞬時の株価の変動を予測できます。

ニュース記事やSNSの情報を取り入れることで、四半期決算データだけでは捉えきれない株価の微細な動きを予測でき、投資判断の精度を向上させます。

ChatGPTとの連携

四半期決算データの自動解析と報告

ChatGPTは強力な自然言語処理能力を持つため、四半期決算データの自動解析や報告を効率的に行えます。具体的には、以下のような利点があります。

  1. データの自動要約: 膨大な四半期決算データを短時間で要約し、重要なポイントを把握できます。
  2. ビジュアル化のサポート: データをグラフやチャートに変換し、視覚的にデータの傾向や変化を理解できます。
  3. 定期報告の自動化: ChatGPTを活用して、定期的な四半期決算の更新情報を自動で受け取ることが可能です。

リアルタイムの株価予測サポート

ChatGPTの連携により、リアルタイムでの株価予測も実現できます。以下の機能を活用することで、より精度の高い予測と投資判断をサポートします。

  1. リアルタイムのデータ取得: 四半期決算の発表直後や、重要なニュースが流れた際に、即座にデータを取得して分析します。
  2. 感情分析: SNSやニュースの情報をもとに、市場の感情や反応を把握し、それを予測モデルに取り入れることができます。
  3. インタラクティブな質問応答: 投資家やアナリストが具体的に質問すると、ChatGPTがリアルタイムで答えを提供します。例えば、「この企業の最近の利益成長率は?」や「このニュースは株価にどのような影響を与えると予測される?」などの質問に対して、具体的な答えやデータを提供します。

このように、ChatGPTと連携することで、四半期決算データを基にした株価予測の精度や効率を大きく向上させます。

まとめ

四半期決算を用いた株価予測の振り返り

四半期決算データを活用した株価予測の手法を紹介しました。四半期決算データは、企業の財務状況や業績を詳細に把握できる重要な情報源です。これを元にした株価予測は、投資家やビジネスマンにとって価値のある情報となります。

Pythonを使用し、データの取得、前処理、特徴量の選択、モデルの構築とトレーニングの一連の流れを紹介しました。さらに、AI技術との組み合わせによる予測の向上や、ChatGPTとの連携によるリアルタイムな予測サポートなど、先進的な技術を取り入れることで、株価予測の精度をさらに高める方法も解説しました。

今後の展望

時系列分析のさらなる進化やSNSの情報との組み合わせなど、新しいデータや技術を取り入れることで、四半期決算データを活用した株価予測の精度はさらに上がるでしょう。

また、四半期決算以外のデータ、例えば年次決算データや業界ニュース、経済指標なども組み合わせることで、より広範な視点からの予測が可能となります。

コメントを残す

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

CAPTCHA