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

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

近年来,期权交易变得非常流行。在这篇文章中,您将学习一种期权交易策略,可以用来以较低的价格购买自己喜欢的股票。期权是一种衍生工具。衍生物被誉为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: timeDate
Loading required package: timeSeries
Loading 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')

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

相关文章
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
3月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
5月前
|
机器学习/深度学习 算法 数据挖掘
R语言在金融分析中扮演重要角色,用于风险管理、资产定价、量化交易、市场预测和投资组合优化。
【7月更文挑战第2天】R语言在金融分析中扮演重要角色,用于风险管理、资产定价、量化交易、市场预测和投资组合优化。其开源、强大的统计功能和丰富的包(如`PerformanceAnalytics`、`quantstrat`、`forecast`)支持从风险评估到策略回测的各种任务。R的灵活性和社区支持使其成为金融专业人士应对复杂问题的首选工具。
266 1
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型
|
7月前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
55 3
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
下一篇
DataWorks