Нарисуйте график подразумеваемой волатильности 3D - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь нарисовать Подразумеваемая График Для компании BA C. Я сделал коды для рисования implied volatility против Strike Prices (ниже). Приведенный ниже код графика нарисует график зависимости «Подразумеваемая волатильность от цены страйка» только за ОДНУ дату (март 27.2020)

. Могу ли я узнать, как мне отредактировать мои коды, чтобы нарисовать трехмерный график, который подразумевает * Подразумеваемое значение aws? Волатильность против страйк-цены и время до погашения, пожалуйста?

install.packages("quantmod")
install.packages("jsonlite")
install.packages("lubridate")
install.packages("fOptions")
library(quantmod)
library(jsonlite)
library(lubridate)
library(fOptions)

# Getting option chain data of Bank of America (all expiries)
CHAIN <- getOptionChain("BAC", NULL)
# Setting maturity of options as T (in years)
maturity <- as.Date(names(CHAIN), format="%b.%d.%Y")
today <- as.Date(Sys.Date(), format="%Y-%m-%d")
T <- as.numeric((maturity - today)/365)
# Interest Rate = 2%pa
r = 0.02;ImpVol<-1:1
# Getting latest price of Bank of America shares
getSymbols("BAC",from=today,to=today,src="yahoo")
S=as.numeric(Ad(`BAC`))
# Plot implied volatility over strike price given market prices of options (blue line)
for (i in 1:length(CHAIN$Mar.27.2020$calls$Strike)){ImpVol[i]<- GBSVolatility(CHAIN$Mar.27.2020$calls$Last[i], "c", S, CHAIN$Mar.27.2020$calls$Strike[i], T[1], r, 0)}

  #GBSVolatility(CHAIN$Mar.27.2020$calls$Last[i], "c", S, CHAIN$Mar.27.2020$calls$Strike[i],0.00274, r, 0)}
length(CHAIN$Mar.27.2020$calls$Strike)
length(ImpVol)
plot(CHAIN$Mar.27.2020$calls$Strike[!is.na(ImpVol)], ImpVol[!is.na(ImpVol)], xlab = "Strike price", ylab = "Implied volatility", lwd =3, type = "l", col
     = "blue")
...