11 votos

Obtención de la probabilidad neutra de riesgo a partir de los precios de las opciones

Supongamos que tengo los siguientes datos (para los precios actuales de las acciones y las opciones del Bank of America)

   Strike Last        IV Probability
4       8 5.43 0.5813566   0.0000000
7      11 2.45 0.2868052   0.1571556
8      12 1.68 0.3611712   0.0000000
9      13 0.93 0.3149634   0.0000000
10     14 0.42 0.2906097   0.4216563
11     15 0.16 0.2827868   0.0000000
12     16 0.06 0.2894076   0.0000000
13     17 0.03 0.3147238  12.5000000
14     18 0.02 0.3498626   0.0000000
15     19 0.02 0.4019490   0.0000000
16     20 0.01 0.4093461 100.0000000
17     21 0.01 0.4513419   0.0000000
18     22 0.02 0.5374740   0.0000000
19     23 0.01 0.5280132         Inf
20     24 0.02 0.6147154   0.0000000
21     25 0.01 0.5967137   0.0000000

Lo que quiero hacer es obtener una distribución de probabilidad neutral al riesgo de los rendimientos de las acciones. Leo este pregunta. Se dice que para ello necesito tomar la segunda derivada del precio de la opción como $\frac{\partial^2 c}{\partial K^2}$ . ¿Tengo razón en que no puedo hacerlo analíticamente a partir de la fórmula de la opción (utilizo BSM)? Entonces, ¿cuál es la solución práctica para esto (podría explicar en detalle y preferiblemente con un ejemplo utilizando mis datos)?
En el El libro de Hull se afirma que se puede utilizar la siguiente expresión para evaluar la densidad de probabilidad $g(K)$

$$ g(K) = e^{rT}\frac{c_1+c_3-2c_2}{\delta^2} $$ donde $K$ es una huelga, $c_1$ , $c_2$ y $c_3$ son los precios de las opciones de compra europeas con vencimiento $T$ y las huelgas $K-\delta$ , $K$ y $K+\delta$ respectivamente. ¿Es la forma que debo utilizar en la práctica para evaluar $g(K)$ ? Lo he probado con mis datos pero obtengo resultados poco realistas (por ejemplo, probabilidades negativas).
Agradezco su ayuda


Actualización : según la respuesta de @Quantuple he calculado la probabilidad, $Probability_i$ que el precio de las acciones se situará entre $Strike_{i-1}$ y $Strike_{i+1}$ (¿lo interpreto bien?). Los valores que obtuve parecen ser poco realistas (por ejemplo, probabilidad negativa). En este caso he intentado hacer lo mismo con otro dato (precios actuales de las acciones y opciones de Apple) y he obtenido lo siguiente

   Strike  Last        IV Probability
8    85.0 21.41 0.2814728  0.00000000
10   90.0 16.65 0.2712171  0.04287807
11   92.5 14.15 0.2350727  0.00000000
12   95.0 12.10 0.2530275  0.00000000
13   97.5 10.05 0.2506622  0.01535698
14  100.0  8.23 0.2525582  0.00000000
15  105.0  5.01 0.2436027  0.00000000
16  110.0  2.71 0.2368809  0.07017230
17  115.0  1.35 0.2363258  0.00000000
18  120.0  0.61 0.2362289  0.00000000
19  125.0  0.29 0.2435342  0.85066163
20  130.0  0.15 0.2548730  0.00000000
21  135.0  0.08 0.2660732  0.00000000
22  140.0  0.05 0.2814728  4.00000000
23  145.0  0.03 0.2935170  0.00000000

Utilizo el siguiente código R

chain <- getOptionChain("BAC", Exp = "2016-05-20")
chain <- chain$calls
chain <- chain[, 1:2]
chain$IV <- 0
time_remain <- as.numeric(as.Date("2016-05-20") - as.Date(Sys.time()))
time <- time_remain/360
rf <- 0.01
Spot <- getQuote("BAC")
Spot <- Spot$Last
chain <- as.data.frame(apply(chain, 2, as.numeric))
for (i in 1:nrow(chain)) {
  chain$IV[i] <- iv.opt(S = Spot, K = chain$Strike[i], T = time, riskfree = rf, price = chain$Last[i], type = "Call")
}
chain <- na.omit(chain)
ggplot(chain, aes(x = Strike, y = IV)) + geom_line(size = 1, color = "red") + ylab("Implied volatility") + theme(axis.text = element_text(size = 18), panel.border = element_rect(fill = NA, colour = "black", size = 2), axis.title = element_text(size = 20))
chain$Probability <- 0
for (i in seq(2, nrow(chain), 3)) {
  chain$Probability[i] <- (-2*chain$Last[i] + chain$Last[i-1] + chain$Last[i+1])/((chain$Last[i+1] - chain$Last[i-1])^2)
}
chain

Para Apple todo parece estar bien además de eso $P\left[S \in (135; 145)\right] = 4$ que es irreal (de nuevo). ¿Es real obtener probabilidades neutrales al riesgo que pueda interpretar de forma "común" (por ejemplo, que no sean negativas o que su suma no supere $1$ )?

13voto

MayahanaMouse Puntos 71

La función de densidad de probabilidad neutral al riesgo $q(.)$ viene dada por $$ q(S_T=s) = \frac{1}{P(0,T)} \frac{ \partial^2 C }{\partial K^2} (K=s,T) $$ donde $P(0,T)$ cifra el factor de descuento correspondiente. Esto se conoce como la identidad Breeden-Litzenberger.

Porque no se observa un continuo de los precios de las llamadas en la práctica, puede utilizar un aproximación por diferencias finitas para estimar la segunda derivada. En su caso, porque los golpes se encuentran en una cuadrícula uniforme (espaciado constante, si no debe utilizar una fórmula más general, ver comentarios adicionales más abajo), puede utilizar

$$ \frac{ \partial^2 C }{\partial K^2} (K=s,T) \approx \frac{ C(K=s-\Delta K,T) - 2 C(K=s,T) + C(K=s+\Delta K,T)}{ (\Delta K)^2 } $$

lo que equivale a formar una mariposa (normalizada) alrededor de su objetivo de golpe $K=s$ . Por lo tanto, si no hay arbitraje en sus precios, entonces su pdf debería ser positivo, como bien mencionas.

El problema aquí, es que podrías observar algunas oportunidades de arbitraje "ficticias"... porque estás tratando con últimos precios .

Por ejemplo, con sus datos: $$ q(S_T=10) = \frac{C(K=9,T)-2C(K=10,T)+C(K=11,T)}{1^2} = (4.75 - 2(3.68) + 2.52) < 0$$ lo que no parece correcto, como usted señala.

En realidad, si simplemente se miran los valores de llamada de $K=\{21,22,23,24\}$ Verá que los precios ni siquiera son monótonamente decrecientes, lo que supone una clara oportunidad de arbitraje de diferencial vertical.

Así que sí, tienes la fórmula correcta, pero necesitas

  • Limpia los precios de los insumos. Puedes buscar técnicas como el alisamiento sin arbitraje, pero esto va más allá del alcance de tu pregunta.

  • Utilizar una fuente de datos más fiable (por ejemplo, cuando se trabaja con precios en tiempo real, las oportunidades de arbitraje tan flagrantes rara vez persisten debido a la presencia de arbitrajistas, además de que suele haber un diferencial entre oferta y demanda).


Algunas aclaraciones requeridas por el OP:

  1. A último precio como su nombre indica, calcula el último precio al que ha cotizado un determinado valor antes del cierre del mercado. Utilizar este tipo de precios puede ser peligroso. Por ejemplo, supongamos que estamos a unos segundos del cierre del mercado y observamos un montón de precios $C(K_1)$ ,..., $C(K_N)$ que no permiten ninguna oportunidad de arbitraje. Ahora, alguien desea comerciar $C(K_3)$ justo antes del cierre del mercado. Supongamos que, el precio al que se realiza la operación implicaría una oportunidad de arbitraje de mariposa dados los valores de $C(K_1)$ y $C(K_2)$ ... pues si el mercado cierra justo después de su operación, ningún participante puede hacer nada con la oportunidad de arbitraje que creó el último participante. En el últimos precios que muestra el intercambio, la oportunidad arb estará presente, aunque nadie pueda beneficiarse de ella en la práctica. Esto es lo que quería decir con el arbitraje "ficticio".

  2. $q(S_T = K)$ hace no representan la probabilidad de que $S_T$ estará entre la huelga $K-\Delta K$ y $K + \Delta K$ . Más bien, debe entenderse en el sentido infenitesimal. Más concretamente: $$q(S_T = K) = \lim_{\Delta K\rightarrow 0} Prob[ K - \Delta K \leq S_T \leq K + \Delta K ]$$

  3. En la primera parte de mi respuesta, te escribí sólo podría utilizar la fórmula que he dado (que además resulta ser el que mencionas en tu post original), si tuvieras un espacio constante $\Delta K$ en su red de huelgas. Aquí no la tienes. En ese caso deberías usar más bien: $$ \frac{ \partial^2 C }{\partial K^2} (K=s,T) \approx \frac{2 }{\Delta K^-(\Delta K^- + \Delta K^+)} C(K=s-\Delta K^-,T) - \left( \frac{2}{\Delta K^-(\Delta K^- + \Delta K^+)} + \frac{2}{\Delta K^+(\Delta K^- + \Delta K^+)} \right) C(K=s,T) + \frac{2 }{\Delta K^+(\Delta K^- + \Delta K^+)} C(K=s+\Delta K^+,T)$$ donde $\Delta K^-$ puede ser diferente de $\Delta K^+$ (en caso de que sean iguales, se recurre a la fórmula original para una cuadrícula uniforme). Tenga en cuenta que ambas fórmulas son aproximaciones cuanto más pequeño $\Delta K$ cuanto mejor funcionen.

La ejecución de esta fórmula en su ejemplo debería dar (primera columna = precio de ejercicio $K$ , segunda columna = último precio $C(K,T)$ , tercera columna = $q(S_T=K)$ )

   85.0000   21.4100       NaN
   90.0000   16.6500   -0.0128
   92.5000   14.1500    0.0720
   95.0000   12.1000    0.0000
   97.5000   10.0500    0.0368
  100.0000    8.2300    0.0224
  105.0000    5.0100    0.0368
  110.0000    2.7100    0.0376
  115.0000    1.3500    0.0248
  120.0000    0.6100    0.0168
  125.0000    0.2900    0.0072
  130.0000    0.1500    0.0028
  135.0000    0.0800    0.0016
  140.0000    0.0500    0.0004
  145.0000    0.0300       NaN

que sigue sin ser totalmente satisfactorio (nótese que he tomado un factor de descuento unitario, a falta de datos relevantes).

Yo recomendaría utilizando sólo las opciones OTMF para obtener mejores resultados. Es decir, utilizar las opciones de compra para los strikes $K \geq F(0,T)$ (donde se ve que el pdf se comporta relativamente bien) y las opciones de venta para los strikes $K < F(0,T)$ .

0 votos

Gracias por su respuesta. Por favor, mire mi edición. ¿Podría aclarar qué significa tratar con últimos precios ? P.D. Los datos de la primera tabla han cambiado (no hay probabilidades negativas) porque he actualizado los precios actuales del mercado

0 votos

He añadido algunas aclaraciones. Espero que esto ayude.

0 votos

@Quantuple Esto es un tiro largo porque esto es 4 años de edad, pero ¿es posible que tenga el código fuente de Python o R que utilizó para esto? Sería de gran ayuda. Pregunta al margen: En la primera fórmula que puedes usar cuando tus golpes están constantemente espaciados, ¿cuál es la diferencia entre y ? ¿No son ambos simplemente el delta de la Opción? Y perdona, ¿te importaría explicar qué representa la probabilidad q(St = K)? No lo he entendido. Gracias de antemano.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X