見出し画像

【線形回帰・ランダムフォレスト・ニューラルネットワークの解説】 1か月後の株価予想サンプルコード

3種類の機械学習モデルを学ぶことができます。

まずはこのコードを実行してAppleの1か月後の株価を予測してみてください。

簡単なサンプルコードです。

ライブラリがまだの方は入れてくださいね。

pip install yfinance numpy scikit-learn pandas
import yfinance as yf
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import pandas as pd

# 株価データの取得
data = yf.download('AAPL', start='2000-01-01', end='2023-12-02')

# 特徴量とターゲットの生成(一か月後の株価)
data['Target'] = data['Close'].shift(-20)  # 一か月後(約20取引日後)の株価
data = data.dropna()

# 特徴量(過去の株価)の選択
features = ['Open', 'High', 'Low', 'Close', 'Volume']
X = data[features]
y = data['Target']

# データの分割(トレーニングセットとテストセット)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

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

# 最新のデータを用いた予測(一か月後の株価)
latest_data = data[features].iloc[-1].values.reshape(1, -1)
predicted_price = model.predict(latest_data)

print(f"Predicted price for 1 month later: ${predicted_price[0]:.2f}")

結果は次のようになりました。

[*********************100%***********************] 1 of 1 completed Predicted price for 1 month later: $180.10

注意

ここで紹介しているコードはサンプルコードになります。
細かいパラメータの調整や設定、バックテストなども行なっていません。
実際の取引にこのような予測を適用する際には、リスク管理と資金管理を十分に行うことが重要です。

この結果、実は線形回帰モデルという概念を使用しています。

この記事では、線形回帰、ランダムフォレスト、ニューラルネットワークについておおまかに特徴を把握できます。

また、モデルの選択方法を理解することもでき、実際にモデルを使った未来予測のサンプルコードを入手することができます。

(マネーに関するプログラミングに興味があれば、是非マガジンの購入も検討してくださいね!)

ここから先は

3,638字
この記事のみ ¥ 390

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