矩阵转置相关公式_(机器学习示例)上证指数、深证指数相关性研究

上海证券综合指数简称“上证指数”或“上证综指”,其样本股是在上海证券交易所全部上市股票,包括A股和B股,反映了上海证券交易所上市股票价格的变动情况,自1991年7月15日起正式发布。

深证指数是指由深圳证券交易所编制的股价指数,该股票指数的计算方法基本与上证指数相同,其样本为所有在深圳证券交易所挂牌上市的股票,权数为股票的总股本。由于以所有挂牌的上市公司为样本,其代表性非常广泛,是股民和证券从业人员研判深圳股市股票价格变化趋势必不可少的参考依据。

本文主要对上证指数和深证指数的走势相关性进行研究。

相关性识别

下图为2018年1月到2019年5月深证指数与上证指数的趋势情况。两者走势非常类似

eb01224641ee267b0e84359908e3e81d.png

cd03b4a0040127b37927ea6356c5f567.png

我们以每天较前一天的涨跌变化为对象进行统计,得到如下的涨跌曲线图。

1d3cc79a2961e8fe86746ddaf32b3a2d.png

因为数据较多不容易分析,我们截取最近三个月的变化情况,如下图。可以发现,深证指数和上证指数在涨跌变化上也非常相似。

9b89b3b2599290cd39a0cd0e7b8396cc.png

相关性度量

我们使用相关图和相关系数来进行相关性的度量。相关图是发现变量之间相关程度和相关形态的有效工具,它为测定相关关系奠定有效基础。相关系数是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量。比如下图就是几种简单的相关关系。

aedc4ffb5f234d5188af55562b2dfef3.png

51d094be03840461a3f90f6011f012d7.png

b4e40d33a905c07ec88d26704fe731a1.png

我们将2018年1月到2019年5月上证指数和深证指数的变化情况形成相关图。

dccab5c4811ec6aa2891e59c9c29c1a2.png

从相关图来看,深证指数和上证指数之间存在正相关关系。图中的最高点代表上证和深证指数的最大涨幅(发生在2019年2月25日,上证指数涨5.6%,深证指数涨5.59%)。

我们使用相关系数进行度量,得到两者的相关系数值:0.9369。根据与下图对照,我们可以确定深证指数与上证指数存在强正相关关系。

bb1ce5e3c438530b9a233e578f00069d.png

使用线性回归策略,可以得到最佳拟合直线和回归系数。

0ff67fccc4456553cfbd8be58da8ec3e.png

回归系数=

[[0.0036755 ]

[0.75722668]]

误差=72.03440239535223

示例代码

相关系数计算与散点图绘制

#获得指数数据
    

线性回归以及拟合直线绘制

    ws=reg.standRegres(dataMat,data['shprice'])
    
    #计算误差,偏差平方和
    xMat=mat(dataMat)
    yMat=mat(labelMat)
    yHat=xMat*ws# 深证指数矩阵*回归系数矩阵就可以得到预测矩阵
   
    
    #根据深证指数,计算预测的上证指数值,绘制回归曲线
    ax=base.plotscatterGraph(data['szprice'],data['shprice'],'深证指数','上证指数',False)
    ax.plot(xMat[:,1],yHat)
    plt.show()
    print('回归系数=n %s'%ws)
    
    rsserr01=reg.rssError(yMat,yHat.T)
    print('误差=%s'%rsserr01)

线性回归标准函数

#标准回归函数,计算最佳拟合曲线
def standRegres(xArr,yArr):
    #矩阵.T是对矩阵进行转置
    xMat = mat(xArr); yMat = mat(yArr).T
    xTx = xMat.T*xMat# X转置*X
    #判断是否有行列式为0,linalg为线性代数库
    if linalg.det(xTx) == 0.0:
        print("This matrix is singular, cannot do inverse")
        return
    #.I矩阵求逆 WS为回归系数,Y的预测值计算方式为 ws[0]+ws[1]X1
    ws = xTx.I * (xMat.T*yMat)
    return ws
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值