Black-Scholes Model,Binomial Model 和 Monte Carlo Simulation 在期权定价上分别起到什么作用?

论坛 期权论坛 期权     
匿名用户   2018-10-17 22:33   24976   9
提示: 作者被禁止或删除 内容自动屏蔽
分享到 :
0 人收藏

9 个回复

倒序浏览
2#
梁世超  2级吧友 | 2018-10-17 22:33:58 发帖IP地址来自
突然看到朋友圈分享,因为之前做过S&P 100 INDEX OPTIONS (OEX)的定价研究,大晚上闲着没事儿自告奋勇答一下,数学不好所以还是侧重应用之类的。。。可能会跑偏,各位见谅。

Black-Scholes (BS) model的数学推导之前的各位大神已经说得很详细了,由于推导太长我就不贴图了 有兴趣的留言信箱我可以发你我之前financial math的教材关于BS的推导等等。
这里提一下BS model 的 assumption:

这是non-modified BS model的 assumption, 从里面可以看出来对distribution的assumption (Brownian motion,lognormal distribution) 是一个导致BS model 出现估值不准的最主要的问题,这也是为什么后面出现了诸如jump diffusion 等等extended model。

No dividends 的 assumption在后来的modified version中有调整 所以不是什么问题。

sigma在现实生活中的选取同样决定了估值的准确性,由于volatility smile的出现, historical volatility是严重失准的,那么现在普遍都用implied volatility, 这个implied又是建立在model上面逆向计算出来的,所以不同的options,implied volatility的计算是不一样的,这个需要针对不同的options做区分 比如SPX的implied volatility可以用VIX来替代,计算方法CBOE网站上面有。当然是approximately。

由于BS model不能capture early exercising feature of American style option, 所以BS最好是用来pricing European style options, 或者用来pricing American style option who is never optimal to early exercise, 什么样的American option不会被early exercise呢, 举个例子:the All Ordinaries (AO) Share Price Index (SPI) options on futures,这是因为他的margin requirement 以及non-dividend paying 两项决定的.

下面扯扯Binomial Tree (BT) model。他的推导是建立在no riskless arbitrage opportunities,跟BS model一样。同样,数学推导这里不写了,有兴趣留言邮箱我发你。这里提一下BT model和BS model的关系,当Binomial tree model中steps approach to infinite 的时候, 算出来的结果约等于Black-scholes model的结果。由于Binomial Tree model能有capture early exercising feature, 所以更适合来pricing有这样特点的American Style options,比如S&P 100 INDEX OPTIONS (OEX)。下面贴一个BT model的VBA code:
  1. Function AmericanCall(s, x, rf, sigma, t, n)    deltat = t / n    up = Exp(sigma * Sqr(deltat))    down = Exp(-sigma * Sqr(deltat))    R = Exp(rf * deltat)    p = (R - down) / (R * (up - down))    q = 1 / R - p    Dim OptionReturnEnd() As Double    Dim OptionReturnMiddle() As Double    ReDim OptionReturnEnd(n + 1)    For State = 0 To n          OptionReturnEnd(State) = Application.Max(s * _            up ^ State * down ^ (n - State) - x, 0)    Next State        For Index = n - 1 To 0 Step -1        ReDim OptionReturnMiddle(Index)        For State = 0 To Index           OptionReturnMiddle(State) = Application.Max(s * _                 up ^ State * down ^ (Index - State) - x, _                 q * OptionReturnEnd(State) + _                 p * OptionReturnEnd(State + 1))        Next State        ReDim OptionReturnEnd(Index)        For State = 0 To Index            OptionReturnEnd(State) = OptionReturnMiddle(State)        Next State    Next Index    AmericanCall = OptionReturnMiddle(0)End Function
复制代码
PS:BT model坑啊, 坑就坑在计算机慢的能跑死你, steps是根据term to maturity来的(OEX为例)所以steps越长,算起来越慢,这点就非常不feasible,当时做research差点跑死我的电脑,两三天天不能动不能关机,而且VBA比较低端,C++估计效果会好很多吧,不过我比较low不会编啊。


接下来就是Monte Carlo Simulation, 其实simulation无非就是根据historical data然后drag一个distribution出来模拟,前提是你要对distribution做assumption,又来了,又是distribution的assumption。其实不是说assumption不好,而且option这种东西非常flexible, 如果硬要assume distribution的话,个人认为不是非常适合。

这三个BS, BT, MONTE CARLO相对常常说起,那么下面我额外提一下,由于feasibility的问题 虽然这仨模型有种种问题,但是还是常常被trader使用的,因为快,因为简单,不需要测很多东西。

下面扯扯闲话,现在还有很多用non-parametric的流派,比如我导师之前用的artificial neural network (ANN), 准是准,尤其在data availability非常丰富的情况下(比如deep in the money, deep out of the money), 但是这种non-parametric模型建起来非常复杂,有很多因子需要根据sample data来决定,而且threshold也是个问题,所以并没有流传非常广泛。

看模型是否在option pricing 方面useful, 可以通过“delta" hedging 来检验这个model在hedging方面的profitability。

暂时想到这么多,水平有限,欢迎各种拍砖各种砸场各种口水....

顺便看我大半夜写得这么辛苦....给个赞呗 T-T....
3#
李丞  2级吧友 | 2018-10-17 22:34:00 发帖IP地址来自
这里楼主混淆了几个概念,

Black - Scholes是一种期权定价模型。简单地说,它给出了期权价格的运行机制。但是本身它不是一个计算方法。实际上你后面所说的二叉树方法,蒙特卡洛方法都可以应用于基于Black - Scholes模型的期权产品定价。

回到二叉树方法以及蒙特卡洛方法。这两个是具体的数值方法,他们本身不一定是模型(有些时候,某些模型会直接以二叉树的形式提出)。实际上这两种方法都可以应用于不同的模型,例如:
  • 二叉树:CIR模型,BDT模型,Black-Scholes模型
  • 蒙特卡洛:Libor Market模型等。
所以我想告诉题主的观点,BS模型和二叉树以及蒙特卡洛计算算法是两个不同层面的东西。模型可以使用不同的计算算法去求解,例如BS模型也可能需要使用二叉树(例如,美式期权),也可能需要使用蒙特卡洛算法(例如,回望期权)。而同一种计算算法,例如二叉树,可以应用于不同的模型,例如:CIR,BS,BDT。

我觉得楼主这里所说的Black-Scholes模型应该是指BS模型的解析算法。

所以我觉得这个问题更正确的提法应该是:

关于Black - Scholes模型,解析算法、二叉树算法以及蒙特卡洛算法,各自的优劣势在哪里?

关于这个问题,我觉得这里很多回答已经给的很充分了。
4#
郑阶  3级会员 | 2018-10-17 22:34:01 发帖IP地址来自
这三种模型,我觉得代表了三种思考期权的思想。对于BS公式而言,核心就是Brownian Motion,在处理期权的时候,要优先考虑如何去处理Brown Motion,以及通过变换measure 和 numerair 使得复杂的期权可以通过简单的Brownian表示出来。对于binomial tree而言,核心是期权最后in the money的概率,我们要通过各种方法去求这样的概率,比如用binomial tree定价digital option的时候,我们就会用BS中的dual delta来估算probability。如果是单纯的Montez-Carlo simulation,我们更加关注的的价格的趋势,也就是说,我们会模拟很多的价格,考虑到基本上所有的可能性,期权价格就是所有最后支付的一个平均。
可以看出,三种方法的从数学难度上是BS>binomial tree>Monte Carlo。从计算复杂程度上是Monte Carlo≈binomial tree >>BS。不过,可以证明binomial tree的极限就是BS,Monte Carlo也只是BS公式的一个运用。随着期权却来却复杂,以及计算机运算速度的提高,用随机分析能找到的显示解越来越难,但是,却可以通过binomial Tree 和Monte Carlo得到较为精确的解。这也就是为什么这两种方法依旧非常流行的原因。
简单的说:BS简单粗暴,但适用范围最有限,只能用于欧式期权;二叉树的优势在于可以算美式期权;MC最暴力也最费时,优势在于可以计算path-dependent的期权。
6#
NG君  2级吧友 | 2018-10-17 22:34:03 发帖IP地址来自
半瓶子醋来晃悠一下。



先说简单的——Binomial Model (二叉树模型)

写过程序的对二叉树肯定印象深刻,这个模型的思路简单来说就是把股价的变动用二叉树来模拟。针对每一个时间间隔,该模型认为有一定几率涨一定额度、有一定几率跌一定额度,只有这两种可能性。许多时间间隔累加起来就近似出了股价变动的模式。当你设置足够短的时间间隔的时候(比如1s甚至1s以下),几乎可以平滑地体现股价变动的轨迹。然后其定价原理就是期望收益,毕竟到到期日的时候期权的回报将会确定,针对每种可能的 scenario、或者说每个二叉树的最末那一层的所有结点,可以求得期权的回报。然后,每个父结点的期望收益就由其两个子结点的收益关于概率的加权平均决定,再考虑上货币的时间价值。最后层层回推,就能推得你希望定价的时点期权的价值。

举例:当前股价100,1个时间单位之后有50%概率变成200,有50%概率变成50. 有一个1个时间单位之后到期的call,执行价80. 这1个时间单位内可以取得的无风险收益为20%.
到期时,期权价值可能为120(股价200),可能为0(股价50),期望收益是60,再考虑货币的时间价值,现在这个期权,在这个简单得离谱的二叉树模型假设下,价值为50.



然后就是无人不知无人不晓的Black-Scholes了……

任何的衍生品课程、金融工程课程都会详细介绍这个模型,偏数学一些的课程还会介绍完整推导过程,我在这里就不赘述了。简单介绍可以看Wiki:http://en.wikipedia.org/wiki/Black%E2%80%93Scholes_model 对具体过程更感兴趣的可以去看那篇拿了诺贝尔奖的论文:http://srv02.planchet.net/EXT/ISFA/1226.nsf/fba3680ef04627c2c1256e430032c822/b4201161b37873d6c1256f56002dfc30/$FILE/Merton%20%5B1976%5D%20Option%20pricing%20when.pdf

一句话介绍的话,就是把股价变动看作一个具有特定性质的随机过程,期权的价值由这个随机过程决定,可以通过解一个随机微分方程得到显式解(微分方程有显式解很不容易的!),解就是经典的 Black-Scholes 公式。

B-S公式在刚发表的时候各种假设还比较理想化,但很快被市场接受并用来对期权定价。后人在B和S的基础上还进行了许许多多的改进,有很多衍生的模型。本人并不太了解当前市场中期权的定价具体在用什么模型(各量化交易基金肯定有自己独特的一套定价系统),希望有从业人员能指点一二。



最后来说Monte Carlo吧。前面本人也提到了,微分方程有显式解的情况是比较罕有的,很多衍生品的价值并不能那么简单地用一个公式就求出来。这种时候,Monte Carlo就是一种模拟的方法。该方法的思路就是,随机模拟若干(为了准确怎么也得几百万次吧)次标的物价格的变化,对应地看衍生品的价格变化,然后作平均,最后就能得到衍生品的期望价值。

举个脑残的例子:我特别想知道硬币扔出来是正面的概率,然后我就找了个硬币,扔了两万次,得到10032次正面(向御坂致敬),9968次反面。这样我这次Monte Carlo模拟的结果就是,硬币扔出来正面的概率大约为0.5016

当然现在这样的模拟主要是电脑在做。估衍生品价值,估随机变量的分布函数都很方便,居家旅行,杀人放火都好使。


嗯……如果想进一步学习,熟悉具体的推导过程,还是去找本经典教材啃啃吧。衍生品的话推荐 John Hull 的 Options, Futures, and Other Derivatives
7#
匿名用户   | 2018-10-17 22:34:04 发帖IP地址来自
提示: 作者被禁止或删除 内容自动屏蔽
8#
那啥那啥啥  1级新秀 | 2018-10-17 22:34:05 发帖IP地址来自
高票答案貌似没有简明扼要地说人话啊。。。
简单地说,binomial tree是思想启蒙,是最intuitive的模型,给小孩子都讲得明白。Black Scholes是binomial tree的进阶版,把时间间距缩到无穷小之后的极限,是定价的理论值。Monte Carlo是最简单粗暴的实践,直接模拟出大量假设数据,再根据这些“假”数据做统计
9#
Xavier  4级常客 | 2018-10-17 22:34:06 发帖IP地址来自
稍微补充一点点。二叉树和蒙特卡洛方法各位大神已经说的很详细了,我补充一点点关于对BS model的理解。尽管BS的假设比较理想化,像constant volatility,constant interest rate,geometric brownian motion等,这些假设已经被各种更加复杂细致的model所修正,因此BS在实际运用上不是很准确,可能只是作为一个参照而已。但是BS Model最核心的部分个人觉得是它提供了一个思想: 复制。例如,一个欧式期权可以看做是股票和债券的组合。无论再复杂的衍生产品,其收益在一定条件下都可以运用其他的产品组合复制出来,以复制思想为基础,从而可以进一步对衍生品进行定价。BS Model尽管不是那么完美,但是其提供的分析框架和复制的思想才是其最核心的最值得去思考的东西。

个人愚见,不喜勿喷,谢谢。
10#
龚永光  4级常客 | 2018-10-17 22:34:07 发帖IP地址来自
bs是假设underlying服从lognormal分布的期权模型,其他模型有local volatility,stochastic volatility等。tree,monte carlo是数值方法,工业界优先用的其实是finite difference,俗称解pde方程。上述三种数值方法都可以用于解bs模型,以及其他模型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:24326
精华:1
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP