• About
  • Disclaimer
  • Politica de Privacidad
Python Para Trading
  • Home
No Result
View All Result
  • Home
No Result
View All Result
Python Para Trading
No Result
View All Result

Estimadores de Volatilidad

Estimadores de Volatilidad en Python Trading

En este artículo, vamos a explorar los estimadores de volatilidad más ampliamente utilizados en el ámbito del trading. Explicaremos tanto sus ventajas como sus limitaciones y proporcionaremos cualquier otra información relevante. Además, para poner en práctica estos conceptos, presentaremos una implementación en el lenguaje de programación Python.

Indice
1) Estimadores de Volatilidad : Close to Close (C2C)
1.1) Fórmula del Close to Close.
2) Consideraciones Estimadores
3) Codigo Python Estimador
4) Resultados

Es importante tener en cuenta que la elección del estimador de volatilidad puede variar según el activo y el marco de tiempo que se esté analizando. No es adecuado evaluar un activo utilizando el enfoque de volatilidad “close to close” (C2C), que captura la volatilidad diaria completa, cuando se trata de una operación que ha durado solo unos pocos minutos en el mercado. Para estos casos, es necesario utilizar un estimador de volatilidad más apropiado.

El objetivo final de este artículo es lograr un mejor entendimiento de los métodos de decisión para utilizar un estimador.

Estimadores de Volatilidad : Close to Close (C2C)

Para comenzar con los estimadores, el punto de partida es el estimador de volatilidad “Close to Close” (C2C), el cual incorpora en su cálculo la variación desde el cierre del día anterior hasta el cierre del día actual. Se basa en una función de intervalo de tiempo fijo, donde cada punto tiene la misma duración, lo cual es la forma más común de medir la volatilidad.

Es la forma más natural e intuitiva de medir la volatilidad de un activo. Aunque no está claramente definido quién formuló por primera vez la noción de volatilidad o este estimador, uno de los nombres que ha estado estrechamente relacionado con el estudio de la volatilidad desde sus inicios es el de Louis Bachelier, un matemático francés que en 1900 presentó su Teoría de la especulación. En esta teoría, Bachelier incluyó el uso de las diferencias entre los precios de cierre como un indicador de volatilidad, entre otros métodos.

Más adelante, alrededor de 1960, Paul Samuelson y Robert C. Merton, en sus investigaciones, se centraron en la creación de un método de valoración de opciones financieras que ha perdurado hasta nuestros días, conocido como el método Black-Scholes. Una de las contribuciones más disruptivas de la publicación de este modelo fue considerar la volatilidad como un factor crucial en la determinación del precio de una opción. Este enfoque revolucionario reconoció que la volatilidad del activo subyacente desempeña un papel fundamental en la valoración de las opciones financieras.

Otro nombre relevante en el desarrollo de la formulación matemática de la volatilidad es Robert Engle, quien desarrolló el modelo ARCH (Autoregressive Conditional Heteroskedasticity) en la década de 1980. El modelo ARCH representó un avance significativo en la modelización de la volatilidad. Este enfoque permitió capturar y modelar las fluctuaciones cambiantes en la volatilidad a lo largo del tiempo, reconociendo así la naturaleza heteroscedástica de la volatilidad en los datos financieros. El modelo ARCH y sus posteriores extensiones han sido ampliamente utilizados en la estimación y predicción de la volatilidad en los mercados financieros.

Fórmula del Close to Close.

$$
\sigma_{c2c}=\sqrt{\frac{1}{N} \sum_{i=1}^{N} x_{i}^{2}}
$$

Donde:

$N$ – Numero de dias en la muestra

$x$ – Retorno en el dia

Consideraciones Estimadores

Esta fórmula es ampliamente utilizada debido a su simplicidad en el cálculo, aunque no tiene en cuenta ciertas dinámicas que suelen presentarse en los mercados financieros. Los dos supuestos clave son:

  • Los rendimientos no tienen por qué tener autocorrelación entre ellos (no hay que asumir tendencia o regresión a la media).
  • Algunos activos se operan en tiempo discreto (intervalos fijos), esto permite aprovechar una estructura de varianza de volatilidad, lo que solo es posible si se participa en la subasta previa ofrecida por el bróker, generalmente 15 minutos antes de apertura.

El primer supuesto es generalmente confiable, pero el segundo supuesto es inexacto en aproximadamente el 99% de los casos, ya que rara vez se utilizan intervalos de tiempo discretos o fijos. Un ejemplo ilustrativo es el caso de los operadores que solo operan al cierre o apertura del mercado, o en momentos de liquidez similar. Estos operadores suelen estar interesados en tomar posiciones con el día cerrado, como en el caso de los volswaps/varswaps.

Codigo Python Estimador

Vamos a crear un código, Que calcule la volatilidad Close to Close de un activo, en un periodo determinado. Para ello, vamos a utilizar las librerías básicas de Python como son:

  • pandas: Como base de todo. Utilizaremos los dataframes, y las funciones building, para ganar simplicidad, estabilidad y fluidez.
  • numpy: Utilizaremos matrices para transformar ágilmente la data, al tener una integración total con pandas, simplifica toda la labor al usuario
  • yfinance: Descargaremos la data en cierre diario, la necesaria para el cálculo de nuestra volatilidad close to close de Yahoo, mediante la librería yfinance. Que tiene total integración con pandas.

Gracias a estas librerías, podemos realizar los cálculos, en unas simples líneas.

### QUANTARMY 2023 - [jcx@QA]#
### GNU PUBLIC LICENSE CODE 

#IMPORTS
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 
import yfinance as yf

#INPUTS
T = 100
s = 'GME'

#Descarga de datos
data = yf.download(s)[['Adj Close']].dropna()

#Calculo de la volatilidad Close to Close (C2C)
data['c2c'] = np.sqrt(252) * pd.DataFrame.rolling(np.log(data.loc[:, 'Adj Close'] / data.loc[:, 'Adj Close'].shift(1)),
                                            window=T).std().values
Python

En la sección de imports, cargamos todas las librerías necesarias. En la sección de inputs, seleccionamos el período (T) para el cálculo de la volatilidad y el activo (s) que queremos calcular.

Posteriormente, hacemos una llamada a yf.download para descargar la columna ‘Adj Close’ del ticker s, en este caso ‘GME’. Además, especificamos que queremos eliminar los valores NA.

Una vez tenemos un dataframe en formato de series temporales con los precios de cierre ajustados del activo s, creamos una nueva columna llamada ‘C2C’ donde realizamos los cálculos matemáticos. Comenzamos calculando el logaritmo de la razón del cierre de ayer respecto al de hoy. Luego, aplicamos una ventana rodante de T días y calculamos su desviación estándar utilizando .std(). La terminación .values se incluye para evitar problemas con los índices y solo incluir los valores numéricos en el cálculo.

Resultados

estimadores de volatilidad, close to close

Calculo de la volatilidad Close To Close con el codigo explicado anteriormente

https://core.ac.uk/download/pdf/52391988.pdf

jcx@QA

jcx@QA

Quantitative Trading - Portfolio Manager | Python - Rust | Markets are quite random.

Contenido Relacionado

Bancos Centrales y Política Monetaria en Python - Enric Jaimez
Econometria

Bancos Centrales y Política Monetaria en Python

17/07/2023

En el complejo ámbito de la economía y la política monetaria, es fundamental contar con la capacidad de analizar y...

Trading Procesos Estocásticos para Python - Movimiento Browniano
Econometria

Procesos Estocásticos – Paseos Aleatorios

04/07/2023

Según Wikipedia, se define un proceso estocástico como: En la teoría de la probabilidad, un proceso estocástico es un concepto...

Trading Volatility Targeting Python - Método de Volatility Targeting
Modeling

Volatility Targeting en Python

04/07/2023

Introduccion al Volatility Targeting En este estudio, nos proponemos implementar una técnica de Volatility Targeting en Python partiendo de cero....

PYTHON PARA TRADING IS A PROPERTY OF QUANTARMY LTD

  • UnEspeculador

© 2020-2023 QUANTARMY. RISK DISCLOSURE. Todo el material publicado en este portal, NO debe interpretarse como recomendaciones de inversion. Los autores pueden tener posiciones en los mismos. Toda la informacion contenida, es de caracter divulgativo y educativo. NUNCA DEBE CONSIDERARSE COMO RECOMENDACION DE INVERSION. Retornos pasados no garantizan retornos futuros.

No Result
View All Result
  • Acceder | Salir
  • Marathon

© 2020-2023 QUANTARMY. RISK DISCLOSURE. Todo el material publicado en este portal, NO debe interpretarse como recomendaciones de inversion. Los autores pueden tener posiciones en los mismos. Toda la informacion contenida, es de caracter divulgativo y educativo. NUNCA DEBE CONSIDERARSE COMO RECOMENDACION DE INVERSION. Retornos pasados no garantizan retornos futuros.

error: Content is protected !!
en QA utilizamos cookies. Para continuar navegando en este website necesitas aceptar nuestra politica de cookies.