这是我下载现货价格和计算一堆指数的实际波动率的代码。
library(quantmod)
library(PerformanceAnalytics)
library(RQuantLib)
tickers.index = c("^RUT","^STOXX50E","^HSI")
myEnv <- new.env()
getSymbols(tickers.index, src='yahoo', from = "2004-03-26", to = "2012-10-10", env = myEnv, adjust=TRUE)
index <- do.call(merge, c(eapply(myEnv, Ad), all=TRUE))
index <-na.locf(index)
#Calculate daily returns for all indices and convert to arithmetic returns
index.ret <- exp(CalculateReturns(index,method="compound")) - 1
index.ret[1,] <- 0
#Calculate realized vol for all the indices
index.realized <- xts(apply(index.ret,2,runSD,n=20), index(index.ret))*sqrt(252)
index.realized[1:19,] <- 1
我现在想做的是使用函数 EuropeanOption 为每个指数计算一系列看跌价格,每天使用以下参数:
- 基础价格 - 指数 XTS 的今日收盘价
- 行使价 - XTS 指数昨天的收盘价
- 隐含成交量 - 昨天指数的已实现成交量。已实现 XTS
- 所有其他参数将只是常量
我试图通过各种尝试使用 apply 等来实现这一点,但无法让它发挥作用。我不必使用 RQuantLib - 如果计算欧式期权价格的其他函数可以使这更容易,我可以接受。非常感谢任何帮助。
谢谢你。