跳到主内容
研究主线统计估计与回归基础 · 第6–13讲4/8模块导览 →
讲义

第9讲:相关系数 (Correlation Analysis)

解释协方差与皮尔逊相关系数的计算和差异,比较人工变量与资产收益,并说明线性关系和显著性限制。

完成状态保存在当前浏览器,可随时取消。

一、相关系数基础概念#

1.1 什么是相关系数?#

相关系数是衡量两个变量之间线性关系强度的指标,取值范围为[-1, 1]:

  • +1 表示完全正相关

  • 1 表示完全负相关

  • 0 表示无线性关系

1.2 关键计算公式#

相关系数ρ的计算公式:

ρX,Y=cov(X,Y)σXσY\rho_{X,Y} = \frac{cov(X,Y)}{\sigma_X \sigma_Y}

其中:

  • cov(X,Y) 是协方差

  • σX 和 σY 是标准差

二、相关系数 vs 协方差#

2.1 核心区别#

指标特点量纲取值范围
协方差反映变量共同变化趋势有量纲(-∞, +∞)
相关系数标准化后的协方差无量纲[-1, 1]

2.2 代码演示对比#

code
import numpy as np

# 生成相关数据
X = np.random.rand(50)
Y = 2 * X + np.random.normal(0, 0.1, 50)

# 计算协方差和相关系数
cov_xy = np.cov(X, Y)[0, 1]
corr_xy = np.corrcoef(X, Y)[0, 1]

print(f"协方差: {cov_xy:.4f}")
print(f"相关系数: {corr_xy:.4f}")

三、实战应用:股票相关性分析#

3.1 数据获取(使用yfinance)#

code
import yfinance as yf
import pandas as pd

# 获取股票数据
tickers = ['AAPL', 'LRCX', 'SPY']
start = '2013-01-01'
end = '2015-01-01'

data = yf.download(tickers, start=start, end=end)['Close']
data.columns = tickers  # 简化列名

3.2 相关性计算#

code
# 计算相关系数矩阵
corr_matrix = data.corr()
print("相关系数矩阵:")
print(corr_matrix)

# 可视化相关性
import seaborn as sns
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')

3.3 滚动相关性分析#

code
# 计算60日滚动相关系数
rolling_corr = data['AAPL'].rolling(window=60).corr(data['LRCX'])

# 可视化结果
import matplotlib.pyplot as plt
plt.figure(figsize=(12,6))
rolling_corr.plot(title='AAPL与LRCX的60日滚动相关系数')
plt.ylabel('相关系数')
plt.show()

四、深入理解相关系数#

4.1 统计显著性检验#

使用 p 值判断相关性是否显著:

code
from scipy.stats import pearsonr

corr, p_value = pearsonr(data['AAPL'], data['LRCX'])
print(f"P值: {p_value:.4e}")
# P值 < 0.05 表示相关性显著

4.2 注意事项与局限性#

  1. 非线性关系:只能检测线性关系,可能漏判非线性关联

  2. 异常值敏感:离群值会显著影响结果

  3. 相关≠因果:不能证明因果关系

  4. 时间段依赖:不同时期可能呈现不同相关性

五、综合案例:投资组合构建#

5.1 低相关性资产筛选#

code
# 获取多资产数据
assets = ['AAPL', 'MSFT', 'GLD', 'TLT', 'OIL']
data = yf.download(assets, period='5y')['Close']

# 计算相关系数矩阵
corr_matrix = data.corr()

# 筛选低相关性资产组合
low_corr_pairs = corr_matrix[(corr_matrix > -0.3) & (corr_matrix < 0.3) & (corr_matrix != 1)]
print("低相关性资产对:")
print(low_corr_pairs.dropna(how='all'))

5.2 投资组合优化建议#

  1. 选择相关系数<0.5的资产组合

  2. 定期监控相关性变化

  3. 结合夏普比率等指标综合评估


关键要点总结:

  • 相关系数是量化资产关系的核心工具

  • 实际应用需结合统计显著性检验

  • 注意区分相关性与因果关系

  • 动态监控比单一时点分析更重要

提示:在Quantopian等量化平台进行回测时,需特别注意相关性随时间变化的特点,避免过度依赖历史相关性。