APP下载

期权定价的Monte Carlo模拟精度改进技术及其R软件实现

2017-04-10熊炳忠

电脑知识与技术 2017年4期

摘要: 提高模拟精度是蒙特卡洛模拟应用于解决实际问题的关键。在介绍对偶变量法、控制变量法、重要抽样技术以及分层抽样法的基本原理基础上,将这四种精度提高技术应用于标准欧式期权的模拟定价,基于R软件平台给出它们的实现程序,对比这些方法与普通蒙特卡洛模拟方法所给出期权定价的精度提高效果,结果表明它们都有较好的提高精度效果,尤其是分层抽样法,精度可以达到一般蒙特卡洛模拟精度的5倍之多。

关键词:期权定价;Monte Carlo模拟;精度改进;R软件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-0244-03

Precision Improvement Techniques of Monte Carlo Simulation and Implementation by R in Options Pricing

XIONG Bing-zhong

(College of Nanhu, Jiaxing University, Jiaxing 314001,China)

Abstract: The key point to applying Monte Carlo simulation to solve practical problems is to improve the simulation accuracy. Based on the rational of dual variable method, control variable method, importance sampling technique and stratified sampling method, we apply the 4 techniques to the standard pricing of European options with their implementations programmed by the R. The results show that these techniques can all improve the accuracy in option pricing compared with the general Monte Carlo simulation. Especially the simulation of stratified sampling whose precision is 5 times as much as the general Monte Carlos.

Key words: Option Pricing; Monte Carlo Simulation; Precision Improvement; R Software

1 概述

由于期權既是高效的风险对冲工具又是高效的投资工具,在现代金融市场中其越来越受到广大投资者的青睐。自1973年著名学者Black与Scholes等[1]基于一些假定的条件下给出标准欧式期权定价公式以来,国内外众多学者以及金融业界人士就期权定价问题开展了广泛的研究,但随着研究的深入人们发现只有在特定的条件下一些期权才具有解析解,大多数的情形下,期权都没有解析解或是解析解求解非常困难,于是期权定价的数值求解法,诸如二叉树(或三叉树)法[2]、有限差分法以及随机模拟[3]等方法尤其是其中的蒙特卡洛模拟法由于其具有良好的适用性引起人们特别的重视。特别是针对多标的资产、标的资产既带跳跃又是随机波动率的条件,期权模型又要考虑与标的资产路径相关[4-5],甚至在市场利率也设定为随机过程等非常复杂的情形。但是蒙特卡洛模拟方法也有自身的不足,就是模拟结果的精度、波动性等受到模拟的路径数量的重大影响[6-7],具体来说就是模拟误差每降低1%,模拟次数就要增大10000倍,这样就会极大增加计算负担、影响运行速度从而降低了方法的实用性。为此人们重点研究如何提高模拟的精确度技术来实现更加有效的模拟,其中的对偶变量法、控制变量法、分层抽样法以及重要性抽样是当前最为重要的模拟精度改进技术[8]。下文将在介绍这四种提高模拟精度技术的数学原理基础上重点说明其在欧式期权模拟定价上的使用,然后基于R软件给出每一种方法的详细实现程序并运行程序得到在各种方法下的模拟误差与精度值。

2 对偶变量法及其在期权定价中应用的R实现

对偶变量法主要是利用变量之间的负相关性来提高模拟的精度,该方法在执行时需要产生两个随机数,一个用一般的方法,譬如逆变换法来生成,另一个则通过直接改变前一个的符号来得到,然后利用这两个随机数来计算标的资产价格下期权的算术平均数,该方法提高精度效果一般比较明显。

2.1 对偶变量法原理简介

如果[X1,X2]是有相同均值的随机变量,一般情况下有

当[X1,X2]不相关时有[VarX1+X22=14Var(X1)+Var(X2)],这表明只要[X1,X2]负相关就可以减少模拟的方差。若[X1,…,Xn]是由逆变换法得到的随机数。记[ui?unif(0,1)],则[Xi=F-1X(ui)],[ui]与[1-ui] 都是(0,1)区间上的均匀分布并且负相关。令[yi=g(F-1X(ui)),y′i=g(F-1X(1-ui))],其中[g]函数为单调函数,则[yi]与[y′i]负相关。对[X?N(0,1)],则[Xi=Φ-1X(ui)],[-Xi=Φ-1X(1-ui)]。因此,如果需要生成[n]个服从标准正态分布的随机数,先生成[n2]个标准均匀分布的随机数,再用逆变换法生成[X1,…,Xn2],然后得到[yi=g(Xi),i=1,…,n/2],再直接取[Xi]的相反数[-Xi]来计算,得到[y′i=g(-Xi),i=1,…,n/2],需要估计的量[θ=E(g(X))]便可以以式()来近似,对偶变量法下欧式看涨期权的模拟价格[CAV]就可以按式(2-3)模拟得到。

2.2 对偶变量法期权定价模拟R实现程序及结果

基于R软件编写对偶变量法期权模拟定价函数CAV如下:

设定股票初始价格S0,执行价格K,期权到期时限T=5/12,无风险利率r=5%,标的资产年波动率[σ=30%],按照BS公式可以得到期权真实值,依照一般的蒙特卡洛模拟5万次得到模拟值,运行一般模拟函数与对偶变量函数各重复模拟100次,按照相对误差计算式[RE=1N真实值-模拟值真实值]求出它们的模拟误差,以模拟值的标准差的倒数[τ]表示模拟的精度,得到不同敲定价格下的模拟精度和相对误差比较,见表1。

3 变量控制技术及其在期权定价中应用的R实现

另一种常用的提高模拟精度的方法是控制变量法。该方法原理是找到一个与需要估计证券有比较相似性质的指标作为控制变量,对它们同时进行价格模拟,再利用控制变量来估计期权价格的方法。

3.1变量控制技术原理简介

设[θ=E(g(X))],现有另一个随机变量[f(X)],且[E(f(X))=μ]已知,[f(X)]与[g(X)]相关,则可选[f(X)]作为控制变量,[g(XC)=g(X)+c(f(X)-μ)],c是待定参数,有[E(g(XC))=θ],可知[g(XC)]是[g(X)]无偏估计。

按照优化算法选择[c?=cov(g(X),f(X))Var(f(X))],得到[Var(g(XC))=Var(g(X))-[cov(g(X),f(X))]2Var(f(X))]

结果表明只要[f(X)]与[g(X)]相关,就可以减少模拟的方差,提高精度。控制变量法用到欧式期权模拟定价中,先采用一般的蒙特卡洛模拟得到欧式期权价格设为[C],然后可以选定该期权标的资产价格[S(T)]为控制变量,最后得到变量控制技术下的模拟定价为:

3.2 控制变量技术期权定价模拟R实现程序及结果

按照控制变量法的算法原理编写其期权模拟定价函数CCV如下,然后在R软件平台运行。CCV=function股票初始价格S0、执行价格K、期权到期时限T、无风险利率r、标的资产年波动率[σ]、随机模拟次数、模拟函数运行次数等设置与对偶变量法模拟相同,依照相对误差与模拟精度计算式子得到该方法与一般模拟法的在不同执行价格下的结果如表1所示。

4 分层抽样算法及其在期权定价中应用的R实现

分层抽样算法是将样本空间划分成若干个小区间,通过在每个小区间上抽样来实现提高模拟精度,当变量维数较低时,方法效果相当明显,当变量维数较高时,该方法不容易实现。

4.1分层抽样算法原理简介

设[θ=E(X)],又设[X]依赖于另一个变量[Y],[P{Y=yj}=pj(j=1,…,m)],其中[m]有限。因此

[E(X)=j=1mE(X|Y=yj)Pj],令[θS]为[θ]的分层估计量,则有[θS=j=1mPj1Njk=1NjXjk],[Nj]表示第j单元的独立抽样数量,[Xjk]表示第j单元的第k个抽样。记[σ2j=Var(X|Y=Yj),Nj=NPj],则

4.2分层抽样算法期权定价模拟R实现程序及结果

按照分层抽样法的算法原理编写其期权模拟定价函数CMS如下,股票初始价格、期权执行价格、期权存续期、无风险利率、标的资产年波动率、随机模拟次数、模拟函数运行次数等与对偶变量法、控制变量法模拟相同,其中分层的数量取为25,依照相对误差与模拟精度计算式子得到该方法与一般模拟法、对偶变量法、控制变量法在不同执行价格下的结果见表1。

5重要性抽样法及其在期权定价中应用的R实现

重要性抽样方法是提高模拟精度中常用的方法之一,其思想是寻找到一个新的概率测度来替换原来的概率测度,然后在新的概率测度下进行期望值的求解,一般要求在新的概率测度下,对估计量贡献大的样本出现概率也要大,它的概率测度变换以似然比值为转换因子来实现。

5.1重要性抽样算法原理简介

设[X]的概率密度函数为[f(x)],则有

因此[θ]的估计量[θ=1ni=1ng(Xi)f(Xi)h(Xi)],[Xi(i=1,…,n)]是来自概率密度函数为[h(x)]的随机数,易知[θ]是[θ]的无偏估计。

[Var(θ)=Var(g(X)f(X)h(X))=g2(x)f2(x)h(x)dx-θ2],当选择[h(x)=f(x)g(x)θ]时,[Var(θ)=0]

但由于[θ]未知,因此只能選择[h(x)]与[f(x)g(x)]成比例就可能减少估计量的方差。在欧式期权定价中,一般[g(x)]为收益支付的折现值,[f(x)]为标的资产风险中性概率密度,因此重要性密度函数就选为它们的乘积。若标的资产初始价格为[S0],无风险利率为r,则其到期的风险中性价格为[S0erT],为提高模拟的效率选择[S0eμT=K],[μ=1Tlog(K/S0)],从而选择重要性密度为

5.2重要性抽样算法期权定价模拟R实现程序及结果

按照重要性抽样的方法原理编写其期权模拟定价R函数CSI如下,股票初始价格、期权执行价格、期权存续期、无风险利率、标的资产年波动率、随机模拟次数、模拟函数运行总次数等各项数据的设置与分层抽样、对偶变量法、控制变量法模拟中的相等,计算出期权定价的相对误差与模拟精度与一般模拟法、对偶变量法、控制变量法、分层抽样法在不同执行价格下的结果对比见表1。

6 结束语

本文给出了蒙特卡洛模拟中常用来提高模拟精度的对偶变量法、控制变量法、分层抽样法以及重要性抽样法的原理,并将其应用于期权定价的模拟计算中,基于R软件平台,给出这四种精度提高技术的详细运行程序,使用相对误差与精度两项指标,对比了四种精度改进技术下的定价结果。从计算结果来看,使用这些技术都能较好提高期权模拟定价的精度,其中分层抽样在精度提高上效果最好,对各种执行价格下精度值都达到一般模拟法相应值的5倍之多,其次是对偶变量法,其在模拟定价精度上提高也是非常的明显,重要性抽样技术方法比较 (下转第249页)

(上接第246页)

复杂,特别是其重要性密度函数选择灵活性大,从其方法原理上看应该比较适合于与稀有事件发生相关的金融产品模拟定价。将几种提高精度技术相互融合使用以及利用拟蒙特卡洛技术于更加复杂的金融产品的模拟定价中的编程与实现、分析它们的在不同情景下的精度提高效果分析等问题有待进一步研究。

参考文献:

[1] Black F , Scholes M. The Pricing of Options and Corporate Liabilities [J].Journal of Political Economics, 1973(81):637-659.

[2] Cox J, Ross S, Rubinstein M. Option Pricing: A Simplified Approach [J]. Journal of Financial Economics, 1979(7):229-264.

[3] Boyle P. Option, A Monte Carlo approach[J].Journal of Financial Economic,1977(4):323-338.

[4] Longstaff F A, Schwartz E S. Valuing American Options by Simulation: A Simple Least-Squares Approach [J]. The Review of Financial Studies, 2001,14(1):229-264.

[5] 熊炳忠,马柏林. 基于贝叶斯MCMC算法的美式期权定价[J].经济数学,2013,30(2):55-62.

[6] Jaeckel P. Monte Carlo Methods in financial [M]. New York: Wiley,2003:78-183.

[7] Glasserman, P. Monte Carlo method in financial engineering[M].New York : Springer,2004:289-365.

[8] 陳辉.期权定价的蒙特卡洛模拟方差缩减技术研究[J].统计与信息论坛,2008,23(7):86-96.