R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例

时间:2022-07-23
本文章向大家介绍R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

原文链接:http://tecdat.cn/?p=11695


近年来,期权交易变得非常流行。 在这篇文章中,您将学习一种期权交易策略,可以用来以较低的价格购买自己喜欢的股票。期权是一种衍生工具。衍生物被誉为20世纪后期的金融革命。衍生产品类型为远期,期货,掉期和期权。衍生工具是从另一项基础资产中获取价值的工具。对于股票期权,其价格取决于标的股票。 

在本文的第一篇中,我们将建立两个期权定价模型。第一个是著名的Black Scholes期权定价模型,第二个是Cox-Ross-Rubinstein期权定价模型。之后,我们还将讨论什么是期权,以及如何对隐含波动率进行建模。我们还将讨论为什么在实践中将这两种期权定价公式反向用于计算隐含波动率而不是期权价格。 

 我们将使用R进行分析。您应该已经安装了R和RStudio。我建议如果您快速实施非常快的程序,则应安装Microsoft R Open。Quantmod是提供技术分析的重要R包。 

如上所述的期权从标的股票中驱动价值。问题是我们不知道期权合约是否会被行使。当我们尝试对股票期权合约定价时,这就带来了一定程度的复杂性。Black Scholes公式假定连续的随机过程,而Cox-Ross-Rubinstein模型假定离散的随机过程。因此,让我们从Black Scholes Options的定价公式开始。 

Black Scholes股票期权定价公式

Black Scholes期权定价公式作了一些假设。首先是市场没有套利。这意味着不可能有价格差异。第二个假设是基础资产价格遵循布朗运动。第三个假设表明基础股票不支付任何股息。第四个假设是不涉及交易成本,并且可以以任何分数进行基础股票的买卖。最后一个假设是我们知道短期利率,并且该利率随时间是恒定的。现在,我们不需要详细讨论如何数学公式推导该公式。当我们知道用于计算股票期权价格的不同参数时,将使用R来计算股票期权价格。下面我们使用R来计算3个月到期的Apple AAPL股票看涨期权价格。苹果AAPL股票价格为130美元,股票期权合约行使价为140美元。

> library(fOptions)Loading required package: timeDateLoading required package: timeSeriesLoading required package: fBasics> GBSOption(TypeFlag = "c", S = 130, X =140, Time = 1/4, r = 0.02, +           sigma = 0.22, b = 0.02)Title: Black Scholes Option Valuation Call: GBSOption(TypeFlag = "c", S = 130, X = 140, Time = 1/4, r = 0.02,      b = 0.02, sigma = 0.22)Parameters:          Value: TypeFlag c      S        130    X        140    Time     0.25   r        0.02   b        0.02   sigma    0.22  Option Price: 2.382111 Description: Sun May 07 18:12:25 2017

首先我们加载fOptions库,c表示看涨期权.S是股票价格,即每股130美元。X是股票行使价,每股140美元。短期利率为2%。隐含波动率假设为22%。苹果股票的看涨期权价格为2.38美元。这就是它的工作方式。苹果目前的股价为每股130美元。我们购买看涨期权。我们认为苹果股票的价格将会上涨,因此我们购买了看涨期权为140美元的苹果股票3个月到期的看涨期权。如果价格超过140美元,我们可以每股140美元的价格购买AAPL股票。目前,苹果股票的交易价格为每股148美元。因此,您可以看到我们可以便宜地购买Apple股票。我们将以140美元的价格行使苹果股票看涨期权合约,然后以148美元的价格在市场上出售股票,从而实现每股8美元的利润。由于价格是2美元。每100股38股,我们获得了可观的利润。 假设我们的行使价为135美元。

Title: Black Scholes Option Valuation Call: GBSOption(TypeFlag = "c", S = 130, X = 135, Time = 1/4, r = 0.02,      b = 0.02, sigma = 0.22)Parameters:          Value: TypeFlag c      S        130    X        135    Time     0.25   r        0.02   b        0.02   sigma    0.22  Option Price: 3.88815 Description: Sun May 07 18:22:29 2017

在这种情况下,股票期权的价格提高到了$ 3.88。现在,如上所述,我们不需要知道如何得出Black Scholes期权定价公式。我们只需要在公式中插入不同的参数,例如看涨/卖出期权,股票价格,执行价格,短期利率,隐含波动率等。现在的问题是我们没有任何方法可以计算隐含波动率。我们只是假设了隐含波动率公式。如果您不知道什么是不同的参数,请使用以下公式。

我们还可以计算看跌期权的价格。使用R时也非常容易。以下是看跌期权价格的计算。我们在公式中将c更改为p。苹果股价为130美元。看跌期权的行使价为135美元。有效期为3个月。短期利率为2%。隐含波动率为22%。

> GBSOption(TypeFlag = "p", S = 130, X =135, Time = 1/4, r = 0.02, sigma+           = 0.22, b = 0.02)@price[1] 8.214834

现在,如上所述,布莱克斯科尔斯期权定价公式很大​​程度上取决于隐含波动率。隐含波动率是我们所不知道的。因此,实际上我们不能使用此布莱克斯科尔斯股票期权价格公式。在大多数情况下,我们使用相反的公式。我们在公式中插入股票期权价格并计算隐含波动率。我们可以使用GARCH模型来计算波动率。 

Cox-Ross-Rubinstein股票期权定价公式

Cox-Ross-Rubinstein公式也称为CRR公式,与Black Scholes股票期权定价公式不同。CRR公式中的基本假设是标的股票价格遵循离散的二项分布。这意味着股票价格在每个时期要么上升一定量,要么下降一定量。二叉树正在重组。这意味着在两个时期内,价格可以先涨后跌,或者在相同的最终价格下涨跌。以下是使用与Black Scholes公式相同的行使价,隐含波动率和短期利率来计算Apple股票期权价格。

> [1] 4.033903>[1] 8.360588

您可以看到使用Cox-Ross-Rubinstein公式的期权价格与Black Scholes公式相似但不相同,现在无需对CRR公式进行复杂的数学推导。我们还可以绘制上述看涨期权公式以及看跌期权公式二项式树3个周期。以下是看涨期权二项式树的代码。

通过将ce更改为pe,我们还可以绘制看跌期权二叉树。 以下是看涨期权二叉树图。

以下是看跌期权二叉树。

现在您看到了两个公式之间的期权价格差异。价格差异不大。Black Scholes计算的看涨期权价格为3.88美元,而Cox-Ross-Rubinstein公式计算的看涨期权价格为4.03美元。差别不是很大,但确实存在。这是由于两个公式的数学推导不同。在Black Scholes公式中,我们假设一个连续的随机公式,而在Cox-Ross-Rubinstein公式中,我们假设一个离散的二项式公式。W可以通过减少Cox-Ross-Rubinstein公式中的时间步长来减少价格差异。

如何计算期权?

希腊人衡量期权合约对不同市场因素的敏感性。例如,delta是对基础股票价格的敏感性。Gamma是对基础股票价格变化的敏感性。您可以将伽玛三角洲称为三角洲。Theta对时间敏感,而rho对无风险利率敏感。最后,vega是对隐含波动率的敏感度。用数学术语来说,所有希腊语都是偏导数,用于衡量某些参数的变化率。下面我们使用R计算 。

>       delta       gamma        vega       theta         rho   0.4041424   0.0270888  25.1790377 -12.0517840  12.1625922

您可以看到R在计算 时非常快。跨距交易是重要的期权交易策略。我们通过同时购买看跌期权和看涨期权来构造一个跨步。以下是跨度的增量计算。

> plot(100:200, rowSums(straddles), type='l', +      xlab='Price of the underlying (S)', ylab = 'Delta of straddle')

计量经济学是许多交易者都不知道的重要主题。 以下是使用苹果股票看跌期权和看涨期权的跨式期权构建的增量图。