对于 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 和传统的机器学习方法有什么联系和区别?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/sijiangLu/article/details/37728277
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/306646

相关文章

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

MySQL查看表的最后一个ID的常见方法

《MySQL查看表的最后一个ID的常见方法》在使用MySQL数据库时,我们经常会遇到需要查看表中最后一个id值的场景,无论是为了调试、数据分析还是其他用途,了解如何快速获取最后一个id都是非常实用的技... 目录背景介绍方法一:使用MAX()函数示例代码解释适用场景方法二:按id降序排序并取第一条示例代码解

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Java 中的跨域问题解决方法

《Java中的跨域问题解决方法》跨域问题本质上是浏览器的一种安全机制,与Java本身无关,但Java后端开发者需要理解其来源以便正确解决,下面给大家介绍Java中的跨域问题解决方法,感兴趣的朋友一起... 目录1、Java 中跨域问题的来源1.1. 浏览器同源策略(Same-Origin Policy)1.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce