Ambas respuestas ya abordan la esencia de la pregunta. He decidido añadir (bastantes) detalles porque creo que hay cierta confusión por parte del OP. No es el futuro el que conlleva costes o beneficios, sino el subyacente. Esto también es importante a la hora de fijar el precio de las opciones.
Los modelos Black Scholes Merton (BSM) y Negro 76 Los modelos de valoración de opciones son bien conocidos y ampliamente utilizados. La única diferencia del modelo frente al modelo BSM es que el futuro subyacente en el modelo Black no tiene costes ni beneficios de carry.
En otras palabras, la relación coste de transporte describe el coste relativo de comprar una acción con entrega diferida (el futuro) frente a comprarla en el mercado al contado con entrega inmediata y "transportarla" hacia adelante. Si compra acciones ahora, inmoviliza sus fondos e incurre en un coste del valor temporal del dinero de 1,5 millones de euros. $r$ por periodo. Por otro lado, usted recibe pagos de dividendos (carry benefit) de $d$ . (Técnicamente, estar corto al contado invierte esto y el coste del carry es el coste de pagar dividendos).
Esta ventaja debe compensarse con un diferencial entre el precio de los futuros y el precio al contado. Por lo tanto, el comentario de OP en la respuesta de @Jan Stuller no tiene sentido:
Si fuera irrelevante todo el mundo compraría opciones de compra ATM, vendería opciones de venta ATM, y venderían futuros. El movimiento neto de precios de esta estrategia es cero, pero vendiendo futuros se gana uno (tipo de interés - rentabilidad por dividendo) cada año. Lo que sería dinero gratis que podría apalancar tan alto como mi broker me lo permitiera.
El precio futuro compensa exactamente esta diferencia y no hay dinero gratis. Puede resultar menos obvio en el caso de la renta variable, pero debería estar bastante claro en el caso de las divisas (donde el concepto es idéntico, sólo que con dos tipos de interés). Se denomina Paridad de intereses cubierta (CIP).
Se haga lo que se haga, la rentabilidad de la inversión nacional es igual a la de la inversión en el extranjero. Esto funciona porque se introduce un forward y se fija ese tipo que garantiza que no haya arbitraje.
Volviendo a las opciones, empecemos por la BSM, que tiene los costes de carry (y los beneficios) del subyacente incorporado. Al fin y al cabo, el modelo es para opciones europeas (de ahí la entrega diferida), igual que los futuros sobre acciones, pero tiene el mercado al contado como subyacente (como los futuros sobre acciones). Escribir BSM en Julia tiene este aspecto (me gusta usarlo porque el código parece casi un libro de texto de matemáticas y el lenguaje ofrece bibliotecas de trazado sencillas pero potentes, además de rápidas):
using Distributions
N(x) = cdf(Normal(0,1),x)
function BSM(s,k,t,r,d, , cp)
d1 = ( log(s/k) + (r -d+ ^2/2)*t ) / (*sqrt(t))
d2 = d1 - *sqrt(t)
opt = exp(-d*t)*cp*s*N(cp*d1) - cp*k*exp(-r*t)*N(cp*d2)
delta = cp*exp(-d*t)*N(cp*d1)
return opt, delta
end
CP es un indicador de compra y venta (1 para compra, -1 para venta). Ignorándolo, se tiene la siguiente fórmula:
$$e^{-d*t}*S*N(d1) - K*e^{-r*t}*N(d2)$$
donde $d$ es el dividendo, $r$ es el tipo sin riesgo y $d1$ , $d2$ son las entradas estándar del modelo BSM, como se muestra en Wikipedia . Para resaltar el ajuste de las prestaciones en el modelo BSM se puede reescribir el valor de la opción de compra y de venta como el valor actual (VP) del pago esperado de la opción al vencimiento.
$$E(c_T) = \color{blue}{S*e^{(r-d)*T}}*N(d1) - K*N(d2)$$ et $$E(p_T) = K*N(-d2) - \color{blue}{S*e^{(r-d)*T}}*N(-d1)$$
Ahora debería estar claro por qué funciona la bandera cp en la función BSM del código Julia.
Esto también demuestra claramente que el valor del modelo BSM es en realidad una cartera gestionada dinámicamente de acciones y bonos cupón cero (la parte de financiación, que también puede considerarse como un préstamo bancario). El precio descontado del bono cupón cero es $K*e^{-r*T}$ En el caso de las opciones de compra, la propia acción se ve influida por los beneficios del carry (cb) y un cb elevado hará bajar el precio de la opción de compra. En resumen, para las opciones de compra, uno necesita N(d1) acciones (ajustadas por el beneficio de carry) y N(d2) bonos. Como N(d2) < 0 y N(d1) > 0, hay que pedir prestado para comprar las acciones.
Ahora, pongamos algunas cifras hipotéticas. Utilizaré t = 1 año en todo momento para evitar complicaciones con las diferencias de días entre tipos, dividendos, IV, etc.
using DataFrames
s,k,t,d,r, = 100, 100, 1,0.03, 0.04, 0.3
call = BSM(s,k,t,r,d,,1)
put = BSM(s,k,t,r,d,,-1)
df = DataFrame("Call" => call[1],"Delta Call" => call[2], "Put" => put[1], "Delta Put" => put[2])
PrettyTables.pretty_table(df, border_crayon = Crayons.crayon"blue", header_crayon = Crayons.crayon"bold green", formatters = ft_printf("%.4f", [1,2,3,4]))
Se trata de ATM Spot, por lo que el forward sintético resultante no tendría coste cero. No obstante, la paridad put-call (ajustada al carry benefit), definida como $$p + S*e^{-d*t} == c + e^{-r*t}*K$$ funciona, como para cualquier huelga.
println("PC Parity computed Put value = $(round((c + exp(-r*t)*k -s*exp(-d*t)),digits = 4))")
println("Put Price according to BSM = $(round(put[1],digits = 4))")
PC Paridad calculada Valor Put = 11.0371
Precio de venta según BSM = 11,0371
Si queremos fijar el precio de un contrato a plazo sintético de coste cero, primero tenemos que calcular el valor futuro razonable de la acción, $S*e^{(r-d)*T}$ . Podemos llevar este argumento un paso más allá. Afirmé que el Negro 76 no tiene costes de acarreo ni beneficios de los que ocuparse, porque el futuro ya se computa con el coste de acarreo del punto "en mente". Definamos el Negro en Julia:
function Black76(F,K,t,r,, cp)
d1 = (log(F/K) + 0.5*^2*t)/ *sqrt(t)
d2 = d1 - *sqrt(t)
opt = cp*exp(-r*t)*(F*N(cp*d1) - K*N(cp*d2))
return opt
end
Los tipos o los dividendos no aparecen por ninguna parte, aparte de descontar la rentabilidad esperada al día de hoy. Una observación interesante: los contratos de futuros se valoran a precios de mercado, por lo que el beneficio se obtiene cuando se ejerce la opción. Si consideramos una opción sobre un contrato a plazo que vence en un momento T > T, el beneficio no se produce hasta T. Por lo tanto, el factor de descuento tendría que tener en cuenta este tiempo adicional.
Combinando esto en un DF se demuestra que efectivamente se obtiene el resultado deseado:
k = s*exp((r-d)*t)
f = k
call = BSM(s,k,t,r,d,,1)
put = BSM(s,k,t,r,d,,-1)
call_Black = Black76(f,k,t,r,,1)
put_Black = Black76(f,k,t,r,,-1)
df = DataFrame("Call" => call[1],"Delta Call" => call[2], "Put" => put[1], "Delta Put" => put[2], "Forward" => k, "Call Black76" => call_Black, "Put Black76" => put_Black)
PrettyTables.pretty_table(df, border_crayon = Crayons.crayon"blue", header_crayon = Crayons.crayon"bold green", formatters = ft_printf("%.4f", [1,2,3,4]))
Ahora, tenemos un cero-cst sintético hacia adelante. Desviarse de este precio justo sólo significará que usted paga/recibe una compensación por adelantado y no es coste cero al inicio. El coste del carry no juega ningún otro papel aquí, aparte de definir el valor futuro justo (o strike).
Sin embargo, con las opciones sobre acciones se plantea otro problema. Muchas opciones sobre acciones son estadounidenses. Como tales, su posición puede ser objeto de ejercicio anticipado. He aquí 2 circunstancias que pueden hacer que el valor de una opción europea sea inferior al valor intrínseco
- a) opciones de venta ITM profundas en presencia de tipos de interés positivos r>0
- b ) llamadas ITM profundas en presencia de una rentabilidad por dividendo positiva q>0
que también coincide con las 2 circunstancias en las que tiene sentido que una opción americana se ejerza anticipadamente (lo que puede importar para los forwards sintéticos de renta variable). Se dan algunas intuiciones ici de donde procede el gráfico que figura a continuación.
Cualquier zona sombreada (a la derecha) significará ejercicio anticipado para las opciones americanas. En este sentido, usted no posee realmente un forward sintético, ya que si el spot se mueve significativamente, una de sus patas se rescindirá anticipadamente. Además, estas opciones suelen ser mucho menos líquidas que los futuros y, como escribió Jan Stuller, tendrá dos transacciones en lugar de una.