随着机器学习和人工智能技术被越来越广泛地应用于各个行业(比如向来喜欢赶时髦的资产管理行业),作为量化交易者,我们有必要了解一下这些AI新来者的“想法”(也就是算法)。
常见的10大机器学习算法包括:
1, 线性回归
2, 逻辑回归
3, 最邻近规则分类
4, SVM支持向量机
5, 决策树
6, 随机森林
7, 神经网络
8, K-Means聚类算法
9, 朴素贝叶斯算法
10, RNN循环神经网络
01
线性回归算法:
线性回归算法是我们最常用的建立线性模型的工具,可以说是机器学习武器库里的古董。其用于寻找自变量x和因变量y之间的线性关系(假设因变量y服从正态分布):
比如:
y = β0 + β1x1 + β2x2
我们很容易将其用于一些资产价格的预测模型,比如:
股票t时刻价格=β0 + β1股票t-1时刻价格 + β2股票t-2时刻价格
或者
螺纹钢价格=β0 + β1铁矿价格 + β2焦炭价格
或者
甲醇价格=β0 + β1煤炭价格 + β2天然气价格
02
逻辑回归:
逻辑回归(Logistic Regression)是一种用于解决二分类(结果用0和1表示)问题的机器学习方法,用于估计某种事物的可能性。比如某一天大盘上涨的可能性、某个期权(比如那个著名的50ETF2月购2800)由虚值变为实值的可能性等。
逻辑回归与线性回归都是一种广义线性模型(generalized
linear model,GLM)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y
服从正态分布。逻辑回归适用的二分类问题(比如预测涨跌),其概率与自变量之间的关系图形往往是一个S型曲线,如图所示,采用的Sigmoid函数实现。
和线性回归算法类似,逻辑回归算法也是构筑更复杂机器学习算法(比如神经网络)的基石。
03
最邻近规则分类:
最邻近规则分类(K nearest neighbors,KNN)算法通过将不同的数据点分到不同的类(事先定义好的类)中,来解决分类或回归问题。KNN算法的原理非常简单,我们可以认为同类的事物都是聚在一块儿的,比如在一个地洞里,我们找到的动物大概率是老鼠、兔子这些啮齿动物,而不是老鹰或者海豚。根据这个原理,我们可以通过计算一个数据点与其相近的其他数据点的距离来对该数据点进行归类。KNN的算法非常简单,所以经常被来拿测试一个问题的复杂程度,如果一个问题连KNN都能将其较好地解决(比如区分兔子和海豚),说明这个问题本身就比较简单。
04
支持向量机:
支持向量机(SupportVector Machine,SVM)也是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的“线性分类器”。其学习策略是找到一个分类的规则使分类的间隔最大化。间隔越大,说明我们分类的可信度就越高。比如,我们要区分应当做多品种和应当做空品种时,我们分类的可信度越高,使用这个策略就越安全。
05
决策树:
决策树算法可以用于描述一个起因事件及其产生的结果。因为一个起因可以有多个结果,所以我们可以用树状结构来表示它们。
比如我们可以通过分析过去多年的大豆期货收割期价格与其播种期、生长期的气候条件来做出一个通过气候条件来预测大豆期货价格的决策树。
06
随机森林:
随机森林算法在决策树基础上更进一步,顾名思义,其用随机的方式构建一个“事件森林”,“森林”里面有很多的决策树组成。随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(作为分类算法的情况),然后看看哪一类被选择最多,就预测这个样本为那一类。
07
人工神经网络:
通过对人脑结构的模仿,在1940年代科学家就设计了这种多节点算法模型-人工神经网络(Artificial Neural Network,ANN)。其包含的每个节点都可以接受信息,处理信息,然后将结果传给下一个节点。
每一个“节点”或者“神经元”类似一个逻辑回归函数:
多个“逻辑回归”神经元的组合就可以处理很多复杂的非线性问题。神经网络算法可以用来寻找不同资产价格的相关性,也可以对资产价格进行预测。
08
聚类算法:
聚类算法(K-means Clustering)也用于对数据点进行分类。和KNN不同的是,我们不用事先去定义分类标准(但需要设定分类的数量k),可以放手让算法自己去根据数据点之间的相似性去自己寻找分类标准。
比如我们给聚类算法提供各种资产的历史价格数据,算法可能会根据历史涨跌幅、价格相关性、价格的波动率或者其他我们也许并未在意的特征(比如包含某类的K线形态的比例)来对这些资产进行分类。
聚类算法可以帮助我们通过“不受人经验约束”的分类来寻找一些我们过去难以找到的资产价格运行规律。
09
朴素贝叶斯算法:
根据贝叶斯定理,
比如我们认为寒冷且下雨的日子大盘容易下跌。天气“寒冷”和“下雨”两个特征也许是彼此依赖或者还依赖其他特征,但为了简化问题(变得“朴素”),我们可以认为“大盘涨跌”、“寒冷”和“下雨”几个事件都是相互独立的。这时,在天气寒冷且下雨的条件下,大盘下跌的概率可以表示为大盘下跌时,天气同时是寒冷且下雨的概率乘以大盘下跌的概率再除以天气寒冷且下雨的概率。
应用贝叶斯定理,我们可以给数据进行分类,因为我们已经知道了在各个数据出现条件下其对应类别出现的概率,我们可以将其分配到出现概率最大的那个类别。
朴素贝叶斯算法虽然和线性回归一样也算是机器学习领域的古董,但该算法处理小规模数据、有缺失的数据分类更有优势,且不会产生过拟合。
10
循环神经网络:
循环神经网络(Recurrent Neural Networks,RNN)可以看作“节点带有记忆”的人工神经网络。对过往运算的“记忆”使其能够更好地处理互相关联的序列数据,比如一段前后关联的文字。
从Google Voice Search和苹果Siri等企业目前都在使用RNN来处理语音信息可以看出RNN算法在自然语言处理领域更有优势。
根据对多家量化投资机构的调查,目前机器学习技术在资产价格预测方面并未显示出针对传统预测方法的压倒性优势。原因可能是机器学习算法本身就植根于传统的统计学原理以及金融市场本身的复杂度仍旧超出了现有模型的预测能力。但其在交易执行、数据处理和风险控制方面还是能给从业人员提供明显的帮助。
虽然我们还没观察到机器学习技术给量化投资带来颠覆性的影响(比如“AI基金”还没能让传统的人类投资经理纷纷下岗,标榜使用“人工智能”或“机器学习”技术的基金目前表现并不明显好于同行),但投资者也不妨未雨绸缪,多了解一些新技术。这一来能做到在市场上知己知彼,二来当颠覆真正出现时,也不至于猝不及防。
真格量化也会持续为您介绍各种新兴技术在量化投资领域的应用。
— — — — — — E N D — — — — — —
往期文章:
真格量化可访问:
https://quant.pobo.net.cn
真格量化微信公众号,长按关注:
遇到了技术问题?欢迎加入真格量化Python技术交流QQ群 726895887
网友评论