如何解决如何添加一个名为“ moneyness”的变量,该变量在缺钱时为TRUE,否则为FALSE?
这是我到目前为止可以运行的代码: ''' 图书馆(quantmod) getSymbols(Symbols =“ ^ VIX”) VIX = data.frame(VIX) 头(VIX) 尾巴(VIX)
getQuote("^VIX")
vix_opt=getOptionChain("^VIX")
#head(vix_opt1$calls)
vix_opt1=getOptionChain("^VIX",c("2020-10-28","2021-03-17"))
names(vix_opt1)
vix_optall=getOptionChain("^VIX",NULL)
names(vix_optall)
pricefunc <- function(x){
x$calls$Price <- 0.5*(x$calls$Bid + x$calls$Ask)
x$puts$Price <- 0.5*(x$puts$Bid + x$puts$Ask)
return(x)
}
vix_optall=lapply(vix_optall,pricefunc)
names(vix_optall$Nov.04.2020$puts)
head(vix_optall$Nov.04.2020$puts)
'''
问题的下一部分是: 对于每次到期的看跌期权和看跌期权,添加一列“货币”, 价外时取TRUE,否则为FALSE。 (当看涨期权的执行价格大于当前价格时,看涨期权价格不菲 基础。如果看跌期权的行使价小于当前价格,则看跌期权价格不菲 标的价格。目前标的价格是从第二 问题)
我尝试了不同的循环,并在尝试添加此列时不断出错。
解决方法
尝试在代码后运行此代码,并为“ lastprice”插入VIX的当前价格:
moneynessFunc <- function(x,lastprice = 20){
x[]$calls$moneyness <- ifelse(x$calls$Strike < lastprice,T,F)
x[]$puts$moneyness <- ifelse(x$puts$Strike > lastprice,F)
return(x)
}
vix_optall2 <- lapply(vix_optall,moneynessFunc,lastprice = 33)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。