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. PHP 页面编码声明与用header或meta实现PHP页面编码的区别

    php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("Content-type: text/html; charset=utf-8&quo ...

  2. C#Web编程

    1.Web服务器控件可以包含服务器上调用的事件处理程序.只有送回服务器时,才在服务器上触发事件.把autoPostBack设置为true,事件将立即传给服务器.这样就会使客户端调用Javascript ...

  3. 20145227 《Java程序设计》第9周学习总结

    20145227 <Java程序设计>第9周学习总结 教材学习内容总结 1.JDBC简介 JDBC全名Java DataBase Connectivity,是java联机数据库的标准规范. ...

  4. AR专用汉明码

    增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像.视频.3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动. ...

  5. windows上安装apache python mod_python

    综述:   windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意 ...

  6. c# 服务端

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. noi 8465 马走日

    8465:马走日 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  1024kB 描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y ...

  8. Oracle数据库的启动与停止

    oracle linux下开启与关闭 .启动ORACLE监听 首先要登录用户oracle:su - oracle oracle@localhost bin]$ lsnrctl --启动oracle监听 ...

  9. PHP比较运算!=和!==

    PHP!=和!==的区别 !==是指绝对不等于,比如,$a = 3, $b="3" 那么,$a!==$b成立,可是$a!=$b不成立:

  10. Easyui主要组件用法

    Easyui主要组件用法说明: 1.  combogrid用法 说明:combogrid可提供翻页列表的数据选择并可进行数据的过滤查询(查询的传人参数为q,可在控制器中获取这个参数传过来的值,下面的示 ...