Las simulaciones de Montecarlo son una herramienta imprescindible para explorar el reino de lo posible y aprender del futuro.

Pasted image 20231114131145.png

Aprender del Futuro: Las simulaciones de Montecarlo permiten «aprender del futuro» al crear múltiples escenarios hipotéticos. Estos modelos pueden proyectar una amplia gama de resultados posibles en situaciones inciertas, permitiendo a los planificadores y analistas anticipar y prepararse para diferentes contingencias. En el contexto empresarial, por ejemplo, estas simulaciones pueden ayudar en la planificación estratégica y en la evaluación de riesgos, proporcionando una visión más clara de lo que podría suceder en el futuro bajo diferentes condiciones.

Historia y Evolución: La metodología de Montecarlo fue desarrollada durante la Segunda Guerra Mundial por científicos trabajando en el desarrollo de la bomba atómica durante la Segunda Guerra Mundial en el Laboratorio Nacional de Los Álamos en EE. UU . Su objetivo era simplificar la solución de problemas físicos complejos que eran prácticamente imposibles de resolver con métodos analíticos tradicionales. Desde entonces, estas simulaciones han evolucionado considerablemente, aprovechando los avances en la computación para realizar análisis aún más complejos y detallados.

Trading y Backtesting: Herramientas para el Mercado Financiero: En el ámbito financiero, las simulaciones de Montecarlo son importantes para el trading y el backtesting. Los traders e inversores las utilizan para modelar la volatilidad de los precios de los activos y para desarrollar estrategias de inversión. Al ejecutar backtesting, los quant pueden simular cómo habrían funcionado las estrategias en diferentes períodos históricos, con las simulaciones de Montecarlo pueden simular como se comportarán en el futuro.

Desafíos y Limitaciones: A pesar de su utilidad, las simulaciones de Montecarlo tienen limitaciones. La calidad de los resultados depende en gran medida de la calidad de los datos de entrada y de las hipótesis subyacentes. Además, estos modelos pueden ser susceptibles a errores si no se entienden correctamente las variables y los procesos que se están simulando.

Simulación de Montecarlo: Golden Cross BTC-USDT:

Un Golden Cross es un patrón de gráfico en el que una media móvil de corto plazo (como la de 50 días) cruza por encima de una de largo plazo (como la de 200 días)

Para realizar la simulación de Montecarlo utilizo la libreria ‘pandas_montecarlo’ y descargo los datos de yahoo finance

Los pasos són los siguientes:

  1. Descargar la cotización diaria de los últimos 8 años de BTC-USD de Yahoo Finance
  2. Calcular las medias móviles simples de 50 y 200 períodos
  3. Generar una señal de cruce cuando se crucen las medias.
  4. Aplicar la regla de trading. Comprar con el cruce si la posición está a 0 o vender si la hay posición.
  5. Definimos el número de simulaciones, objetivo y bancarrota (porcentaje donde consideramos la estrategia como un fiasco)
  6. Generamos el gráfico y mostramos los resultados.
import pandas_montecarlo
import numpy as np
import yfinance as yf
import datetime  

# Definimos el ticker, fecha de inicio y fecha de fin de la cotización de Bitcoin
ticker = "BTC-USD"
start = datetime.datetime.now() - datetime.timedelta(days=365 * 8)
end = datetime.datetime.now()  

# Descargamos cotizacion diaria de datos de BTC-USD de los últimos 8 años
data = yf.download(ticker, start=start, end=end)  

# Calculamos las medias móviles
data["SMA50"] = data["Close"].rolling(window=50).mean()
data["SMA200"] = data["Close"].rolling(window=200).mean()  

# Generamos la señal del 'Golden Cross'
data["signal"] = 0
data["signal"][50:] = np.where(data["SMA50"][50:] > data["SMA200"][50:], 1, 0)  

# Calculamos los rendimientos
data["return"] = data["Close"].pct_change().fillna(0)
data["strategy_return"] = data["return"] * data["signal"].shift()  

# Calculamos el rendimiento de la estrategia aplicando montecarlo en n simulaciones
mc = data["strategy_return"].montecarlo(sims=10000, bust=-0.5, goal=1)  

# Graficamos el rendimiento de la estrategia
mc.plot(title="Simulación de Montecarlo para Golden Cross en BTC-USD")  

# Imprimimos las estadísticas de la simulación
print(mc.stats)

Conclusiones

La senyales de Golden Cross funciona bien en entornos alcistas, pero tendríamos que compararlo con el retorno de hacer hold en el mismo periodo.
De los resultados de la simulación vemos que hay una probabilidad de quiebra del 10% y de conseguir el objetivo del 90%. Definiendo un objetivo de 1X (doblar el capital inicial) y la quiebra en el 50% del capital. Que cada unos saque sus propias conclusiones.

Leave a Reply

Your email address will not be published. Required fields are marked *