株価と日経平均の相関について調べてみた

※こちらはchatGPTにて作成してものとなります。
日経平均は、東京証券取引所に上場している225の主要な銘柄の株価を基に算出される株価指数です。この指数は、日本の株式市場の全体的な動向を示すバロメーターとして広く利用されています。一方、個別の銘柄の株価は、その企業の業績や業界の動向、マクロ経済の状況など多岐にわたる要因に影響を受けます。

この記事では、日経平均と個別の銘柄の株価との相関について調査しました。具体的には、日経平均の動きと、特定の銘柄の株価の動きとの間にどれほどの関連性があるのかを確認することを目的としています。

方法

1. データの取得

まず、必要なライブラリをインポートします。

pythonCopy codeimport yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler

import yfinance as yf import pandas as pd import numpy as np import matplotlib.pyplot asplt from sklearn.preprocessing import MinMaxScaler

次に、yfinance ライブラリを使用して、日経平均と特定の銘柄の株価データを取得します。

# 日経平均のデータ取得
nikkei = yf.Ticker("^N225")
nikkei_df = nikkei.history(period="10y")

# 個別銘柄のデータ取得 (例: トヨタ自動車)
selected_stocks = ['9104.T', '9107.T', '9101.T', '8801.T', '9531.T', '9432.T', '6501.T', '7201.T', '6976.T', '2433.T']
stock_data = {}
for stock in selected_stocks:
    ticker = yf.Ticker(stock)
    stock_data[stock] = ticker.history(period="10y")

# 日経平均のデータ取得 nikkei = yf.Ticker("^N225") nikkei_df = nikkei.history(period="10y")# 個別銘柄のデータ取得 (例: トヨタ自動車) selected_stocks = ['9104.T', '9107.T', '9101.T', '8801.T', '9531.T', '9432.T', '6501.T', '7201.T', '6976.T', '2433.T'] stock_data = {} forstock in selected_stocks: ticker = yf.Ticker(stock) stock_data[stock] = ticker.history(period="10y")

2. データの正規化

各データセットを正規化し、0から1の範囲にスケーリングします。

scaler = MinMaxScaler()
nikkei_df['Normalized_Close'] = scaler.fit_transform(nikkei_df['Close'].values.reshape(-1, 1))
nikkei_df['Normalized_Volume'] = scaler.fit_transform(nikkei_df['Volume'].values.reshape(-1, 1))

for stock, data in stock_data.items():
    data['Normalized_Close'] = scaler.fit_transform(data['Close'].values.reshape(-1, 1))

scaler = MinMaxScaler() nikkei_df['Normalized_Close'] = scaler.fit_transform(nikkei_df['Close'].values.reshape(-1, 1)) nikkei_df['Normalized_Volume'] = scaler.fit_transform(nikkei_df['Volume'].values.reshape(-1, 1)) for stock, data instock_data.items(): data['Normalized_Close'] = scaler.fit_transform(data['Close'].values.reshape(-1, 1))

3. チャートの表示

正規化された日経平均と個別の銘柄の株価データをチャートに表示します。

for stock, data in stock_data.items():
    plt.figure(figsize=(14, 7))
    plt.plot(nikkei_df.index, nikkei_df['Normalized_Close'], label='Nikkei Normalized Close', color='black', alpha=0.8)
    plt.plot(data.index, data['Normalized_Close'], label=f'{stock} Normalized Close', color='blue', alpha=0.8)
    plt.title(f'Nikkei vs {stock}')
    plt.legend()
    plt.grid(True)
    plt.show()

for stock, data in stock_data.items(): plt.figure(figsize=(14, 7)) plt.plot(nikkei_df.index, nikkei_df['Normalized_Close'], label='Nikkei Normalized Close', color='black', alpha=0.8) plt.plot(data.index, data['Normalized_Close'], label=f'{stock}Normalized Close', color='blue', alpha=0.8) plt.title(f'Nikkei vs {stock}') plt.legend() plt.grid(True) plt.show()

結果

正規化された日経平均と個別の銘柄の株価との間には、一定の相関が観察されました。これは、日経平均が上昇するとき、多くの銘柄の株価も上昇する傾向があることを示しています。逆に、日経平均が下落するとき、多くの銘柄の株価も下落する傾向があります。

しかし、完全な相関は存在しないため、日経平均の動きだけを基に個別の銘柄の株価の動きを予測することは難しいと言えます。

まとめ

日経平均と個別の銘柄の株価との間には一定の関連性がありますが、その関連性は完全ではありません。投資を行う際には、日経平均の動きだけでなく、個別の銘柄や業界の動向、企業の業績など、多岐にわたる要因を考慮することが重要です。


この記事は、株価と日経平均の相関についての基本的な調査を行ったものです。実際の投資判断には十分な注意が必要です。

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