
Controlar los riesgos es una habilidad que todo inversor debe aprender. Frente a un mercado de divisas digitales que cambia y evoluciona con mayor rapidez, los operadores algorítmicos deben prestar especial atención a la gestión de riesgos. Esto se debe a que el trading programático a menudo automatiza las transacciones basándose en datos históricos y modelos estadísticos, y en mercados que cambian rápidamente, estos modelos pueden volverse rápidamente inexactos. Por lo tanto, una estrategia de gestión de riesgos eficaz es esencial para proteger el capital de los inversores.
Entre muchas herramientas de gestión de riesgos, el Valor en Riesgo (VaR) es un método de medición de riesgos ampliamente utilizado que puede ayudar a los inversores a predecir la pérdida máxima que puede ocurrir en una cartera de inversiones en condiciones normales de mercado. El VaR puede cuantificar el riesgo en un único número, simplificando la declaración de riesgo y permitiendo a los inversores comprender intuitivamente las pérdidas potenciales.
El VaR, o “valor en riesgo”, se utiliza para cuantificar la máxima pérdida posible que se puede soportar dentro de un cierto período de tiempo y con un cierto nivel de confianza. En otras palabras, le dice a los inversores o administradores de riesgos: “¿Cuánto dinero tenemos que está dentro del rango ‘seguro’ en condiciones normales de mercado y no se perderá mañana?”. Por ejemplo, si una moneda digital The 1-day 99 El % VaR de la cartera es\(10.000, lo que significa que en el 99% de los casos, esperamos que la pérdida en un día no sea mayor a\)10,000。
Fácil de entenderPor ejemplo, el VaR del 95% para una cartera de criptomonedas para un día es\(5000, lo que significa que hay un 95% de confianza en que la cartera no perderá más de\)5000. Cuantifique riesgos complejos en un número intuitivo que sea fácil de entender para los no profesionales. Por supuesto, esto es inevitablemente engañoso.
Estándares de comparación: Supongamos que hay dos carteras A y B, y que el VaR del 95 % a 1 día de A es\(3000, mientras que B\)6000. Esto significa que, en condiciones normales de mercado, A es menos riesgoso que B. Aunque ambas carteras contienen activos diferentes, podemos comparar directamente sus niveles de riesgo. De la misma manera, también se puede juzgar el nivel de inversión. Si los rendimientos de las estrategias A y B en el último mes son ambos$6000, y los valores VaR promedio y máximo de A son significativamente menores que los de B. Podemos concluir que la estrategia A es mejor y puede lograr mayores retornos con un menor nivel de riesgo.
Herramientas para la toma de decisiones:Un comerciante podría usar el VaR para decidir si agregar un nuevo activo a una cartera. Si la adición de nuevos activos aumenta significativamente el VaR, esto puede significar que el riesgo de los nuevos activos no coincide con el nivel de tolerancia al riesgo de la cartera.
Ignorando los riesgos de cola: Si el VaR del 99 % de 1 día de una cartera es$10.000, la pérdida en ese caso extremo del 1% puede superar con creces este valor. En el campo de las monedas digitales, los eventos de cisne negro son frecuentes y las situaciones extremas superarán las expectativas de la mayoría de las personas porque el VaR no tiene en cuenta los eventos de cola.
Supuestos:El VaR paramétrico generalmente supone que los rendimientos de los activos se distribuyen normalmente, lo que rara vez es cierto en los mercados reales, especialmente en el mercado de criptomonedas. Por ejemplo, asumiendo una cartera con solo Bitcoin, utilizamos el parámetro VaR y asumimos que los retornos de Bitcoin se distribuyen normalmente. Pero, de hecho, la tasa de retorno de Bitcoin puede experimentar grandes saltos en ciertos períodos, y existe un fenómeno obvio de agregación de volatilidad. Por ejemplo, si la volatilidad fue muy alta en la última semana, la probabilidad de una volatilidad significativa en la próxima La semana aumentará mucho, lo que hará que el modelo de distribución normal subestime el riesgo. Hay modelos que tienen en cuenta esta cuestión, como el GARCH, que no vamos a tratar hoy.
Dependencia histórica:El modelo VaR se basa en datos históricos para predecir riesgos futuros. Sin embargo, el rendimiento pasado no siempre es indicativo del rendimiento futuro, especialmente en un mercado que cambia rápidamente como el mercado de las criptomonedas. Por ejemplo, si Bitcoin hubiera sido muy estable durante el último año, el método de simulación histórica podría predecir un VaR muy bajo. Sin embargo, si se produce un cambio regulatorio repentino o una caída del mercado, los datos pasados ya no serán un predictor válido del riesgo futuro.
Existen tres métodos principales para calcular el VaR: Método paramétrico (método de varianza-covarianza): Suponiendo que la tasa de rendimiento sigue una distribución determinada (normalmente una distribución normal), la media y la desviación estándar de la tasa de rendimiento se utilizan para calcular el VaR. . Método de simulación histórica: no haga suposiciones sobre la distribución de rendimientos y utilice directamente datos históricos para determinar la distribución de pérdidas potenciales. Simulación de Monte Carlo: utilice trayectorias de precios generadas aleatoriamente para simular los precios de los activos y calcular el VaR a partir de ellos.
Método de simulación histórica Este método utiliza directamente los cambios de precios pasados para estimar posibles pérdidas futuras. No requiere ninguna suposición sobre la distribución del rendimiento y, por lo tanto, es adecuado para activos con distribuciones de rendimiento desconocidas o anormales, como las monedas digitales.
Tomando como ejemplo una posición spot de Bitcoin, si queremos calcular el VaR del 95% de 1 día de esta cartera, podemos hacerlo así:
El siguiente es un código específico que obtiene datos de los últimos 1000 días y calcula que el VaR de mantener un spot de BTC es actualmente 1980USDT.
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}")
Al calcular el VaR de una cartera que contiene múltiples activos, debemos tener en cuenta la correlación entre los activos. Si los cambios de precios entre activos están correlacionados positivamente, el riesgo de la cartera aumentará; si están correlacionados negativamente, el riesgo de la cartera disminuirá.
Al calcular el VaR con correlaciones utilizando el método de simulación histórica, no solo necesitamos recopilar los rendimientos históricos de cada activo individual, sino también considerar la distribución conjunta de los rendimientos de estos activos. En la práctica, se pueden utilizar directamente los rendimientos históricos de la cartera para ordenar y realizar los cálculos, porque estos rendimientos ya implican la correlación entre los activos. En el mercado de criptomonedas, la correlación es particularmente importante. Básicamente, BTC es el líder del mercado. Si BTC se vuelve alcista, aumentará la probabilidad de que otras criptomonedas suban. Si BTC sube o baja bruscamente, el sentimiento del mercado puede cambiar rápidamente, lo que conducirá a Las correlaciones aumentan significativamente en períodos cortos de tiempo, lo que es particularmente común durante eventos extremos del mercado. Por lo tanto, el método de simulación histórica es una herramienta útil a la hora de considerar el VaR de una cartera de criptomonedas. No requiere modelos estadísticos complejos, sólo datos históricos válidos, e incorpora naturalmente correlaciones entre activos.
Tomando como ejemplo la tenencia de 1 posición larga de BTC y 10 posiciones cortas de ETH, según el método anterior, se puede calcular que el VaR de las 10 posiciones cortas de ETH es 1219USDT. Cuando se combinan estos dos activos, el VaR se calcula de la siguiente manera:
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 970 USDT, lo que significa que el riesgo de esta combinación es menor que el de mantener los activos correspondientes por separado. Esto se debe a que las condiciones de mercado de BTC y ETH están altamente correlacionadas y el efecto de cobertura de la combinación de posiciones largas y cortas reduce el riesgo. .
Este artículo presentará un método de evaluación de riesgos adaptable, concretamente la aplicación de la simulación histórica para calcular el VaR, y cómo considerar la correlación entre activos para optimizar la predicción de riesgos. A través de ejemplos específicos del mercado de criptomonedas, este documento explica cómo utilizar la simulación histórica para evaluar el riesgo de la cartera y analiza métodos para el cálculo del VaR cuando la correlación de activos es significativa. Gracias a este enfoque, los traders programáticos no solo pueden estimar la pérdida máxima en la mayoría de los casos, sino que también pueden estar preparados para condiciones extremas del mercado, lo que les permite estar más tranquilos al operar y ejecutar estrategias con precisión.