金融期权。 fOptions 与 RQuantLib
Financial Options. fOptions vs RQuantLib
对于某些项目,我正在研究财务选项。我更喜欢使用 RQuantLib
,但有时很难说服其他人(例如 Mac 用户)安装 QuantLib
、Boost
等,因此我也在看fOptions
-包。但是我在复制结果时遇到问题。
我主要是在尝试计算美式和欧式期权的价格,以及 delta、gamma、vega、theta 和 rho。
在 RQuantLib
中一切正常:
library(RQuantLib)
EuropeanOption(type = "call", underlying = 100, strike = 100, dividendYield = 0,
riskFreeRate = 0.03, maturity = 1, volatility = 0.05)
# Concise summary of valuation for EuropeanOption
# value delta gamma vega theta rho divRho
# 3.7861 0.7340 0.0656 32.8161 -2.9089 69.6153 -73.4014
fOptions
但是给了我不同的结果:
library(fOptions)
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03, b = 0,
sigma = 0.05)
#
# Title:
# Black Scholes Option Valuation
#
# Call:
# GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
# b = 0, sigma = 0.05)
#
# Parameters:
# Value:
# TypeFlag c
# S 100
# X 100
# Time 1
# r 0.03
# b 0
# sigma 0.05
#
# Option Price:
# 1.935566
#
# Description:
# Wed Nov 2 23:08:57 2016
或类似的希腊语:
GBSGreeks(Selection = "delta", TypeFlag = "c", S = 100, X = 100, Time = 1,
r = 0.03, b = 0, sigma = 0.05)
# [1] 0.4949006
我不一定要绑定到 fOptions
-library,我只需要一个(相当)轻量级的 RQuantLib 替代品,它不需要安装额外的软件(在 Mac 和 Linux).
我错过了什么?非常感谢您的帮助!
您误解了 fOptions::GBSOption
的 b
参数的目的。它不等于RQuantLib::EuropeanOption
中的股息收益率,它实际上是持有成本。在没有股息收益率的情况下,持有成本就是无风险利率:
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
sigma = 0.05, b=0.03)
Title:
Black Scholes Option Valuation
Call:
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
b = 0.03, sigma = 0.05)
Parameters:
Value:
TypeFlag c
S 100
X 100
Time 1
r 0.03
b 0.03
sigma 0.05
Option Price:
3.786116
这与您从其他包裹中得到的相符。
对于某些项目,我正在研究财务选项。我更喜欢使用 RQuantLib
,但有时很难说服其他人(例如 Mac 用户)安装 QuantLib
、Boost
等,因此我也在看fOptions
-包。但是我在复制结果时遇到问题。
我主要是在尝试计算美式和欧式期权的价格,以及 delta、gamma、vega、theta 和 rho。
在 RQuantLib
中一切正常:
library(RQuantLib)
EuropeanOption(type = "call", underlying = 100, strike = 100, dividendYield = 0,
riskFreeRate = 0.03, maturity = 1, volatility = 0.05)
# Concise summary of valuation for EuropeanOption
# value delta gamma vega theta rho divRho
# 3.7861 0.7340 0.0656 32.8161 -2.9089 69.6153 -73.4014
fOptions
但是给了我不同的结果:
library(fOptions)
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03, b = 0,
sigma = 0.05)
#
# Title:
# Black Scholes Option Valuation
#
# Call:
# GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
# b = 0, sigma = 0.05)
#
# Parameters:
# Value:
# TypeFlag c
# S 100
# X 100
# Time 1
# r 0.03
# b 0
# sigma 0.05
#
# Option Price:
# 1.935566
#
# Description:
# Wed Nov 2 23:08:57 2016
或类似的希腊语:
GBSGreeks(Selection = "delta", TypeFlag = "c", S = 100, X = 100, Time = 1,
r = 0.03, b = 0, sigma = 0.05)
# [1] 0.4949006
我不一定要绑定到 fOptions
-library,我只需要一个(相当)轻量级的 RQuantLib 替代品,它不需要安装额外的软件(在 Mac 和 Linux).
我错过了什么?非常感谢您的帮助!
您误解了 fOptions::GBSOption
的 b
参数的目的。它不等于RQuantLib::EuropeanOption
中的股息收益率,它实际上是持有成本。在没有股息收益率的情况下,持有成本就是无风险利率:
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
sigma = 0.05, b=0.03)
Title:
Black Scholes Option Valuation
Call:
GBSOption(TypeFlag = "c", S = 100, X = 100, Time = 1, r = 0.03,
b = 0.03, sigma = 0.05)
Parameters:
Value:
TypeFlag c
S 100
X 100
Time 1
r 0.03
b 0.03
sigma 0.05
Option Price:
3.786116
这与您从其他包裹中得到的相符。