【数学课堂】为什么学线性代数

【数学课堂】为什么学线性代数

量化课堂也有一阵子没更新了,从现在起将陆续推出一套数学课堂,内容将含括量化交易会用到的数学基础:线性代数、数学分析、测度论、概率统计、随机过程,还有为没经历过严格数学训练的同学准备的数学逻辑和证明方法基础。数学课堂目标是能让学员有能力理解量化分析相关文献中的数学和统计学论证。目标不小,咱慢慢来。

先从线性代数开始。

先从“为什么要学线性代数”开始。


0.1导语

线性代数是数学中最基础却极其重要的一门学科,因为任何科学领域都绕不过线性代数,把线性代数称数学中最有必要掌握的一门也不为过。就拿其他数学分支来说,代数中的群表示论的基本是从任意群到矩阵群(一般线性群的子群)的同态映射;分析中的泛函分析是对无限维度的赋范线性空间和其上的线性算子的研究;几何中的流形是局部同胚于线性空间的拓扑空间,它们的切从是用线性空间来表示,这些线性的性质也延伸到上同调的理论;在离散数学中,代数图论是用邻接矩阵来表示一个图并用线性代数的技术展开研究,还有正如其名的矩阵胚,是有限域上的矩阵的一种延伸,在图论和组合学中有重要应用。

当然线性代数的作用远不局限于数学中,在物理、工程、计算机、金融、人工智能等科学领域中,线性代数以及上述需要线性代数的数学分支都有不计其数的应用场景。本篇介绍线性代数在各个方面的一些应用,覆盖面肯定不全,但足以展示线性代数的常用概念以及它对量化交易的重要性。


0.2解决线性系统

线性最直接的应用应该就在于解决线性系统。大家一定都熟悉鸡兔同笼的问题。我们就举个例子,有一个笼子里有好多鸡和兔子和蚂蚁,三个物种分别有22、44、66 只脚。鸡和兔子加起来一共有 22 只脚,兔子和蚂蚁加起来一共 46 只脚,鸡和蚂蚁加起来一共 60只脚,请问三种动物各有多少。

设我们有鸡 x 只、兔 y 只和蚂蚁 z 只,那么上面的条件可以写为系统

通过线性代数的符号我们可以将这个系统写为矩阵和向量的乘积


使用 NumPy(或者手算,3×3 的矩阵并不大),我们计算出等式中矩阵的逆矩阵为


所以可以计算出


有 7 只鸡、1 只兔子和 9 只蚂蚁。


0.3空间的操作

线性代数中两个主要的数学对象是空间本身,叫做线性空间,和对线性空间的各种操作,叫做矩阵,它等同于线性映射,有时也叫做线性变换。比如说,一个二维的旋转矩阵的形式

它的作用是将整个空间旋转\theta 的弧度(radian)。比如说,我们有一张图片(图片源:SciPy 数据库)


这个图片的像素为 1024×768,它的信息被储存为一个矩阵的数据

c_{x,y} 的值代表这个图片在坐标 \left( x,y \right) 的颜色。我们想把这个图片旋转 60^{o} ,也就是 \frac{\pi}{3} ,那么就要把这个图片所在的整个二维空间用旋转矩阵 R_{\frac{\pi}{3}} 进行变换。一个坐标

在转变之后的新坐标是


那么就在一个新的画板上,把坐标 \left( x_{new},y_{new}\right) 的颜色定义为 c_{x,y} , 得到的就是旋转 60^{o} 之后的图像结果(因为旋转之后的坐标不是整数,整数化之后留下一些黑点,这需要其他的图像处理技巧来解决,这里就不延伸)


然后我们可以使用另一个矩阵

来进行同样的操作,这次得出的结果是把图片按 x 轴拉伸为 1.5 倍并按 y 轴挤压为 0.5 倍,得出结果


0.4线性回归

线性回归是统计学中一个常用的工具,给定一组二维空间上的点(后面图中的蓝点)

我们想找到一条线(后面图中的绿线)

并希望这条绿线和这些蓝点是最贴近的。评判“最近”的方法就是使数据点离之线的距离平方和(图中红色线段的平方的和)

是最小的。


但是,直接分析这个 RSS 函数比较困难,这时就能用到矩阵的强大表达力了,我们可以把这个公式写为矩阵的形式。设

以及


上面的公式可以被转写为矩阵形式


然后通过矩阵微积分的方法可以推导出,当


时,RSS 的值是最小的,它给我们下图中的这条绿线。

当然,线性回归的公式 (1) 不仅仅适用于二维空间中,如果我们有更高维的数据点


并想找到一条直线

来拟合这组高维的数据,等式 (1) 的结论同样适用,只不过矩阵 X 会更大,有 k+1 列,相应的 \beta=\left(a_{0},a_{1} ,...,a_{k}\right) 长度为 k+1 。值得强调的是,如果没有矩阵的表述方法,公式 (1) 将会是不可想象的复杂,我们有这样简短的表达式全归功于矩阵的简便性。


0.5MPT 资产配置

现代资产配置理论(MPT)的模型中,假设有风险资产 i=1,2,...,n ,对应随机变量 r_{i} 对于一个权重向量 W=\left( w_{1},w_{2},...,w_{n}\right),这个向量对应的组合有收益率和方差


所有这些资产组合的期望和标准差放到坐标图上构成一个子弹状的图像

所有这些点在最左端勾勒出的曲线叫做有效前沿,是给定一个收益率能找到的风险最小的组合,这条曲线对于资产配置理论有着至关重要的意义,而计算出这条曲线就需要矩阵的帮助。定义协方差矩阵

以及


通过拉格朗日乘子,可以算出,设


可以算出有效前沿的曲线


根据这个公式可以画出有效前沿的曲线

0.6Markov 链

Markov 链是随机过程的一种,在这个链中每个时间点出现某种状态的概率取决于上一个时间的状态。比如,我们假设股市的涨跌符合 Markov 链的模型,将每天涨跌的状态分为“涨”、“平”、“跌”三种。“涨”代表当天涨幅 1% 以上,“跌”代表当天跌幅 1%以上,当涨跌在正负 1% 之内时视为“平”。通过统计,我们得出下述概率关系:

在这个表中,从一个状态到另一个状态的数字代表从今天状态到明天状态的概率,比如说,如果今天涨,那么明天继续涨的概率是 28%,如果今天跌,那么明天平的概率是 51% 。考虑这么一个问题,如果当前的状态是“涨”,那么 2 天后状态的概率分布是什么?

解决这个问题需要使用转移矩阵,这个矩阵的第 i 列的第 j 个数就是从状态 i 到状态 j 的概率,如下

想计算 2天后的状态概率,我们取转移矩阵的 2 次方


从第一列(也就是对应着“涨”的那里一列)读出来,如果今天是“涨”,那么两天后有23.44%的概率是涨,58.38%会平,另有18.18%概率会跌。

那如果是 250天之后呢?我们取转移矩阵的 250 次方。这个运算虽然对于人脑来说有点大,但用计算机来算还是很快的,

这个矩阵的三列的的数都是一样的,理解起来也很直观,由于时间隔得太过久远,具体今天是什么状态对250 天后的状态已经没有什么影响了,这个矩阵的一列代表的就是三种状态整体的分布,也就是说在整体上,每一天都有 23.34%的概率是涨,58.22%概率平,18.4% 的概率跌。

有些时候转移矩阵不一定收敛得这么快(尤其是状态很多矩阵很大的情况下),可能计算出 T^{1000} 发现每列之间的的差别还是比较大,而我们又想知道几种状态无条件的概率分布,那么就需要计算转移矩阵幂的极限


这个看起来可能无从下手,但通过对角化的方法可以解决这个问题,即把 T 分解为


这里 P 是一个可逆矩阵, D 是一个对角矩阵,它在对角线上的值是 T 的特征值,即

要注意的是这些特征值 \lambda 不一定是实数,有可能是复数。在这个表示下, T 的次方的

极限可以写为

如果 \left| \lambda_{m}\right|<1 那么 \lambda_{m}^{k}\rightarrow0 ,如果 \left| \lambda_{m} \right|=1 但是  \lambda_{m}\ne1 ,那么 \lambda_{m}^{k} 不会收敛,如果 \lambda_{m}^{k}=1\rightarrow1 ,而由于 T 的每一列加和都是 1 它的特征值不可能有它的特征值不可能有 \left| \lambda_{m}^{k} \right|>1 。根据这个观测,计算对角矩阵次方的极限 \lim_{k\rightarrow \infty}{D^{k}} 就很简单了,相应地 T 的极限也就计算出来了。


比如说,通过特征值和特征向量的分析,上面例子中的转移矩阵可以写为

这里



根据上面的结论,


这和之前计算的 T^{250} 是吻合的。


0.7多元正态分布

正态分布是概率论和统计学中最最最重要的概率分布。一个均值为 \mu 方差为 \sigma^{2} 的正态分布函数是

但是现实中很多数据不是一维的,而是多元的,这就要用到多元的正态分布。对于一列长度为d 维的均值向量 \mu\in R^{ d} 和协方差矩阵 \Sigma ,相应的多元正态分布函数是


举例来说,下面展示的就是两个二元正态分布。


这两个二元正态分布的每一个变量都是 N\left( 0,1 \right) 的正态分布,但是放到一起的二元分布的热力图却截然不同。这两个二元分布的差别就在于它们的协方差矩阵 \Sigma ,通过研究这个矩阵可以分析出多元正态分布形状。一个 n\times n 协方差矩阵一个重要的特性就是 \Sigma 是正定矩阵,它有一个正交的特征向量基 \left\{ u_{1},u_{2} ,...,u_{n}\right\},每个 u_{i} 对应特征值 \lambda_{i} ,也就是说 \sum_{}^{}{u_{i}}=\lambda_{i}u_{i} 并且 \left\{ u_{i}:i=1,2,...,n \right\}R^{n} 的一个基,并且相当于 i\ne j 时有 u_{i}^{\top}u_{j}=0 .


对于一个分布 N\left( \mu,\Sigma\right) ,和某个 0<y<1 ,它的同概率轮廓为


这个轮廓是一个椭圆体,椭圆体的中心是 \mu ,,它的 n 个主轴的方向是


分别对应 i=1,2,...,n ,并且主轴的长度分别是 t\lambda_{i} 对于某个 t>0

比如说,上面第一个图中的分布的协方差矩阵是


这个矩阵的特征值是 1.9-0.1 ,分别对应特征向量


那么这个分布的同概率椭球的主轴分别在 \left( 1,1\right)\left( 1,-1\right) 的方向,长度分别是 1.9t0.1t ,如下图所示。


通过对正定矩阵的分析,我们可以对联合正态分布的同概率椭球有清晰的认识,这对这些分布的分析起到很大作用。


0.8结语

不学好线性代数是无法在这个世界生存下去的。


到JoinQuant查看原文并参与讨论:joinquant.com/post/8655?

编辑于 2017-09-14

文章被以下专栏收录