見出し画像

祝!! 高精度の推論に成功 AIによる推論で明日の日経平均株価を予測する 結果が出てほっとした編


予測精度74.0%のAIで明日の日経平均株価を予測する

学習済みAIモデルを使って何らかのデータや情報、等を導き出す行為を、専門用語では、AIによる推論と表現するそうです。

以前、私は、予測精度が60%強の学習済みAIモデルを使って、明日の日経平均株価が上がるか下がるか(二値分類)を推論させたことがあります。

具体的なやり方、等も含め、詳細は下記の記事を参照ください。

前回の推論では、AIモデルの学習および評価で使用したデータの期間が2024年1月末までだったので、推論の期間を2024年2月1日から2024年3月29日までとしました。

結果は、予測精度が48.7%と非常に残念なものでした。

今回は、予測精度が74.0%の学習済みAIモデルを使って、2024年2月1日から2024年4月30日までを対象とした推論を行います。

予測精度74.0%の学習済みAIモデルによる推論結果

予測精度が74.0%の学習済みAIモデルを使って、2024年2月1日から2024年4月30日までを対象に推論を行った結果を以下に示します。

AIモデル 推論 日経平均株価 比較
AIモデルの予測結果と実際の日経平均株価との比較

私が作成したAIモデルは、当日の株価情報に基づいて翌営業日の日経平均株価が上昇するか下落するかを予測します。

推論値が0.5以上の場合は翌営業日の日経平均株価が上昇、推論値が0.5未満の場合は翌営業日の日経平均株価が下落と判断します。

  • 推論結果

    • 予測全数: 60

    • AIモデルの予測「上昇」、実際の日経平均株価「上昇」の回数: 24

    • AIモデルの予測「下落」、実際の日経平均株価「下落」の回数: 20

    • 正解率: 73.3%

予測精度が74.0%のAIモデルで推論した結果の正解率が73.3%でしたので、大成功でした。

ちなみに、前回の記事と同じく、推論の対象期間を2024年2月1日から2024年3月29日までとした場合の正解率は66.7%(予測全数: 39)でした。

やはり、推論の対象となる数(今回のケースでは期間)が少ないと、正解率のバラつきが大きくなるようです。

推論に使用したAIモデルの詳細

下記に、今回の推論に使用したAIモデルの詳細をまとめます。

AIモデルは、4層Affine構造であり、各設定パラメータは以下の通りです。

推論 4層Affine構造 AIモデル
推論に使用した4層Affine構造のAIモデル

学習および評価データは、「日経平均株価 + VIX指数」を使用しました。

私が作成した学習および評価データを生成するPythonプログラムを使用する場合は、以下の通りに実行します。

> python filename.py --elm VIX
Start day: 1986-01-01
End day: 2024-01-31
[*********************100%%**********************]  1 of 1 completed
Training data element: VIX
[*********************100%%**********************]  1 of 1 completed
Number of rows for validation data: 250
Training data period: 1990-01-04 00:00:00 - 2023-01-24 00:00:00
Validation data period: 2023-01-25 00:00:00 - 2024-01-30 00:00:00
Training data csv file: training.csv
Validation data csv file: validation.csv

Done.

上記において、Pythonプログラムのファイル名はfilename.pyとしています。

また、学習データはtraining.csvに、評価データはvalidation.csvに保存されます。

推論に使用したAIモデルは、上記のAIモデルに学習データと評価データを組み合わせて作成しました。

続いて、推論に使用するデータの作成方法について記載します。

> python filename.py --elm VIX --nolabel --s 2024-2-1 --e 2024-4-30
Start day: 2024-02-01
End day: 2024-04-30
[*********************100%%**********************]  1 of 1 completed
Training data element: VIX
[*********************100%%**********************]  1 of 1 completed
No label output!!
No label data period: 2024-02-01 00:00:00 - 2024-04-30 00:00:00
No label data csv file: nolabel.csv

Done.

学習および評価データを作成したPythonプログラムを使用して、推論用のデータを作成します。

推論を行う期間は、2024年2月1日から2024年4月30日までとしています。

推論用のデータはnolabel.csvに保存されます。

ちょっとした課題

今回の記事では、予測精度が74.0%となるAIモデルを使用して、同レベルの推論を行うことができることを紹介しました。

しかし、ちょっとした課題があります。

それは、学習済みAIモデルに推論をさせるためには、VIX指数の情報が必要となることです。

VIX指数は、S&P500に基づいて算出されるため、その日のS&P500が確定するまでVIX指数を算出することはできません。

つまり、翌営業日の日経平均株価を予測するためには、VIX指数の確定を待たなければなりません

アメリカの株式市場における取引時間は次の通りです。

  • アメリカの株式市場における取引時間

    • 現地時間: 09:30~16:00

    • 日本時間: 22:30~05:00(サマータイム), 23:30~06:00

私が作成したPythonプログラムは、Yahoo FinanceからVIX指数をダウンロードしています。

Yahoo FinanceがVIX指数を確定させる時間は分かりませんが、早くとも日本時間の朝となります。

このような都合から、私が作成した学習済みAIモデルに翌営業日の日経平均株価を推論させるには、早くとも当日の朝まで待つ必要があります。

各種データについて

今回の学習済みAIモデルに関連したデータをZipファイルにまとめました。

  1. N225_4Affine_Acc74.0p.sdcproj

    • Neural Network Console用のプロジェクトファイル

  2. N225_vix_training.csv

    • 学習データ

  3. N225_vix_validation.csv

    • 評価データ

  4. prediction_VIX_20240201-20240430.csv

    • 推論データ


この記事が気に入ったらサポートをしてみませんか?