股票基础知识(4)

       根据技术炒股,有一个很重要的技能是看图说话,因为看图可以帮助你判断当前的位置,从而算出未来如何演变:
       这里面看图是第一个步骤,也是最重要的。有效的识别当前的状态,对于未来如何发展至关重要;这个时候不同专业的优势就体现出来,计算机最大的优势是什么。。我们会写程序呀,所以可以把所有的状态都统计出来:


       如何统计所有的状态,有很多种聚类方法,这里只讨论如何计算2条曲线的距离,这个是所有算法的一个基础:
第一步都是归一化,算数归一化、几何归一化都可以,就不细讲了;
       接下来主要讲各种算距离的方法:


1. 欧氏距离:这是最简单的办法,两两算距离平方,相加后取根号;距离越小,越相似;有点是简单,缺点是没办法判断度;
2. 皮尔逊系数:上个方案的问题,引入一个皮尔逊系数,用来判断相关程度;分子是(x-x’)(y-y’)的求和开根号,分母是(x-x’)**2求和开根号乘以(y-y’)**2求和开根号,0.8-1.0是极强,0.6-0.8是强相关,0.4-0.6是中等相关,再往下就不怎么相关,也很简单,数学意义大概是两组向量夹角的余弦;

3. 加速度测试积分位移算法:光看这个名字就高大酷炫叼。。因为看不懂呀;看了看图,我的理解是算两个曲线的面积差的绝对值,分子是这个值的积分,分母是两个曲线面积小的积分,这个比值越接近于0,表明两者之间的距离差越小;

4. Fréchet distance:这是一个法国人提出的算法,直观的解释就是狗绳距离,你去遛狗,无论怎么走,两条曲线的距离是确定的,有上限的。。你唯一需要的就是在不同的时间用一个函数去映射你和狗;

5. 动态时间规整算法dtw:这个是个1970年提出来的算法,差不多快50年了,最开始是因为在语音识别领域里面,不同的人说话的速率不一样,所以有可能有的人在同一个音节上的停留时间是别人的几倍,体现的图像上,就是可能一个图像的若干点,都映射到另外一个图像上的一个点,所以可能在图像上做若干变形,在匹配的效果上就能大大增强,dtw就是这样一个算法,通过动态规划的方式获得两个时间序列的时间对应关系,获得两个序列的最小距离;

6. mfcc:这个是声音处理的常用处理方法,先对声音做一定的预处理,高通滤波或者去噪什么的,然后进行傅里叶变化,把声音数据映射到频域上,然后做mel滤波(根据数据公式变一下),滤波后做反傅里叶变化,然后就得到了mfcc特征,然后根据这个特征对声音做处理;我的理解是把正常的图像数据放到频域上去看,然后做一些滤波,再反傅里叶变化回来,我自己做过若干次实验,觉得这个还是不错的,所以才有那么多做量化基金都会去招一些有声音识别背景的人;


7. simhash,这是一种文本相似度的算法,首先将文本分词,同时得到每个词的权重,将词进行64位hash后,并和权重相乘,得到一个值,将所有词的hash按对应位置相加,得到一个结果,并对其进行降维到0,1,得到文本的唯一标示符,判断两个文本是否相似,就用hamming距离算两个标示符的差就可以了;不过曲线上如何用我还得想想;

8. 蚁群算法:这个是解决最短路径的问题,已知场景的最短路径都是很好解的,Dijkstra,印象中就是找到最小边,然后在他的邻点不断的找最小边加进来就可以了,或者不停找最小边,直到把所有顶点都加进来,但是这种对npc的问题,基本上没办法做,所以就有了蚁群算法,这种类似于蚁群在寻找食物,刚开始每只蚂蚁在寻找食物的时候,都是按照自己的路径来走,同时会在路径上释放自己的信息素,下次再找路他会按信息素最多的路径去走;刚开始,每只蚂蚁都有自己的路,但是随着时间的增加,最短路径的路上蚂蚁会来回的更快,同时会释放更多的信息素,就会有更多的蚂蚁走到最短路径上来;刚开始会比较慢,随着模型的建立之后,就会越来越快~他是一个自优化的过程,这个是做最短路径的时候看到的,觉得有用,就加上了


       simhash考虑的文本内容,使得hash代码会根据文本的意义做更多的加权,这个在算文本相似性的时候,意义很大,同事速度很快,类似于geohash一样,只需要做字符串比对就可以了,性能会很好;如果放到股票里,股票大部分都是数字方面的东西,如何应用也是个问题;


       大部分算法都用过或者实现过,但是基本上都有个性能的问题,同时越简单的算法,往往看到的意义也越直观;复杂的算法有用,但是一般情况下还好,出了问题就一脸蒙逼,这也是基础不牢的人的最大问题;当然现在python大部分时候,都会给你一个成熟的函数,也不需要你来想这些问题;


       本文就简单讲讲这个吧~

发表评论

电子邮件地址不会被公开。 必填项已用*标注