对于 Quant 来说, Financial Modeling 和传统的机器学习方法有什么联系和区别?

本文主要是介绍对于 Quant 来说, Financial Modeling 和传统的机器学习方法有什么联系和区别?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

机器学习理论是基于统计学的, 而诸如时间序列分析、Monte Carlo method之类的方法也离不开统计学和经济学。所以我在好奇是不是在掌握了ML的基本原理之后,再了解一些金融知识就可以尝试Quant?

================================================================================================================================

谢邀。年前太忙了,好不容易完成一个firmwide的大项目,赶回家过年,偷得半日闲,来回答马年的第一个问题。

首先要说明两点,一是我离开每天读paper的日子已经有些时间了,精准的旁征博引的能力急剧退化,所以引用的观点的来源,很可能出现谬误,请包涵;二是以下看法很多源自我自己的理解,因此很可能引起争议。

从Quantitative Modeling的角度来说,有两大主流的方向:Stochastic Calculus(随机微积分)和Statistical Learning(统计学习)。这两个主流方向基本涵盖了你所有可能用到的技术——随机微积分,或者说金融数学,提供了各种衍生产品的风险估计基础,也是处理新型资产定价的常用方式;而统计学习,则包罗计量经济学、时间序列分析和各种机器学习方法。我个人比较喜欢用Q measure世界和P measure世界来指代这两种方法,因为统计学习主要在真实概率空间进行分析,而随机微积分在基于无套利假定而设立的Q概率空间进行分析。

好吧,我相信你已经晕了——为什么在真实概率空间外,还会有一个Q概率空间,这不是一下子可以说清楚的问题,我就给一个简单的例子,剩下的如果你还有兴趣可以再自己研究:

假设现在只有两种资产,一种是股票,一种是债券,假设一年后这个世界只有两种情景,一种是好市场,一种是坏市场,各自出现的概率是60%和40%。我们画一个表格,就有:
t=0 | t=1 Good (60%) | t=1 Bad (40%)
Stock 1 | 1.2 | 0.8
Bond 1 | 1.1 | 1.1

表格里面的数字代表价格,比如第一行表示股票今天1元,一年后在好的情况下变成1.2元,而坏的情况下变成0.8元;第二行因为债券是固定收益,两种请都是10%的收益。

那么在P概率空间(真实概率空间),股票的Expected Return就是:
1.2\times 60\%+0.8\times 40\%=1.04

也就是4%,那么这不符合金融数学均衡思想,因为其期望收益和无风险回报不相等(10%)。所有Q measure下面的两种情况的概率应该是75%和25%,这样股票的回报就成了:
1.2\times 75\%+0.8\times 25\%=1.1

这样满足了理论微观经济学的各种假设,你就可以基于此概率去定价一个期权了,或者其它更加复杂的衍生产品。

这套体系由Arrow在1965年建立,之后他也成为了诺奖得主。而基于这一体系诞生了Black Scholes(1973)期权定价公式,在很长一段时间内被业界奉为圭臬。

但是这一体系太理论化了,在实际做交易的时候会缺少指导意义。就好比Wolf of Wall Street里面,Can you sell the pen now,那支笔有理论价值,比如市场同类的价格是多少,成本是多少,不能偏差太多,不然就有套利,但是你的交易价格可能远远偏离这个价格,因为这一单取决于购买者的现实需求,而这或许可以从历史交易数据中得出,这就是统计学习方法可以应用的场景。

在业界呆了一段时间后,我开始重新思考这个问题——为什么1960到2000年大量的金融研究在随机微积分领域开展,而2000年后,大量的金融研究开始应用越来越复杂的计量经济学和机器学习方法。我个人的看法是——早期数据的缺失,使得数学建模——随机微积分成为唯一可行的方法,而2000年后数据的蓬勃发展,使得统计学习成为可能。要知道Fama在1970写有效市场理论市场的数据是Dow Jones里面30支股票的10年日交易数据,这是当时的大数据,而现在,所有股票的每单级别的数据也不罕见了,数据——信息驱动研究的变化,在每个领域都是一样。这不难解释为什么机器学习逐渐主流了——30年前没有数据,何来金融统计分析?

这两种方法(Q世界与P世界)在一定假设下可以得到相同的结果,比如你设定同样的无套利、经济人理性等条件,随机微积分与统计学习可以得到非常接近的期权定价。但是统计学习的好处是,你知道这个世界的不完美,你可以随意放松无套利和理性交易这些太过严格的假设,依然获得鲁棒性不错的模型。

那么在今天的Quant世界,这两者的应用是怎样的呢?做风险和定价的Quant,还是采用传统的随机微积分为纲领,这种方法算出来的价格被交易员用来作为交易和对冲的指导,但是交易员的报价还是根据自己的判断来进行;在山的另一边,做程序化做市(Automatic Market Making)、资产配置或者高频交易的Quant,无一例外的活动在P世界——基于大数据和先进的机器学习来发现交易机会。

是信息行业的发展重塑了整个金融研究,但这不意外——要知道数百年前就是提前获得的关于英法战争结果信息帮助了罗斯柴尔德家族成为欧洲金融霸主——信息一直就是金融中最关键的edge。

从Quant自身来说,我觉得P世界——统计学习方向是未来,随着数据越来越多,实证方法很有可能长期成为主流——甚至随机微积分的传统强势领域也可能为之侵蚀。但是随机微积分领域的很多理论与方法是古典经济学的集大成之作,如果你想获得更好的直觉,这些是必须深入研究的,不然你很可能沦为反复在同一数据上使用不同的统计包碰运气的data miner。

Quant其实只是一种绝对理性和数量化分析思想的践行者。也许今天我说的这些是Quant需要的技能,5年后或许又有了全新的一套体系。要做好一个Quant,唯一必须的就是对理性的信仰和Unquenchable Curiosity。

===============================================================================================================

被赞第一的答案写的很好 非常好
不过很有可能很多人是看不明白背后的逻辑的,比如说 为什么叫Q 为什么叫P
(其实就是两个二叉树的 概率,此处有人把上面那只写为q 下面的概率就是1-q了 当然也有人相反,我学这个的时候的老师 就是下面的是定义为q)

我本科生学计算数学的 我以一个数学的稍微形象一些的比喻来形容下
Stochastic Calculus 就好比是 求解析解
而Statistical Learning 就好比是求 数值解

你问为什么既要求解析解又要求数值解的 
因为 现在的金融体系的基础假设有一些时候是不一定成立的,比如最出名最经典的B-S model
假设波动率是固定的,事实的情况是 黑色星期一以后 波动率不固定了
出现隐含波动率了 原有的假设的根基就不存在了 怎么办?

求隐含波动率 用隐含波动率算局部波动率 然后再用局部波动率进行回推吧(这地方是derman的研究领域)具体的得参见他的东西,我就是随便那么一说 不严谨的。derman就是写宽客人生那位。

至于到底是因为什么 波动率微笑了 那就又得扯到行为金融学角度的东西了 跟本篇内容不大。

重点是 如何来衡量这种波动率微笑 这就得Statistical Learning这方面来做了。

也就是我说的类似于求数值解,并不一定需要精确的知道这个的原理是什么 而是需要知道我们通过什么样的方式能够求得近似的可用的解(可以理解为对asset定价),同时知道这种计算得到的解的精度是多少,在什么条件下可用。这就足够了。

同样我个人也同样第一的回答,认为未来是Statistical Learning 的这个方向。
这个上面说的很明白了,其实这种认识跟我很早之前怀疑过数学的往计算数学发展方向不对,后期又认为计算数学才是现今数学的发展主流一样。(最后这个仅个人观点)

最后我真不是第一楼的托 第一楼的答案确实很好。只是这种好更多的得业内接触这个领域的人才能理解吧,不太为知乎上的主流用户理解。

=================================================================================================================

不请自来,非从业人员简要说说,希望对楼主有帮助。
排名第一的答案已经说的很好了,二叉树的那个例子实际上是指两个不同的概率测度:真实概率测度和风险中性测度。你可能会有疑问,在风险中性测度下的定价在真实世界是否适用?正统的回答是两个测度是等价的,所以在一种概率测度下几乎必然有效的对冲,在另一种测度下也几乎必然有效。更学术的推导和论证推荐参考Shreve的《金融随机分析》。
楼主问“掌握了ML的基本原理之后,再了解一些金融知识就可以尝试Quant?”
呃,基本原理是远远不够的,起码编程要很强吧,C++/R/SAS至少精通一项吧,真刀真枪的去kaggle玩玩再说吧;了解一些金融知识也是远远不够的,金融工程的书单不啃掉一大半还是不要尝试什么quant了,另外彭博的终端用的熟么?
最后建议,数学和编程有一样不够出色的话就别当Quant了,何必自己找罪受。。

=================================================================================================================

这。。。
machine learning 和 financial modelling 完全不同的两块啊!
现在基本上很多人都只会做一边啊

financial modelling 就不说了,很多学的都是定价,monte carlo 只是其中的一种方法而已。

machine learning更多用于 data analysis, risk analysis.来预测Default,或者走势pattern
简单的说就是给你big training data, model, 然后sample data 出你要的数据,最简单的就是大家都学过的linear regression.

=================================================================================================================


这篇关于对于 Quant 来说, Financial Modeling 和传统的机器学习方法有什么联系和区别?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306646

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod