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]を意味する.これは,配列やベクトルなどの要素ごとの演算を行う場合に使用される.