前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统计学家范剑青:机器是怎么学习金融的?

统计学家范剑青:机器是怎么学习金融的?

作者头像
量化投资与机器学习微信公众号
发布2020-09-14 15:36:02
9070
发布2020-09-14 15:36:02
举报

全网TOP量化自媒体

范剑青是国际数理统计学会创办70年以来第一位华人主席,也是统计旗舰杂志《统计年鉴》的第一位华人主编,论文引用数多年位列世界数学家前十名,是素有统计学诺贝尔奖之称的CPOSS总统奖得主,也是《概率及其相关领域》、《计量经济》、《商务统计》等五个国际顶尖学术期刊的主编。

在范剑青看来,人工智能是机器学习的平方,让机器自动学习机器算法、是机器学习的理想境界。而大数据赋能AI,从大数据相关的科学挑战衍生的新兴科学即为数据科学,他认为数据科学以应用为背景,其目的是想把大数据解决成智慧数据。

他指出,大数据=系统+分析+应用,机器学习=统计+优化+实现环境。

如今深度学习之所以能如此成功,范剑青认为它是权衡偏差和方差的有效方法,深度网络使高维函数更加灵活,大数据降低了统计方差,而现在计算技术使大数据深度学习得到有效的实现。

范剑青认为,在经济金融、生物医学、管理决策和人文社会中,机器学习有很多挑战和机遇。由于个体差异大,数据集未知,现在发生的事情与几年后的变量完全不一样,难以提取特征,需要各学科交叉。尤其是在金融行业,数据不平稳,随着时间而变,多人参与竞争的市场也是对金融的挑战。

而机器学习本身就是为降低维数和预测而设计的,他认为机器能学习金融,尽管金融非常复杂,但它的形式是可预测的。以股票收益预测为例,可以通过高维线性模型、机器学习模型或是深度学习模型来处理。他强调,成功预测的属性一是大数据,二是鲁棒,三是模型具备市场的重要特征。

他还详尽地用几个例子来说明溢价预测相关的问题,例如通过市场因子来预测债券风险;并介绍了现阶段可以使用的两种因子学习方法,一是传统主成分方法,二是利用投影主成分来操作。

此外,范剑青也与现场观众介绍了文本数据如何协助股票投资决策,他表示现在可以通过对新闻内容的分析,解析文章对股票的褒贬程度。

最后,范剑青总结称,资产定价本质上是预测问题,机器可以学习金融。他认为机器学习可以帮助处理大数据并从中选择重要因素和特征,能很好地应对过度拟合的问题,允许非线性学习极大地改善预测效果,将稳健性和对抗性网络提炼为定价,智能预测也会带来很大的经济收益。

以下是范剑青的大会报告内容,雷锋网《AI金融评论》做了不改变原意的编辑与整理:

非常荣幸能够参加第五届CCF-GAIR全球人工智能与机器人峰会。我今天的报告主题是《机器是怎么学习金融的》。

这次报告的内容,是我们金融工程实验室多人的工作成果,大纲如下:

  • 大数据与人工智能
  • 稳健因子学习及其应用
  • 债券风险溢价预测
  • 高频交易预测
  • 文本数据与资产定价

重新理解大数据与人工智能

众所周知,人工智能是由John McCarthy于1955年首次提出,一年后,他也与多名科学家组织了著名的Dartmouth会议。

何谓人工智能?

Wikipedia中是这样介绍的:“人工智能”指机器模仿人类的“认知”功能所展示的智能,例如“学习”和“解决问题”。现实中的人工智能是技术能够训练机器,将人从重复性、简单性、危险性的繁琐事务中解除出来。

Thomas J.Sargent:人工智能其实是统计学,只不过用了一个华丽辞藻。

我认为人工智能是机器学习的平方,让机器自动学习机器算法、是机器学习的理想境界。目前内容包括图像识别、语音识别、机器学习、机器人、专家系统、计算机视觉、自然语言处理等。

为什么现在大家谈人工智能?What powers AI?

是大数据。

现在大数据无处不在,商业大数据、医学大数据、网络大数据、政府大数据等。针对大数据的共性,解决其对大数据系统和分析的科学挑战所产生的新兴科学叫数据科学。

我个人认为数据科学以应用为背景,包括数据的获取、存储、数据分析、科学计算。数据科学的目的是想把大数据解决成智慧数据。

我把它总结为:大数据=系统+分析+应用。

何谓机器学习?

Arthur L Samuel在1959年的“跳棋游戏”论文中创造了“机器学习”这个术语:让机器从数据中学习并做决策,它是可扩展的统计算法,充分融合统计建模思想和计算优化方法。使这些数据分析的思想能在大数据环境下得到有效的实现。

我个人认为机器学习是:统计+优化+实现环境。

机器学习最后的产品一定是可操作的代码(Actionable codes)。

为了有可操作的代码,我们需有优化的目标(Optimization objects),为了有优化的目标,我们需有统计模型(Statistical Modeling)和经济效用(Economic Utility)。

现在最常见的是深度学习。

深度学习的概念是很常见的,是数学的函数逼近,它用的是两种方法,信号源的线性组合,再做非线性的选择,重复的过程构成很复杂的函数逼近方法。

为何今天深度学习这么成功?

我认为它是很好的权衡偏差和方差的有效方法。深度网络使得高维函数逼近更加灵活,即偏差很小。

另外90年代,我们就参与建设了这方面的工作,为什么学术界和工业界现在才大谈深度学习?

主要是因为大数据的到来,大数据的到来大大减少统计的方差,样本量变大,方差自然变小。

现在计算技术使得大规模优化成为现实,使得我们可以在大数据上实现深度神经网络逼近函数。

简而言之是非参数统计思想在高维海量数据环境下的实现。

具体成功案例是图像识别、机器翻译、语音处理等等。

这些问题的共同特点是个体差异小,我们说话尽管各有口音,但个体间的差异小,而且信号集已知,你看到的图像就是你那张图像。换句话说X是已知的,信噪比大,∈小,学习得比较好。

我们今天要谈的主要是机器学习的挑战。

对于经济金融、生物医学、管理决策和人文社会,机器学习有很多挑战和机遇,第一是个体差异大,第二是数据集未知。

例如上图是闪电崩盘,这次发生的事情和几年后发生的事情,可能变量完全不一样,是什么引起的我们也不知道,所以难以提取特征,需要各学科交叉,使得这方面的发展挑战更大。

对金融来说,金融数据的特点是什么?

第一信号低,跟物理不一样,物理信噪比很强。

第二数据不平稳,一直是随着时间的变化而变化的,整个市场也是随着时间的变化而变化,很多人参与,这是一个竞争的市场。这是对金融的挑战。

机器能学习金融吗?回答是肯定的:

第一,资产定价问题,本质上是预测问题,机器学习本身就是为预测设计的。

第二,影响市场的因子变量很多,这些变量往往是相关的。机器学习本身就是为降低维度和变量选择设计的。

第三,定价的公式,不像物理是推导出来的、有很多假设的。资产定价非常复杂、形式未知。机器学习正是为高维复杂的非线性组合而设计。

基于这三个原因,我认为机器从某种程度上讲是能够学习金融。

大家自然会问预测成功的因素是什么?一是大数据;二是鲁棒性;三是你的模型捕获能力。

什么是大数据的典型特征?

  • 相依性和厚尾性:我们很多变量都是衡量市场的经济状况,必然相关
  • 异样性、内生性、假相关等
  • 数据缺失,测量误差
  • 幸存者偏差,采样偏差

这些特征对金融和宏观经济学尤其明显。

今天我们主要讲如何处理相依性和厚尾性一些方法。

接下来我用一个学术上常用的例子预测债券风险溢价来说明。

我要预测的变量是美国债券

,债券有2、3、4等年期,可以对每一个债券进行预测。

是131个宏观经济系列的月度数据。除此之外我们还有8个国内生产总值,居民消费价格指数等汇总宏观经济系列。这131个变量都是衡量经济的健康状况,所以他们是相关的。

我们对每一个时间序列算峰度(kurtosis),分布如图所示。有大概三分之一左右峰度大于,它们应该是厚尾分布。我们自然而然会问:如何处理厚尾?我们从131个变量学习决定市场的因子之外,我们还有8个宏观经济时间序列,我们如何使用这8个信息更好地提取市场因子?

稳健因子学习及其应用

举一个模拟的例子。这是线性模型,前10个变量对Y有影响,后面的变量没有影响。X如果是有共同的相关性,假设有250个变量,做100次模拟,每一个时间序列长度是100。

如果我们用原始Lasso来做变量选择,只有在完全不相关时,Lasso工作得还好。只要相关系数增加一点点,Lasso就不能完全选出这10个变量。

另一方面,如果我把这250个个性,加上每一个共同的因子拿出来作为第251个变量,就可以达到100%的正确模型选择。如果说不知道是不是251个,而用255个可以吗?可以,也可以得到这样的效果。

如果Σ设成像标普500只成分股那样的协方差,最后的结果是一样的,我们可以百分百把重要的变量选出来,其他的方法做不到。

同样地,因子学习后,我们也可以做预测。从131个宏观变量里,我可以学到5个潜在因子,有8个汇总宏观变量,加起来有13个变量。最简单的是用这13个变量做线性回归来预测债券风险溢价。

另外一种是构建预测指标,整个模型看起来像神经网络。我们认为有一些共同的因子影响这些宏观变量,所以从131个宏观变量中学习共同因子后,构造预测指标,最后预测债券风险溢价。

因子模型还有其他的应用。比如金融风险建模,对高频金融里流动性强和差的股票之间的协方差矩阵的估计,用矩阵填补的方法可以获得。你也可以用相关性来学习社区增强自回归模型之类,其关键是降维。

因子模型的目的是处理相关性,接下来我讲几分钟我们如何处理稳健性。假设你给我们的数据不一定是正态分布的,也可能是t分布的,有均值及方差。

我们平时对数据最简单的处理是剪裁或截断,如把数据在-3到3个标准差之间就保留,其余就截掉,这样做好处是肯定产生偏差。如果τ选择的足够大的话,这种偏差是可以忽略的:裁剪的数据的样本平均跟原来的母体平均的差别就像数据是来自高斯分布一样。

换句话说,如果τ足够大,那么裁剪样本平均与母体平均之间的区别跟正态的样本平均与母体平均之间区别是一样的,最后的分布是具有高斯的尾部性质。

说宽泛一点的话,裁剪样本平均表现像高斯分布,而没有裁剪样本平均表现像柯西分布。为什么我们以前不太强调裁剪?因为我们在低维传统统计中做样本平均不多,在高维统计中会做很多样本平均。所以高斯浓缩(Gaussian concentration) 是高维统计的核心。

举一个例子。如果你给我1000只股票,我要做投资,我要估计这1000乘1000个协方差矩阵,应该有50万个参数左右。所以要算样本均值50万个。

如果数据是厚尾的,最后的协方差矩阵就不鲁棒。如果用了裁剪,当数据仅具有4阶距,就能实现与高斯数据的样本协方差矩阵相同的估计精度。

做回归时,如果我们用裁剪数据不是很方便,这时候我们会用Huber 损失函数。为什么说是自适应Huber 损失,是因为是跟你的样本量有关系。基本在里面是一个二次型,外面是一个线性的。

我们这里画了这么多图,是因为我们用了很多不同的。这显然对回归更方便,就像前面说的高斯浓缩性质任然成立,这是两个鲁棒方法的主要思想。

简单做个小结:

我们用因子模型来解决观测到股票相关的问题。我们是用裁剪数据来解决鲁棒问题,对回归问题我们用裁剪损失函数,即Huber损失函数,来得到鲁棒性质的。我们说过预测的好特征必须是鲁棒。

债券风险溢价预测

高频交易预测

接下来简单介绍高频交易的预测。高频交易在过去10年里是高速增长的,带来了金融大数据。到2015年,高频交易在美国股票市场占比超过50%,约55%左右,在欧洲大概占40%左右,日本大概是30%左右。其他的亚洲国家是5%左右,高频交易是在其他亚洲国家出现得比较少。

从2012年10月到2014年十月,在外汇交易中,80%的交易量是算法交易,其中多半是高频交易。所以高频交易显然是把大数据带到金融世界里。

我们自然而然会问机器学习的方法是不是能够帮助我们做预测或者做高频交易?这个环境显然是大数据环境。我们总的目的是要用过去预测未来。

那么,自然而然需要问,什么是可以预测,Momentums可以预测还是Durations可以预测?那么,什么是有用的预测因素呢?我们要往后看多久?现在机器学习的方法有没有任何优势?

关于TAQ数据这个我们就不多讲了。

我们说的Momentum是这样定义的。如图红点(出价)和绿点(要价),它们未来或往上走或往下走。

第一次,这两个点同时往上或往下走1-tick,对这个例子来说正好是负的,我们就定义

。如果我们继续等待这两个点同时往上或往下走2-tick时,这两个点同时往上走,是正的,也就是

简单来说,我们的Momentum是站在现在的时刻(也即是t),+1表示往上, -1表示往下。在中间的交易量,t到t'之间称为duration。1-tick的Duration表示的是当前时刻t到下一个同时往上或者往下走1-tick的时刻t'之间的交易量,用

表示,Duration

同理。

首先尝试微软的Momentum能否预测?我们最后的结论是可预测的。我们对微软的数据用过去50个最佳报价,每一个包含bid和ask,所以一共100个变量。我们用过去10天的数据训练,5天的数据做测试。

如果你只是做最佳随机预测(BRG),基本正确率是50%左右。如果你做逻辑回归(LR),大概是在55%左右。如果做EN,大概也是55%左右。如果用随机森林(RF),你可以达到59%左右。GBT和FNN都差不多是59%左右。换句话说,机器学习的确有优势。

怎样的变量是重要的?用绿线表示所有7个变量的结果,红线表示选择的一个子集(quote size和trade direction)的结果,红线比随机预测多预测8%。用该子集预测的效果跟用所有的变量预测几乎差不多。如果往后看,这是

,大概有900个变量。这时候过度拟合就可以看出来。但是如果用GBT或者FNN,过度拟合就不存在。

如果用专家设计的变量,例如OBL,不管你用哪个机器学习的方法来做,没有超过8%左右。如果你用OFI来做,效果更差。

第一幅柱状图是我们用原始数据来做的,第二幅是原始数据+专家构造的变量来预测,最后的效果几乎差不多,说明机器完全学习了专家的变量。

第三幅是用瞬时的原始数据做的,第四幅是瞬时的原始数据+专家构造的变量。加专家构造的变量几乎没多少改进,说明专家建立的变量已经被机器学习的变量所涵盖。

如果是0.5个tick,预测结果就会高很多。如果是2个tick,效果几乎是差不多的。

对duration,我们也可做类似的研究。这时duration是有多少交易量,它是一个连续的变量,所以我们做的是线性回归,用Out-of-sample R²来衡量。

由于时间关系,我不再赘述。这个图是说加专家构造的变量可能对预测duration有一点点帮助,但帮助可能不那么大。

对我们刚才高频数据一个简单的总结如下图:

文本数据与资产定价

由于时间不多,我简单介绍文本数据以及资产定价。这是我以前的学生,他用我们的筛选方法来做,我把他们的结果快速介绍一下。目的是学习文件和新闻的褒贬度,用它预测选择股票。传统一般用基于Dictionary的方法。

这是一个IBM的短文为例。词典中总共有38,862个单词,其中只有160个出现在短文中。

下面就是让计算机学习词义,比如我们有100万条新闻和200个单词,就是100w × 200大小的矩阵,这是单词出现的次数或者出现的频率。

按我们刚才的模型,出现的概率

等于出现在百分百是正的文章概率是多少,以及出现在百分百是负的文章概率是多少的加权平均,这是常用的主题建模(topic modeling)。写成矩阵P大小为100万乘2,以及θ为2乘200。如果你给我每篇文章的情绪或者褒贬程度P,我就能够把θ求出来,即把词义学习出来。

这个P如何学习?这个学习直接跟股票回报连在一块。因为我们有100万篇文章,每一篇文章都有那天的回报,所以你很容易看第i个文章回报的排名是多少。

这篇文章回报的排名就变成这篇文章情绪的排名。有了

,我们就可以学习情绪θ,学习了情绪后,对未来新的文章就很容易给出一个分数。已经知道未来文章的200个词的词义,唯一不知道的是这篇文章能打几分。因为我们有Multinomial Model,所以就很容易把

用极大似然法求出来。把它求出来,这篇文章就有新的分数。

总结一下,先用相关性筛选法把与情感相关的词汇选出来;然后对过去100万个文章,按他们回报的高低来给他们情绪打分;有了情绪打分P之后,就可以把词义学习出来;对未来新的文章就可以用Multinomial统计学习得到它相应的分数。

以下是具体的应用,数据来自Dow Jones Newswires 1989-2017年,有650万条新闻。我们用前15年的数据作为学习,其中10年数据作为训练集,5年数据作为验证集,选择最优参数。2004-2017年数据做为测试,使用第t天的情绪来预测第t + 1天的收益。

交易策略是什么?对每天每个新闻打分。我们买最高、最好的新闻的股票50只,做空分数最低的50只股票。我们投资策略是Equal-Weighted或是Value-Weighted。最后是Zero net investment construction。

投资的效果是什么?黑线是我们刚刚画的long-short equal-weighted表现。黄线是SP500,要低很多。仔细看L-S的return,Sharpe ratios (SR)是4.29,average return大概是33%,用Fama-French 5个因子加上momentum factor(FF5+MOM)的风险调整后的alphas大概是32,而且汇报与这些风险因子几乎无关。

比较Dictionary方法与RavenPack,我们的方法更有效。

下图是Speed of News Assimilation,如果你投得太晚,新闻的价值很快就没有了。

总结如下:

现场提问环节

IEEE Fellow王强:在深度学习里使用监督或者半监督的模型,我也可以看到lowest数据或是非lowest数据,您觉得PCA方式跟深度学习的方式,哪个更好用?

范剑青:这个提问很好。PCA本身是线性的因子学习。做PCA的目的是想将相关的变量的共性跟特性分开。对于很相关的变量,例如刚才把131个变量直接放在机器学习里,可能会包含太大的相关。

我们主要想讲的是PCA将共性和个性分开,可以把136个变量放到深度学习里。深度学习可以作为很好的预测方式,但是如果变量很大相关的话,可能预测效果并不好。PCA要学习的东西跟深度学习要学习的不完全一样,可以互补。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档