博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于人工智能在量化领域应用的一些思考
阅读量:2051 次
发布时间:2019-04-28

本文共 2231 字,大约阅读时间需要 7 分钟。

无论是人工智能还是量化金融,接触的时间也不短了,一直想总结下自己对人工智能在量化领域的应用的一些思考。这篇博文就作为这样的一个阶段性的学习总结了。

下面提到的人工智能指的是机器学习、深度学习和一些统计学模型,只是作为人工智能领域下的几个分支。

虽然目前人工智能在图像识别、NLP、游戏竞技等领域取得了很大的突破和进步,但是并不是任何领域只要打上了 Ai+XX 的旗号都可以使这个领域突飞猛进,像量化金融领域,很多人觉得机器学习model在这么多领域解决问题上都可以work,那么自然在这个领域也会有很好的效果,于是RNN、LSTM预测股票走势、DL选择买点卖点、RL进行买卖,毕竟这只是研究,如果真的赚到钱了,这些paper肯定不会公布,这里也会有一些大佬用机器学习赚到钱的,有几点是可以确定的,他们一定是对这个领域有很深的认识,在搭建模型时肯定做了充分的 feature engineering 。

机器学习在量化领域的思考我总结了下,主要有以下几点:

Pattern Transer

这个很好理解,市场每天都在发生变化,可能你训练出来的模型非常成功的拟合了之前的历史数据,get 到了历史这段时间的 Pattern,但是这是能说明在过去的这段历史中模型是好的,但是几个月后的市场和现在的市场又是两码事了,谁知道历史什么时候才会重演呢。Pattern Transer 也可以理解为 Concept Drift,目前机器学习应用最多的还是监督性学习,所以拿一个监督学习模型为例,这个模型通过对历史数据的拟合,得到了很高的 train accuracy,但是在现实数据中却很难有较好的 generalization 能力,由于很多 model 都是基于 iid 前提的,得到这样的结果从统计学的角度来看就是它的 distribution 发生了改变,导致现在与之前训练基于的数据虽然相同,但是它们的 label 却不再一样。

High Noise

金融时间序列中的信噪比过低,也就是其中的随机性太高,给你一段 Random Walk 和一段股票的真实走势,确实很难分清楚,所以有时候辛辛苦苦拟合好的一个模型可能只是对噪声的拟合,所以很多人都说最关键的还是 feature engineering,通过 feature engineering 挑选出合适有潜力的因子,剔除那些无关的影响因素,使得到的数据尽量的 pure,得到的 iid 数据尽量多,这样才能更好的抓住本质。但是一般很多模型最后出现问题都是由于 feature engineering 工作做得不够,毕竟这个需要一定的金融数学的功底,还有就是对市场的理解。

Ground Truth

一百个读者就有一百个哈姆雷特,一百个人对市场就有一百种看法,到底谁的看法可以作为一个 benchmark 也不好说。例如在探究一段金融时间序列中的 outlier 分析时,什么样的数据才是 outlier,这段五分钟时间序列平稳就它是normal的,但是它的一小时序列却显示它是一个很大拉升得到的,所以又怎么能肯定它是不是outlier呢。所以在 outlier 分析时一般都是 application-based ,需要一个实际的应用背景,才能具有 Ground Truth。同样将机器学习应用于金融市场,不具备 Ground Truth,那么后面的研究也就跑题了。

Low interpretability

机器学习模型可解释性低也是一个问题,将大量数据扔进一个黑盒里,出来结果虽然效果不错,但是在量化金融领域模型的可解释性是极其重要的,每一步都需要有一个明确的解释,这也是之所以很多人会偏向于传统的计量经济学来解决问题的原因,就算用到机器学习的模型,Random Forest 、Logistic Regression 以及 Linear Models 这些可解释性比较强的模型比较会常用,毕竟它们在解决问题时都会基于一些概率论或者统计学的知识去解释,而不单单是为了去拟合数据。

Overfitting

为了拟合一段历史数据,用非线性模型拟合自然效果好,但是 generalization 的效果就不能保证了,所以在 generalization 能力和模型的表示上需要深入研究和理解这种 trade-off 关系。为了防止 Overfitting,这也是很多人更倾向于 Linear Models 或者 SVM 的原因。

总结

总的来说,机器学习只是个工具,用的地方对了自然会work,就像一把十字的螺丝刀你拿它当锤子用自然不会有什么好的效果,相反,拿它去拧一个十字的螺丝,选择的背景对了它的作用也便发挥出来了。道理是这个道理,但是很多情况下拿螺丝刀当锤子用的还是很多,所以说花点时间了解它,找到合适的使用场景是很重要的。另外,有时不要想着机器学习是个万能的工具,直接让它来解决一个大问题,拿它去预测价格、预测涨势、判断买点卖点,缺陷上面也说了,但是可以把目光放低一点,让它只是去解决量化金融领域中的一个小问题,有时很多这样的小问题解决了,大问题也便迎刃而解了。最后,机器学习在量化领域到底work不work这个问题,我觉得赚到钱的人肯定不会跟你讨论这个,他们只会闷声发大财,只有那些天天在水paper的人才会研究这个,就像我一样。

个人学习的阶段性反思和总结,很多理解不到位的地方欢迎指出,也欢迎一起讨论。

转载地址:http://jbklf.baihongyu.com/

你可能感兴趣的文章
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>