数量化投资模型 常用的基础数据处理方法(二)

摘要: 3、协方差和相关系数——评定两个变量的变化方向  标准差和方差一般是用来描述一维数据的,通俗的说,是用来

12-12 22:11 首页 量化投资训练营

  紧接昨天的文章,一方面给数学功底待补充的朋友们提供学习资料;另一方面,给数学功底好,但是缺乏交易模型开发经验的朋友们提供工具使用的思路。


  3、协方差和相关系数——评定两个变量的变化方向


  标准差和方差一般是用来描述一维数据的,通俗的说,是用来描述一个价格变量内部的情况。


  而协方差,就是两个价格之间的关系了。协方差是一种用来度量两个随机变量关系的统计量,其定义为:[(X-E(X))(Y-E(Y))] / n-1,可以直观解读为:X和自己的均值离差,乘以Y和自己的均值离差,除以样本数量。


  知乎上有一文《如何通俗易懂地解释「协方差」与「相关系数」的概念》,里面说到,其概念可以通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何?你变大,同时我也变大,说明两个变量是同向变化的,这时协方差就是正的。你变大,同时我变小,说明两个变量是反向变化的,这时协方差就是负的。从数值来看,协方差的数值越大,两个变量同向程度也就越大。反之亦然。


变量x和变量y和变量z的协方差矩阵


  那么变量x和变量x的协方差Cov(x,x) 呢?实际上就是x的方差


  同时,对角协方差相等,Cov(x,y) = Cov(y,x)


  在价格模型中,它可以评定两个变量的协同程度。但是因为两个价格通常有量纲,所以我们常用相关系数,来替代协方差,更为方便好用,两者的含义类似,公式也有千丝万缕的联系。



  相关系数 = x和y的协方差除以x和标准差和y的标准差乘积。它剔除了x和y自己的量纲,现在情况简单了,相关系数是有值域范围的,从0~1,意味着完全不相关和完全一致。


  相关系数太有用了,也比协方差好用多了,两个投资产品的相关系数是指一个投资产品的市场表现给另一个投资产品的市场表现所带来的影响程度。进行资产配置,不同投资产品之间的相关系数要越低越好,才能够起到分散风险的作用。具体到管理仓位和头寸,如果几类资产的相关系数低,仓位中持有的头寸总量可以稍大,有对冲效果。有时持仓资产不多,但是从基本面逻辑上,或者从统计中体现的资产高相关,那么也要注意同向波动危险。


  相关系数还可以几何抽象为两个向量的内积,cos=a*b÷(|a|*|b|) =(x?x?+y?y?+z?z?)÷(a的模*b的模),除以两个向量的长度。空间中标准差是向量的模,而协方差是向量的内积。两个向量的夹角余弦的绝对值越大表明两个向量越接近共线,所以相关系数就是两个向量夹角余弦值。


  股票多因子模型中,有一个趋同度因子,计算两两股票窗口期内相关系数矩阵,然后对这个矩阵均值。该因子表示个股在某段时间趋同一致波动,当因子值很高的时候,是一种风险(价格反转)体现,因为这可能意味着市场上出现了巨大的利好或者利空,下阶段个股将重新回到正常的分化格局。




  4、线性回归——评定过去总体走势


  我们知道两点可以确认一条直线,一条直线可以用斜率b和截距a表达成为:y = bx+a


  散点图中,我们可观察出所有数据点都分布在某一条直线附近。这条线目前还没绘制出来,你可以在想象有这么一条直线,实际上这样的直线可以画出许多条,而我们希望找到其中的一条最好地反映自变量与应变量之间的关系。



  在这里,我们通过最小二乘法,求得这条最好的直线。我们求出每一个点和直线的离差的平方和SSD,然后让这个值最小,这样回归直线最佳的,这种使“离差平方和最小”的方法,叫做最小二乘法。SSD = (y1-bx1-a)2+(y2-bx2-a)2+。。。+(yn-bxn-a)2,问题转化成为:当a,b取什么值时SSD最小,即到点直线y=bx+a的“整体距离”最小。


  最终得到的线性回归方程式y = bx+a中之斜率b,称为回归系数。它的含义是:x每变动1个单位,平均而言,y将变动b个单位。


  斜率b也称之为回归系数,斜率的几何意义为直线与x轴的夹角的正切值,或者说角度是斜率的反正切值。


  即:斜率=tan(角度),角度=Atan(斜率)。


  得到了斜率,截距,散点就回归成为一条直线了。特别是我们设置一个窗口期,比如20日,每一次我们回归最近20日的时间序列斜率,就可以得到一个大致的状态描述变量,它在0上下摆动。


  简单的交易策略是,斜率大于0做多,斜率小于0做空。为了应对突然到来的价格变化,可以加入追踪止损。


  这里如果是两个变量线性回归,就可以得到两者的残差,残差在套利模型开发中有很大用武之地


  线性回归这里,关键的概念就是求斜率或者说求导数:当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值,在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f(x0)或df(x0)/dx。


  一个函数在某一点的导数,描述了这个函数在这一点附近的变化率。函数的导数值也是切线的斜率b。


  欢迎点击原文链接上车。


首页 - 量化投资训练营 的更多文章: