収益率の相関を見る
相関係数
二つの銘柄の収益率データを とする。この時相関係数は
$$
corr(X,Y) = \frac{ \sum_{t=1}^T (x_t - \bar{x})(y_t - \bar{y}) }{\sqrt{\sum_{t=1}^T (x_t - \bar{x})^2} \sqrt{\sum_{t=1}^T (y_t - \bar{y})^2} }
$$
で定義される。今回は散布図行列をプロットして見ることにする。
今回は
- QUICK
- 日立
- 武田薬品
の3銘柄で試してみた。
%matplotlib inline import matplotlib.pyplot as plt import quandl import pandas as pd import seaborn as sns import numpy as np from scipy.stats import norm # データの取得 df_quick = quandl.get('TSE/4318') # Quick df_hitachi = quandl.get('TSE/6501') # 日立製作所 df_takeda = quandl.get('TSE/4502') #武田薬品工業 # 対数差収益率に変換 Quick_RoR = np.diff(np.log(df_quick.loc["2013-07-16":, ['Close']]), axis=0)*100 Hitachi_RoR = np.diff(np.log(df_hitachi.loc["2013-07-16":, ['Close']]), axis=0)*100 Takeda_RoR = np.diff(np.log(df_takeda.loc["2013-07-16":, ['Close']]), axis=0)*100 Nikkei_RoR = np.diff(np.log(df_Nikkei.loc["2013-07-16":, ['Close Price']]), axis=0)*100 # データフレームに収益率をまとめる df = pd.DataFrame(np.concatenate((Quick_RoR, Hitachi_RoR, Takeda_RoR), axis=1), columns=['QUICK', 'HITACHI', 'TAKEDA']) # seaboard で散布図行列を出力 sns.pairplot(df, kind='reg',size=8)
得られた結果が以下
これを見る限り、武田薬品と日立の相関が比較的強いように見える。実際に相関を計算すると
df.corr()
QUICK | HITACHI | TAKEDA | |
---|---|---|---|
QUICK | 1.000000 | 0.324614 | 0.307317 |
HITACHI | 0.324614 | 1.000000 | 0.511227 |
TAKEDA | 0.307317 | 0.511227 | 1.000000 |
となる。日立と武田薬品は約0.5と相関があり、日立とQUICKと比べて大きい事がわかる。
少し短いけどここまでにします。