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)来说,上课主要是为打基础,将来的发展要等到工作以后慢慢体会了。

注:

    1. 即使在IT领域,针对大数据的处理技术也还在不断发展,可以参见这两个问题:大数据计算框架除了 MapReduce 还有哪些呢,不应该是 MapReduce 去解决所有问题吧?,如何看待 Google 说已经停用 Map Reduce 好多年?,以及像是Spark Streaming这样的新技术。

Data Science 和 Finance 两个领域的融合是什么样子的?的更多相关文章

  1. 学习笔记之Data Science

    Data science - Wikipedia https://en.wikipedia.org/wiki/Data_science Data science, also known as data ...

  2. 学习Data Science/Deep Learning的一些材料

    原文发布于我的微信公众号: GeekArtT. 从CFA到如今的Data Science/Deep Learning的学习已经有一年的时间了.期间经历了自我的兴趣.擅长事务的探索和试验,有放弃了的项目 ...

  3. Data Science at the Command Line学习笔记(一)

    学习Data Science at the Command Line时,win7下安装环境是遇到了一些小问题,最后通过百度解决. 官方指导可以在这个地址找到:http://datascienceatt ...

  4. data mining,machine learning,AI,data science,data science,business analytics

    数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics ...

  5. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?

    本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...

  6. Introducing DataFrames in Apache Spark for Large Scale Data Science(中英双语)

    文章标题 Introducing DataFrames in Apache Spark for Large Scale Data Science 一个用于大规模数据科学的API——DataFrame ...

  7. 推荐几个来自 MOOCs的 Data Science

    数据科学是一个大领域,如果你想成为一个优秀的数据专家,自学是必要的技能. MOOCs是数据科学的主要来源.有许多网站提供了 MOOCs,比如Coursera.Coursera和Udacity都还不错. ...

  8. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...

  9. 【Repost】A Practical Intro to Data Science

    Are you a interested in taking a course with us? Learn about our programs or contact us at hello@zip ...

随机推荐

  1. 【jqGrid for ASP.NET MVC Documentation】.学习笔记.7.搜索过滤数据

    1 基础 搜索和过滤功能,是使用确定的条件,查找匹配行数据.jqGrid提供几种搜索模式: Search Dialog 单搜索选项 Search Dialog 多搜索选项 ToolBar Search ...

  2. nohup DEMO

    nohup,顾名思义:挂起免疫. nohup命令可以防止当你退出系统时,在后台运行的进程被终止.它能让你运行的命令或脚本在你退出系统后继续在后台运行. nohup命令不能自动的将任务放在后台运行,所以 ...

  3. php blowfish加密解密具体算法

    PHP Blowfish 算法的加密解密,供大家参考,具体内容如下<?php/*** php blowfish 算法* Class blowfish*/class blowfish{/*** b ...

  4. Windows 7 驱动开发

    本文是对Win7(64)+VS2010+WDK7.1.0(WinDDK\7600.16385.1)开发驱动的小结. 一.系统工具 1.Win7(amd64位)系统 注:已装系统后,管理员身份运行cmd ...

  5. 如何修改ECSHOP后台管理中心的Title信息

    下图中红色圈定的部分就是本次修改要改的地方 修改方法其实很简单的:打开语言包文件  /languages/zh_cn/admin/common.php 将 $_LANG['app_name'] = ' ...

  6. ACM题目————中缀表达式转后缀

    题目描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2.同理,后缀表达式就是操作符在两 ...

  7. 单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 C语言

    本程序用C语言编写~~~ 1.计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 1 v ...

  8. Uva 10562 看图写树

    题目链接:https://uva.onlinejudge.org/external/105/10562.pdf 紫书P170 直接在二维数组上做DFS,用的fgets函数读入数据,比较gets函数安全 ...

  9. 将本地项目上传到Github

    将本地项目上传到Github 转载请注明出自天外归云的博客. 前提 已经下载了Git到本地. 创建Repository 首先登陆我的Github页面,在Repositories中New一个并起Repo ...

  10. js遍历

    最近看了一些不错的文章关于js遍历+js数组去重+文件上传的,今天也自己动手试了试.有好多之前不是细节不是很了解.正好学习了. map函数也是 类似这样的对象还有函数的属性arguments对象,当然 ...