Cobertura delta algorítmica de Black-Scholes

Mantener una cartera libre de riesgos con opciones europeas

Derivados financieros

Los derivados financieros brindan la oportunidad de especular y cubrir un activo subyacente. Las opciones son uno de esos instrumentos, comúnmente utilizados para cubrir la exposición de la cartera. Hay diferentes tipos de opciones europeas : ejercicio al vencimiento, americano : ejercicio durante toda la vida de la opción, bermudas : ejercicio en fechas establecidas durante toda la vida de opción; en este caso estaremos analizando opciones europeas. La efectividad de la cobertura se decide por los supuestos del modelo y el método utilizado para fijar el precio del derivado, y la frecuencia del reequilibrio de la cartera para mantener la cobertura. Si se usara un árbol binomial de paso único para calcular un delta para un contrato de opción, establecer una cartera basada en ese delta y actualizar la cartera con respecto a ese delta todos los meses para mantener una libre de riesgo cartera (una cartera cubierta) el resultado sería muy diferente de una persona que utiliza el modelo de Black-Scholes para calcular un delta cada tick y actualizar la cartera con respecto al delta cada tick para mantener un riesgo cartera gratis. Aquí es donde entra en juego la cobertura algorítmica, mediante el uso de principios similares de la negociación algorítmica, podemos establecer y mantener una cartera efectiva libre de riesgo hasta que tengamos el derecho de ejercer nuestra opción. Este artículo está destinado a actuar como una especie de resumen, ya que se reconocerá que, en la práctica, los costos de transacción obstaculizan la capacidad de realizar una cobertura continua. Todo el código de este artículo se puede encontrar en mi github aquí. Este artículo se dividirá en las siguientes secciones …

Movimiento browniano geométrico

Primero, necesitamos una forma no lineal de modelar el comportamiento del activo subyacente de la opción. Este modelo debe ser consistente con los precios empíricos de las acciones y la hipótesis del mercado eficiente. El movimiento browniano geométrico es una caminata aleatoria con un término de deriva, que mantiene la naturaleza estocástica del modelo de caminata aleatoria con crecimiento como se observa en los precios históricos de las acciones.


El movimiento browniano geométrico se puede visualizar de una manera relativamente simple. La línea de tendencia exponencial representa el término de deriva, mientras que las flechas que muestran las desviaciones de la tendencia representan el movimiento browniano. Las desviaciones estocásticas de la línea de tendencia (movimiento browniano) intenta capturar cambios en la información del activo que se modela. El término de deriva se puede predecir, ya que los precios de los activos históricos ayudan a calcular un valor para mu, pero el término de movimiento browniano no se puede predecir, ya que la información que captura (buena, mala, neutral) es generalmente aleatoria. Afortunadamente, este término puede describirse mediante una distribución normal con una media de cero y una varianza de Delta-T.

El movimiento browniano geométrico nos ayuda a explicar el comportamiento del activo subyacente, capturando el crecimiento del activo a lo largo del tiempo y al mismo tiempo modelando sus características estocásticas. Ahora que sabemos cómo modelar el activo subyacente, podemos comenzar a modelar los derivados que representan.

Árboles binomiales

Los árboles binomiales se pueden usar para aproximar el precio de cualquier derivado usando pasos de tiempo discretos. Antes de pasar al tiempo continuo e implementar el delta para la cobertura, es útil comprender cómo se deriva realmente delta. Esta es esencialmente la prueba delta que tuve en un examen de precios de derivados en la universidad. Considere una cartera corta una unidad de un derivado y acciones delta de acciones.

Ahora que la cartera está definida, la valoramos con un árbol binomial de un paso.

Este árbol binomial ilustra el valor de la cartera en dos casos: un aumento del precio de las acciones y una disminución del precio de las acciones por algún cambio arbitrario en el tiempo. El valor de la cartera en el aumento del precio de las acciones y la disminución del precio de las acciones se pueden establecer equivalentes entre sí resolviendo para delta.

Delta nos dice la cantidad de acciones necesarias para crear una cartera libre de riesgos.

Usando un árbol binomial de un solo paso, obtuvimos delta, esta es la cantidad de acciones que debemos invertir en el activo subyacente para crear una cartera libre de riesgo. Ahora, debido a que nuestra cartera no tiene riesgo, debe ganar la tasa libre de riesgo, de lo contrario existirá el arbitraje, y ese agujero de conejo conduce a resolver el valor de la derivada utilizando un árbol binomial. Por ahora vamos a divagar y avanzar con esta nueva intuición comprobada de delta y una cartera sin riesgo solo en tiempo continuo.

Precios de las opciones europeas de Black-Scholes

La precisión de los precios de un árbol binomial depende del número de pasos de tiempo discretos. A medida que aumenta el número de pasos de tiempo discretos, el cambio en el tiempo (Δt) se acerca a cero y el precio del árbol binomial converge con el precio dado por el modelo de Black-Scholes.

El modelo de Black-Scholes para los precios de opciones europeas nos brinda la capacidad de calcular un precio y un delta más precisos en tiempo continuo. La prueba del modelo de Black-Scholes es extensa con una variedad de suposiciones y lemas, así que iré a una explicación de la ecuación.

Este es el modelo de Black-Scholes para el precio de las opciones europeas. Sin profundizar en la ecuación diferencial parcial fundamental, el delta de la opción en tiempo continuo viene dado por …

La derivada parcial del valor de la opción con respecto al precio del activo subyacente nos indica el cambio incremental en tiempo continuo para crear una cartera libre de riesgos. Afortunadamente, tenemos la intuición de qué es delta en tiempo discreto, lo que facilita su interpretación en tiempo continuo.

Cobertura delta algorítmica

Ahora que sabemos cómo modelar el activo subyacente, comprender el valor delta y valorar una opción utilizando el modelo Black-Scholes, podemos implementar estas ecuaciones en Python para ayudar con los problemas de gestión de la cartera en tiempo real. Podemos empezar creando clases para convocatorias y colocaciones europeas…

Ahora podemos ejecutar este código en un bucle infinito con una fuente de datos de una casa de bolsa recuperando parámetros cada tick para el análisis de opciones en vivo. Para obtener información sobre esta parte del proceso, consulte mi artículo sobre Desarrollo de sistemas de negociación algorítmica. Este es el proceso de cobertura algorítmica delta, ya que delta cambia cada tick (como se ve en el gráfico a continuación) reajustamos nuestra cobertura cambiando la cantidad de acciones que tenemos en el activo subyacente para que coincida con el nuevo delta. Sin embargo, existe una falla fatal en este proceso por los supuestos del modelo: sin costos de transacción . Si reajustamos nuestra cobertura cada tick, estaremos sujetos a costos de transacción por parte de la casa de bolsa, lo que generará una pérdida inmensa.

Además de las clases de opciones europeas, escribí una clase de gráficos en vivo usando Matplotlib para que puedas visualizar tus opciones. Se pueden hacer pequeñas modificaciones a esta clase para graficar opciones en vivo desde una cuenta de corretaje.

<×Conclusion

Este artículo ha mostrado la cobertura delta algorítmica utilizando el modelo de Black-Scholes y la intuición de árboles binomiales para mantener una cartera libre de riesgos. Es obvio, ya que el precio del activo subyacente cambia, el delta de la opción también cambia. Se muestra que, en teoría, la cobertura de una cartera en tiempo continuo es la mejor manera de mantener una cobertura casi perfecta, sin embargo, en la práctica, la cobertura continua no es posible debido a los costos de transacción de los reajustes de la cartera. Existe una variedad de posibles soluciones, ya que esto representa mejor un problema de optimización. Una posible solución sería realizar simulaciones de Monte Carlo en una colección de opciones para determinar un punto óptimo de cobertura mediante la optimización de alguna función de utilidad. Otra sería combinar las simulaciones de Monte Carlo con el aprendizaje por refuerzo para entrenar una red neuronal para operar en el punto óptimo de cobertura.