![db28bcb1f611254f6aeb3c7cd0f8683a.png](https://i-blog.csdnimg.cn/blog_migrate/a68620746d4126ed64cce399654a7e76.jpeg)
2.7 矩阵运算(二)
原始数据(股票每日涨跌幅及权重)如下:
![aba3564f2349239d975926a3694de89d.png](https://i-blog.csdnimg.cn/blog_migrate/f60bd70804bcb53a06f17484d823734a.png)
另外,已知日均投资总金额为3000万元。
原始数据转换为numpy数组如下:
![2220060a6e7aea06cc187cb70a8fb49e.png](https://i-blog.csdnimg.cn/blog_migrate/0f4f83e12e5a3085d3bff238a1c46740.png)
Tip1:使用dot()函数计算两个矩阵内积(dot product,又称点积、数量积,两个向量相乘,返回一个标量)
![08dc058b79321eb0749e509f1990ad51.png](https://i-blog.csdnimg.cn/blog_migrate/08da392c377e6790102fbc6f653e9909.png)
输出结果如下:
![daa4c504012475b64531d8193b75f9fa.png](https://i-blog.csdnimg.cn/blog_migrate/2fb9125c7ed78becacaa479369881e55.png)
注意:矩阵内积运算要注意顺序,不遵循交换律
Tip2: 统计累计金额用sum()函数,保留小数位数用round()函数
![3f0eca4937b8f89f5e1186fee693d79b.png](https://i-blog.csdnimg.cn/blog_migrate/4836af2be014b6c5efecf3dd8f61069c.png)
输出结果如下:
![73398006fefc73d22c0cbb1cc1a83fb9.png](https://i-blog.csdnimg.cn/blog_migrate/923e91f62b6704a2c8b4f460d335fc53.png)
Tip3:Numpy子模块linalg(linear algebra线性代数)中的det()函数和inv()函数分别用于计算矩阵的行列式(determinant)和逆矩阵(inverse matrix)
![0ed3f0408e4e350e6329ba46bd814456.png](https://i-blog.csdnimg.cn/blog_migrate/16ab476e9008e83558f5cc5406949a16.png)
输出结果:
![bdbb271996ada5e627bbd3949ee87d83.png](https://i-blog.csdnimg.cn/blog_migrate/856d1410c450f80cc7eb1adb4e639f44.png)
注:二阶行列式代表两个向量组成的平行四边形的有向面积;三阶行列式代表三个向量组成的平行六面体的有向体积;矩阵与矩阵的逆相乘时会得到单位矩阵(行数与列数相等,主对角线上值为1,其余值为0的矩阵,即方阵)
Tip4: Numpy子模块linalg中的eig()函数和svd()函数分别用于计算矩阵的特征值分解(Eigendecomposition)和奇异值分解(Singular Value Decomposition)
![a452c9aeef21f0b0c0e7db66176df7ec.png](https://i-blog.csdnimg.cn/blog_migrate/2a419619e755317015ecd7be40ce723c.png)
输出结果:
![434693d75d811193b66f74fe913dd88f.png](https://i-blog.csdnimg.cn/blog_migrate/16371247f88df687c8dbfd88577f11d7.png)
![789b4101a841412a12d68688630dc5be.png](https://i-blog.csdnimg.cn/blog_migrate/e5f8d594b984ed2f32d7cc4f5a99f3b8.png)
注:特征值分解只适用于方阵