阅读原文:http://club.jr.jd.com/quant/topic/953653
非负矩阵分解(NMF)本身是一个降维算法,在量化中可以用来识别市场驱动因素以及相应的个股。不过需要说明的一点是,本人目前还处于探索阶段,还没写出相应策略,因此也不敢肯定他的效果。有兴趣的可以讨论一下。
首先我们获取一个矩阵,行为时间,列为股票代码,值为相应的成交量,代码如下:
然后,将该矩阵分解,需要指定特征数量,这里用的是5
这样上述矩阵就分解为了 pw,pf两个矩阵。pw叫做权重矩阵,pf叫做特征矩阵。
pw可以看出驱动市场的主要因素是什么;pf可以看出哪只个股受该驱动因素影响最大
这是pw矩阵最后15行

可以看出从8月18日开始,第二个特征(即第二列)权重高于其他特征
通过pf矩阵第二行,可查到首次特征影响最大的个股。
返回值为 ['000826.SZ', '300002.SZ']。说明这两只个股走势具有一定相关性
这两个股票和沪深300在2016-8-18到2016-9-1走势如下:



可以看出在大盘下跌的趋势下,这两只股都保持了向上的趋势,说明是具有一定相关性的。
但是也带来了一个问题,既然特征二是主要影响市场的因素,为什么受该特征影响的个股和大盘走势不一致呢?现在我也不知道
阅读原文:http://club.jr.jd.com/quant/topic/953653
本文介绍如何使用非负矩阵分解(NMF)算法识别市场驱动因素及受影响的个股。通过分解时间-股票成交量矩阵,得到权重矩阵和特征矩阵,进而分析主要市场驱动因素及其影响的个股。
2353

被折叠的 条评论
为什么被折叠?



