コレログラム

コレログラム横軸を次数 $j$ として, 縦軸に $j$ 次の標本自己相関を示した図のこと.

nikkei225.csv というCSVファイルからデータを読み込んでコレログラムを描画する Python のコードを示す.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt# CSVファイルからデータを読み込む
nikkei225 = pd.read_csv('nikkei225.csv', usecols=['日付', 'Close', 'Open', 'High', 'Low'])

# 日次リターンを計算するnikkei225['Return'] = nikkei225['Close'].pct_change() * 100
# Close列からリターンを計算
# リターンデータの自己相関を計算
autocorrelation = nikkei225['Return'].autocorr()

# 自己相関プロット(コレログラム)を描画
plt.figure(figsize=(12, 6))

# 95%信頼区間の線を赤色に変更
plt.axhline(y=-1.96/np.sqrt(len(nikkei225_new)), color='red', linestyle='-')
plt.axhline(y=1.96/np.sqrt(len(nikkei225_new)), color='red', linestyle='-')

# 99%信頼区間の線を青色に設定
plt.axhline(y=-2.576/np.sqrt(len(nikkei225_new)), color='blue', linestyle='-')
plt.axhline(y=2.576/np.sqrt(len(nikkei225_new)), color='blue', linestyle='-')

# プロットの線を太くし, 色を緑に変更
pd.plotting.autocorrelation_plot(nikkei225_new, linewidth=4, color='green')

# y軸の範囲を設定(-0.5から0.5に変更)
plt.ylim(-0.5, 0.5)

plt.grid(True)
plt.show()

同様にして,nikkei225.csv というCSVファイルからデータを読み込んでコレログラムを描画する Julia[1.9.3] のコードを示す.

using CSV
using DataFrames
using Plots
using StatsBase # StatsBaseパッケージをインポート

# CSVファイルからデータを読み込む
df = CSV.File("nikkei225.csv") |> DataFrame

# Closeデータからリターンデータを計算
close_data = df.Close
returns = diff(close_data) ./ close_data[1:end-1]

# コレログラムを計算
lags = 1:10 # ラグの範囲を設定
autocorrelation = [cor(returns[1:end-lag], returns[lag+1:end]) for lag in lags]

# プロット
plot(lags, autocorrelation, xlabel = "Lag", ylabel = "Autocorrelation", title = "Autocorrelation Plot")

なお, ./ は,要素ごとの除算[element-wise division]を意味する.これは,配列やベクトルなどの要素ごとの演算を行う場合に使用される.



企業史メモ 単語帳




















JuliaをJupiter Noteで利用できるようにする方法 - コレログラム - ヒストグラム - 二項分布 - 分散