相关代码:
library("fOptions")
##计算正股历史最近一年波动率
wzg<- window(zg, start=(as.Date(Sys.timeDate())-365),end =as.Date(Sys.timeDate()))
年波幅 <- colSds(returns(wzg))*dim(wzg)[1]^0.5
print(c("股票年波幅", 年波幅))
####两叉树(网)和B-S定价计算
到期时间 <- as.numeric(到期日期-as.Date(Sys.timeDate()))/365
股票波幅 <- 年波幅
股价<- zg[dim(zg)[1]]
权证现价<- qz[dim(qz)[1]]
## Plot CRR Option Tree:(两叉树法)
CRRTree = BinomialTreeOption(TypeFlag = "ca", S = 股价, X = 行权价,
Time = 到期时间, r = 无风险利率, b = 年化持有成本利率, sigma = 股票波幅, n = 12)
BinomialTreePlot(CRRTree, dy = 1, cex = 0.8, ylim = c(-6, 7),
xlab = "n", ylab = "权证理论价值")
title(main = c(paste(colnames(qz),"权证树"),paste("(行权比例",行权比例,"/1)")))
## The Generalized Black Scholes Option Formula(B-S公式)
bs<- GBSCharacteristics(TypeFlag = "c", S = 股价, X = 行权价,
Time = 到期时间, r = 无风险利率, b = 年化持有成本利率, sigma = 股票波幅)
隐含波动率<- GBSVolatility(price=权证现价*行权比例 , TypeFlag = "c", S = 股价, X = 行权价,
Time = 到期时间, r = 无风险利率, b = 年化持有成本利率)
bs
print(c(colnames(qz),"权证理论价值=",bs$premium/行权比例,"元"))