资源加载中... loading...

想知道怎么预测未来么?——你应该了解的蒙特卡洛模拟

Author: 发明者量化-小小梦, Created: 2017-09-15 13:42:55, Updated:

[金融学] 想知道怎么预测未来么?——你应该了解的蒙特卡洛模拟

我们在很多地方都可以看到蒙特卡洛模拟的身影,预测股价,预测股票的最大损失,预测结构性债券的价格。那么什么是蒙特卡洛模拟呢?蒙特卡洛模拟最牛的地方在哪里呢?

  • 蒙特卡洛模拟

    首先介绍一下,蒙特卡洛模拟是一种统计学的方法,它是用来模拟大量数据的。如果你直接看这句话,会被直接干晕掉,啥叫统计学的方法,为啥要模拟大量数据?所以,了解一个陌生问题的第一步就是要问为什么,这符合所有人的思考习惯,我们接下来就来解答大家几个为什么。

    第一个为什么:为什么要叫做蒙特卡洛模拟呢?

    蒙特卡洛模拟是二战期间,为解决原子弹研制工作中,裂变物质的中子随机扩散问题,美国数学家冯诺伊曼和乌拉姆等提出的一种统计方法,由于当时的工作是保密的,就给这种方法起了一个代号叫蒙特卡洛。蒙特卡洛在摩纳哥,是当时非常著名的一个赌城,赌博的本质就是算概率,所以就用赌城的名字为这种方法命名,而且又容易记忆。如果这种模拟方法再晚出现几年,估计它就会被叫做“拉斯维加斯模拟”或者“澳门模拟”了。

    第二个为什么:蒙特卡洛模拟到底是什么?为什么会被用在金融里面?

    举个“栗子”,假如说昨晚万科股票的收盘价是10块钱,你想不想知道100天后的万科股价呢?肯定想知道,如果真知道了,那也就不用考CFA/FRM了。怎么知道呢?最简单的想法,如果我能找到一个递推式:

    今天的股价=昨天的股价+0.2

    或者容许我学术一点,用一点公式,即St= St-1+0.2,这就表示今天比昨天涨两毛呗,我知道昨天的收盘价,就能知道今天的收盘价,然后就能找到100天之后的收盘价。但是这个递推式太不靠谱了,咱也不用考CFA/FRM了,就去买万科股票就好了,每天涨两毛钱。

    不要忘了股票像猴子一样上串下跳的,所以每天还会有一个“惊喜”,我们把这种惊喜叫做股票价格波动。股票价格每天的波动是多大我可不知道,所以是随机的,因此很自然的就能想到这个递推式里还得有一个随机项:

    今天的股价=昨天的股价+今天股价波动

    数学表示就是St= St-1+e,e就代表每天股价的波动,它是个随机数,所谓随机数就是取值不确定的数。现在我们只需要用到最好理解的一种统计方法,就是发射随机数的方法,我就可以往前走了。比如最初万科的股价S0=10,如果此时我发射第一个随机数,e1=0.3,那么S1=10.3,我就往前走了一步,我再发射一个随机数e2=-0.4,S2=9.9,按照同样的方法,往前走100步,就可以找到100天之后万科的股价,这样就找到了这100天股价波动的一条路径。好了,那是不是100天之后万科的股价我只用这一条路径就估计到了呢?显然不是,条条大道通罗马,未来有无数可能性,这个路径是模拟出来的,只是未来众多可能性的一种。(这里你需要能看懂《星际穿越》的智商来理解未来的多种可能。)

    走到这里,大家肯定知道了,只模拟一种可能结果这太不靠谱了,我通过发射随机数的方法随机找到了100天后万科的股价,我就认为这是我的估计,那我的估计也太随意了。所以一条路径不靠谱,那很好办啊,我就用同样的方法模拟出100条、1000条路径出来,比如我模拟了1000条路径,那么我在第100天的时候,拿刀切一下,就会发现有1000个数据,有了这么大量的数据,最简单的,我可以求个平均数,这样估出来的万科的股价还是相对比较靠谱的。当然有了1000个数据,想干嘛都可以,我可以找到这1000个数据的分布,这样就可以考察更多的性质。这种模拟前进路径,目的是为了得到大量数据的方法就是蒙特卡洛模拟。

    当然随机数的发射也不是完全无规律的,一般做蒙特卡洛模拟先要根据历史数据的特征假设随机数的分布。比如我们发现股价的波动还是符合最常见的分布的(正态分布),那我们一般假设e也服从正态分布,这样才能告诉计算机怎么发射随机数。

    第三个为什么:为什么蒙特卡洛模拟是金融研究里面的创新之举?

    蒙特卡洛模拟最伟大的地方在于它把一个社会科学的问题变得像自然科学一样。自然科学,比如化学、物理,最研究的时候最不缺的就是数据,因为你可以把自己关在实验室里,你让那个小车“哐哐哐”撞1万次,你就有1万个数据,变量细微的改变都可以研究的很全面。但是金融这种社会科学没办法做实验,这100天过去了,那么就只有100个数据,100天过去了就不可能再重走一次,因为时间没有办法重来一遍。所以研究金融市场的时候,数据量小、样本小是最大问题,但是蒙特卡洛模拟却可以解决这个问题,你走1000条路径就有1000个数据,走1万条路径就有1万个数据,它就像你关在实验室里做实验一样,可以获得大量样本。

    当然,从上面的分析我们也可以看出,它还有一个好处就是并不局限于历史数据,因为它得到的数据都是模拟出来的,并不是历史真实发生的数据,这样分析就可以更加全面一些。比如你只用历史数据做研究,是不可能预测出来会发生次贷危机的,因为历史上从来没有出现过,但是用模拟的方法就可以得到很多历史上并没有出现过的数据,可以做一个更全面的预测。

    以上是我们对蒙特卡洛模拟的介绍,当然随着信息技术的发展和分工的全面,我们金融分析师往往不需要自己建模,但是对于模型的原理还是需要有一定的认识,这样才能知道每一个模型不适用的范围,它蕴含的风险在哪里,以便更好的对未来作出预测。

转载自 经管之家


More