美文网首页
峰度, 直方图和散点图

峰度, 直方图和散点图

作者: D_Major | 来源:发表于2019-05-07 15:27 被阅读0次

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

    峰度(kurtosis)

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

    • 峰度为正代表尾部数据多于传统高斯分布, 即宽尾(fat tails);
    • 峰度为负代表尾部数据少于传统高斯分布, 即窄尾(skinny tails).

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

    直方图(histogram)

    • 绘制直方图
    # 调用dataframe自身的方法绘制直方图
    daily_returns.hist(bins=20)  # bins参数代表横轴疏密度
    
    • 在直方图中绘制统计值
      使用matplotlib.pyplot.axvline()绘制竖线
    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.hist(bins=20)会出现两个直方图,须分别调用才能画到一个里
    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()
    
    • 直线拟合散点图
      使用np.polyfit()拟合散点图, 参数degree=1代表拟合次数(自由度), 即使用一次方程拟合. 返回多项式系数和截距
    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')
    
    相关性矩阵

    相关文章

      网友评论

          本文标题:峰度, 直方图和散点图

          本文链接:https://www.haomeiwen.com/subject/qfveoqtx.html