Data Science 和 Finance 两个领域的融合是什么样子的?
2015-05-24 董可人
现在大部分人所说的Quant一般是指各大投行里做衍生品定价,信用评估,风险控制之类工作的人,这种工作里又有很大一部分是涉及随机过程微分方程等偏理论的数学,对数据分析要求不高;只有另外一部分基于统计的工作才和Data Science相关。两者的分类可以参见这个问题在华尔街工作的数学博士的研究方向一般是什么?
如果对使用理论模型进行定价的工作感兴趣,很多学校开设的Financial Engineering的Master课程是比较好的选择,选择的时候可以看一下课程列表,是否有随机过程,衍生品定价等课程。这套体系本身就很复杂,学习这条线路至少在短时间内不会用到Data Science的东西。
而关于算法交易(Algorithmic Trading),我本人就是做方面的工作,我们也要做很多数据分析的工作,广义上来说也是Quant类的工作,但这里的做法肯定是和定价或风控等工作很不一样的。我的理解是Data Science是领域内一个比较有前途的发展方向,但目前还不成气候,像是Machine Learning,Text Mining等技术还很难应用过来。产业界里我没有听说哪家算法交易公司是靠这些技术为核心发家致富的,学术界上发表出来的论文也都是空中楼阁(学者们对真正的交易怎么运行了解太少了),没什么价值可言。
比如说Machine Learning里做的比较多的分类(Classfication),不管是决策树(Decision Tree)还是支持向量机(SVM)这样的技术,你都很难直接用来做trading,因为常常面临的问题是金融数据往往是连续分布的变量比如价格或成交量,没有什么很好的办法可以建立明确的分类,也就导致无类可分。而且金融数据的相关变量实在太多,很多时候无法得到全部信息(比如新闻,相关股票,期货,期权等各品种的变化,可以参考用人工智能计算股票的涨和跌可行吗?这个问题里 @Pang Yunong 的回答),既然没办法拿到全景,Machine Learning那一套预测技术的效果就可想而知了(如果你是市场有效假说的坚定拥趸,相信价格反映全部信息,请忽略我)。对Text Mining,的确已经有人在做自动分析twitter上热门词汇的频率来预测股票走势,但我相信这个还处于很初级的阶段,不会有人真的只根据这种分析来做交易,最多是给trader提供一种参考。
金融交易最明显的特征是基本数据是一种时间序列,这在现有的Machine Learning框架里还没有有针对性的技术。但传统的方法像是ARMA,GARCH本身的理论假设又往往和实际不符,而且这些模型在设计上并没有侧重大数据的特点(毕竟是几十年前开发的技术了)。所以往后看,先天对大数据友好的Machine Learning框架很可能会带来一些创新。但现在时机还没有成熟。
目前来说真正有实用价值的Data Science技术,我个人认为是处理大数据的计算能力,比如MapReduce等云计算的基础架构(注1),这对金融交易这种先天就是超大数据量的业务非常有吸引力(一个交易所每天产生的交易数据就可以达到几十GB)。对这种规模的数据进行处理,分析的能力是业界非常需要的,而这个恰恰是和以往跑在单机Excel表格或是关系型数据库里的那种分析有很大区别的。至少要有对这种新型的大数据计算平台的理解,来设计符合其运行特点的算法,并且能够实际操作的能力,才可能做出一些有价值的分析。
这种大数据应用的远景是非常诱人的。只有在具备成熟的大数据计算方案的情况下,人们才能想像直接处理交易所级的原始数据的应用。设想一下如果可以在几分钟甚至几秒钟之内回测完N个交易所M年的数据,对于深入理解市场和改进策略都是非常有帮助的。也许是通过对比几百上千个交易策略的性能来筛选策略,也许是对多种投资组合的指标做可视化,而后面支撑的数据是TB或PB级别的tick数据甚至full level depth order book,这种分析是非常有价值的。
不过计算机运算能力大规模提升(得益于云计算平台的发展)也就是近几年的事情。所以即使在金融界,很多问题也都是刚刚涌现出来,技术发展还有很长的道路。如果以金融为目标去学习Data Science,我觉得需要注意的是,在深入理解那些Data Science技术(从理论到实践)的基础上,还需要加深理解金融数据的特点,才能做出有价值的工作。你会发现即使是相对成熟的MapReduce这样的云计算基础框架,也是不太容易直接拿来就用的,始终要考虑金融数据的时间序列这个特点来专门定制。这方面因为业界和学界都刚刚开展,相信各个学校的课程也都还在摸索中,不太可能找到特别有针对性的项目。对于学生(尤其是Master)来说,上课主要是为打基础,将来的发展要等到工作以后慢慢体会了。
注:
- 即使在IT领域,针对大数据的处理技术也还在不断发展,可以参见这两个问题:大数据计算框架除了 MapReduce 还有哪些呢,不应该是 MapReduce 去解决所有问题吧?,如何看待 Google 说已经停用 Map Reduce 好多年?,以及像是Spark Streaming这样的新技术。