El control del riesgo es una habilidad que todo inversor necesita aprender. Con el mercado de criptomonedas en rápido cambio y evolución, los operadores algorítmicos deben centrarse especialmente en la gestión del riesgo. Esto se debe a que el comercio algorítmico a menudo ejecuta operaciones automáticamente basándose en datos históricos y modelos estadísticos, que pueden volverse rápidamente inexactos en mercados de rápido movimiento. Por lo tanto, las estrategias efectivas de gestión del riesgo son cruciales para proteger el capital de los inversores.
Entre muchas herramientas de gestión de riesgos, el Value at Risk (VaR) es una medida de riesgo ampliamente utilizada. Puede ayudar a los inversores a predecir la pérdida máxima que podría ocurrir en condiciones normales de mercado en su cartera.
VaR, o
Es fácil de entender.Por ejemplo, el 95% de Value Ratio de un día de una cartera de moneda digital es de $5000, lo que significa que hay una confianza del 95% de que la pérdida de la cartera dentro de un día no excederá los $5000. Cuantificar los riesgos complejos en un número intuitivo hace que sea fácil de entender para los no profesionales.
Relativamente estándar: Supongamos que hay dos carteras A y B, con A
Instrumento de toma de decisionesSi la adición de un activo aumenta significativamente el valor del VaR, entonces puede sugerir que el riesgo del activo añadido no coincide con el nivel de riesgo aceptable de la cartera.
Ignorar el riesgo de colaEn el campo de la moneda digital, los eventos de cisne negro son frecuentes y las situaciones extremas pueden superar las expectativas de la mayoría de las personas, porque el VaR no considera los eventos de cola.
Limitaciones de las suposiciones: El parámetro VaR a menudo asume que los rendimientos de los activos están distribuidos normalmente, lo que rara vez ocurre en los mercados reales, especialmente en los mercados de divisas digitales. Por ejemplo, supongamos que una cartera solo contiene Bitcoin. Usamos el parámetro VaR y asumimos que el rendimiento de Bitcoin está distribuido normalmente. Sin embargo, en realidad, la tasa de rendimiento de Bitcoin puede experimentar grandes saltos durante ciertos períodos y mostrar fenómenos de agrupación de volatilidad significativos. Si ha habido una alta volatilidad durante la semana pasada, la probabilidad de una volatilidad notable en el período siguiente aumentará significativamente. Esto puede conducir a una subestimación del riesgo por los modelos de distribución normales.
Dependencia histórica: El modelo VaR se basa en datos históricos para predecir riesgos futuros. Sin embargo, el rendimiento pasado no siempre indica situaciones futuras, especialmente en mercados que cambian rápidamente como el mercado de divisas digitales. Por ejemplo, si Bitcoin ha sido muy estable durante el último año, una simulación histórica podría predecir un VaR muy bajo. Sin embargo, si hay un cambio regulatorio repentino o un colapso del mercado, los datos pasados ya no serán un predictor efectivo de riesgos futuros.
Hay principalmente tres métodos para calcular el VaR: Método paramétrico (Método de variación-covarianza): Esto supone que la tasa de rendimiento sigue una cierta distribución (generalmente distribución normal), y usamos la media y la desviación estándar de la tasa de rendimiento para calcular el VaR. Método de simulación histórica: No hace suposiciones sobre la distribución de rendimientos, pero utiliza datos históricos directamente para determinar las distribuciones de pérdidas potenciales.
El Método de Simulación Histórica utiliza los cambios de precios pasados directamente para estimar posibles pérdidas futuras.
Por ejemplo, si queremos calcular el 95% de VaR de 1 día para una posición spot de Bitcoin, podemos hacer esto:
A continuación se muestra un código específico que ha obtenido datos de los últimos 1000 días, calculando que el VaR actual para mantener un spot de BTC es de 1980 USDT.
import numpy as np
import requests
url = 'https://api.binance.com/api/v3/klines?symbol=%s&interval=%s&limit=1000'%('BTCUSDT','1d')
res = requests.get(url)
data = res.json()
confidence_level = 0.95
closing_prices = [float(day[4]) for day in data]
log_returns = np.diff(np.log(closing_prices))
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * closing_prices[-1] * 1
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
Cuando se calcula el VaR de una cartera que contiene múltiples activos, hay que tener en cuenta la correlación entre estos activos. Si hay una correlación positiva en los cambios de precios entre activos, entonces el riesgo de la cartera aumentará; si está negativamente correlacionado, entonces el riesgo de la cartera disminuirá.
Cuando usamos el método de simulación histórica para calcular el VaR considerando la correlación, necesitamos recopilar no solo los rendimientos históricos de cada activo individual, sino también considerar su distribución conjunta. En la práctica, puede usar los rendimientos históricos de su cartera para ordenar y calcular directamente, porque estos rendimientos ya incluyen implícitamente correlaciones entre activos. En los mercados de criptomonedas, la correlación es especialmente importante con BTC esencialmente liderando las tendencias del mercado. Si BTC sube al alza, es probable que otras criptomonedas también suban; si BTC aumenta rápidamente o se desploma debido al mercado que cambia rápidamente, esto podría causar aumentos significativos a corto plazo en la correlación, algo que es particularmente común durante los eventos extremos del mercado. Por lo tanto, el método de simulación histórica es una herramienta útil al considerar las carteras de inversión de monedas digitales.
Por ejemplo: manteniendo 1 posición larga en BTC y 10 posiciones cortas en ETH
confidence_level = 0.95
btc_closing_prices = np.array([float(day[4]) for day in btc_data])
eth_closing_prices = np.array([float(day[4]) for day in eth_data])
btc_log_returns = np.diff(np.log(btc_closing_prices))
eth_log_returns = np.diff(np.log(eth_closing_prices))
log_returns = (1*btc_log_returns*btc_closing_prices[1:] - 10*eth_log_returns*eth_closing_prices[1:])/(1*btc_closing_prices[1:] + 10*eth_closing_prices[1:])
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * (btc_closing_prices[-1] * 1 + eth_closing_prices[-1]*10)
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
El resultado es de 970 USDT, lo que significa que el riesgo de esta combinación es menor que el de mantener los respectivos activos por separado.
Este artículo presentará un método de evaluación de riesgos altamente adaptable, a saber, la aplicación de la simulación histórica en el cálculo de VaR, así como cómo considerar las correlaciones de activos para optimizar la predicción de riesgos. A través de ejemplos específicos del mercado de divisas digitales, explica cómo usar la simulación histórica para evaluar los riesgos de cartera y discute métodos para calcular VaR cuando las correlaciones de activos son significativas. Con este método, los operadores algorítmicos no solo pueden estimar su pérdida máxima en la mayoría de las situaciones, sino también estar preparados para condiciones extremas de mercado. Esto les permite operar con más calma y ejecutar estrategias con precisión.