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

科技   科技互联网   2024-07-24 17:56   浙江  


全文下载链接: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公式中的时间步长来减少价格差异。


点击标题查阅往期内容


R语言几何布朗运动GBM模拟股票价格优化建立期权定价用概率加权收益曲线可视化


左右滑动查看更多


01

02

03

04




如何计算期权?

希腊人衡量期权合约对不同市场因素的敏感性。例如,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语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例》。


点击标题查阅往期内容

R语言几何布朗运动GBM模拟股票价格优化建立期权定价用概率加权收益曲线可视化
R语言做复杂金融产品的几何布朗运动的模拟
MATLAB用COPULA模型进行蒙特卡洛(MONTE CARLO)模拟和拟合股票收益数据分析
python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
R语言中的copula GARCH模型拟合时间序列并模拟分析
matlab使用Copula仿真优化市场风险数据VaR分析
R语言多元Copula GARCH 模型时间序列预测
R语言Copula函数股市相关性建模:模拟Random Walk(随机游走)
R语言实现 Copula 算法建模依赖性案例分析报告
R语言ARMA-GARCH-COPULA模型和金融时间序列案例
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言COPULA和金融时间序列案例
matlab使用Copula仿真优化市场风险数据VaR分析
matlab使用Copula仿真优化市场风险
R语言多元CopulaGARCH模型时间序列预测
R语言Copula的贝叶斯非参数MCMC估计
R语言COPULAS和金融时间序列
R语言乘法GARCH模型对高频交易数据进行波动性预测
R语言GARCH-DCC模型和DCC(MVT)建模估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型
R语言ARMA-GARCH-COPULA模型和金融时间序列案例



拓端数据部落
拓端(tecdat.cn)创立于2016年,提供专业的数据分析与挖掘服务,致力于充分挖掘数据价值。
 最新文章