Aquí tienes un gráfico del valor temporal para una opción de compra típica en función del precio. La imagen a continuación fue producida para una opción de compra con los siguientes parámetros: Strike = 100, tasa libre de riesgo = 0, volatilidad = 30%, tiempo hasta la madurez = 0.5.
Aquí, por cierto, está theta, la decadencia del tiempo (derivada del valor total con respecto al tiempo) versus precio usando los mismos parámetros:
Código R para theta:
BSOption <- function(S,K,r,v,T,type){
d1 = (log(S/K)+(r+.5*v*v)*T)/(v*sqrt(T))
d2 = d1 - v*sqrt(T)
if(type == "call"||type == "Call"||type == "C"||type == "c"||type == 1)
{
delta = pnorm(d1)
theta = (-S*dnorm(d1)*v/(2*sqrt(T))) -
r*K*exp(-r*T)*pnorm(d2);
price = S*pnorm(d1)- K*exp(-r*T)*pnorm(d2)
}
else{
delta = -pnorm(-d1)
theta = (-S*dnorm(d1)*v/(2*sqrt(T))) +
r*K*exp(-r*T)*pnorm(-d2);
price = K*exp(-r*T)*pnorm(-d2)-S*pnorm(-d1)
}
gamma = dnorm(d1)/(S*v*sqrt(T))
vega = S*dnorm(d1)*sqrt(T)
theta = theta/365
BSoption = data.frame(price, delta, gamma, vega, theta)
return(BSoption)
}
S = seq(80,120,1);
plot(S,BSOption(S,100,0,.3,.5,1)$theta,ylab="Theta",xlab="Precio"); title("Theta vs Precio")
Código R para valor temporal:
S = seq(80,120,1);
intrinsic = array(0,c(length(S),1))
for(i in 1:length(intrinsic)){
intrinsic[i] = max(S[i] - 100,0)
}
plot(S,BSOption(S,100,0,.3,.5,1)$price-intrinsic,ylab="Valor Temporal",xlab="Precio");
title("Valor Temporal vs Precio")
3 votos
No estoy seguro si estás preguntando sobre la volatility smile o cómo funciona Black Scholes, pero tu pregunta es imposible de analizar. El precio de la opción no se deriva de la volatilidad. Se deriva de la volatilidad, el precio de mercado, el precio de ejercicio, la tasa libre de riesgo y el tiempo de vencimiento. Así que sí, la relación con el precio afecta el valor de la opción. Por eso las comillas en una cadena de opciones son diferentes en cada nivel de precio.
0 votos
@kamikaze_pilot Tu pregunta ha sido reescrita para mayor claridad basándome en lo que creo que es tu pregunta original. Por favor vuelve a editar si me he equivocado.
0 votos
Todavía no estoy seguro de lo que estaba preguntando el creador original del post, pero esta pregunta editada ahora está bastante bien. Además, la respuesta de @SpeedBoots es una solución sólida.