峰度, 直方图和散点图

2019-05-07  本文已影响0人  D_Major

日收益率(每日回报)直方图呈正态分布
每日回报值的直方图中,X 轴表示上下变化率 (%),Y 轴表示发生次数。我们在直方图中描绘了每只股票的两个常见特性:回报和波动性(或风险)。
图像中轴μ越靠右代表均值越高, 则回报越高; 图像越宽(越矮)代表标准差越大, 则波动性更高.

峰度(kurtosis)

峰度表征尾部信息, 表示和传统高斯分布相比有多少不符合的. 宽尾(fat tails)代表存在比传统高斯分布更偶然更频繁的东西(概率小的数量竟然多), 导致频率上有比正态分布大的偏移.

实际应用中, 忽略峰度直接认为收益是高斯分布会带来惨重后果.

直方图(histogram)

# 调用dataframe自身的方法绘制直方图
daily_returns.hist(bins=20)  # bins参数代表横轴疏密度
plt.axvline(mean, color='w', linestyle='dashed', linewidth=2)
plt.axvline(std, color='r', linestyle='dashed', linewidth=2)
plt.axvline(-std, color='r', linestyle='dashed', linewidth=2)

标准差要绘制两条线, linestyle='dashed'代表破折号线
计算峰度: daily_returns.kurtosis(), 大于0代表宽尾
使用numpy.histogram可以得到bin的数量

daily_returns['SPY'].hist(bins=20, label="SPY")
daily_returns['XOM'].hist(bins=20, label="XOM")
plt.show()

散点图

市场关系用SPY表示, 作为横轴与其他股票作对比
用daily_returns中的['SPY']和['XYZ']在同一天中的取值分别作为横轴和纵轴绘制散点图, 二者均分布于[-1, 1], 则散点图走势大致为线性增长.
散点图拟合直线的斜率(slope)通常用β或beta表示, 代表股票对市场的反应, 市场(SPY)上升1%, 则市场预期(股票)上升1%; 直线和y轴交点截距通常用α表示, α>0表示股票会比SPY表现的好, 反之则差.
斜率不等于相关性, 相关性表示点对直线的拟合程度, 范围属于(0, 1),

daily_returns.plot(kind='scatter', x='SPY', y='XOM')
plt.show()
daily_returns.plot(kind='scatter', x='SPY', y='XOM')
beta_XOM, alpha_XOM = np.polyfit(daily_returns['SPY'], daily_returns['XOM'], 1)
plt.plot(daily_returns['SPY'], beta_XOM * daily_returns['SPY'] + alpha_XOM, '-', color='r')
plt.show()

图像如下:

可见XOM的beta更大, 则其对市场(SPY)的反应更强, 曲线也更贴近SPY; XOM的alpha小于0, 则其在SPY下方.
GLD的beta小, 其受SPY的影响也更小, 和SPY差异大; GLD的alpha大于0, 则其在SPY上方.

相关性

使用df.corr()方法计算相关性, 标准采用pearson

daily_returns.corr(method='pearson')
相关性矩阵
上一篇下一篇

猜你喜欢

热点阅读