Esto es problemático por un par de razones.
Resumiendo, ¿tienes alguna estrategia de trading para la que estás simulando el rendimiento en un periodo de 200 días 200 veces? ¿También está simulando los datos de rendimiento para producir las 200 trayectorias diferentes entonces (?). Tradicionalmente, para el backtesting utilizamos un conjunto de datos históricos reales para el activo en cuestión, no rendimientos simulados que, obviamente, están sujetos a todos sus supuestos de simulación. El uso de rendimientos simulados básicamente anula el objetivo del backtesting, ya que en realidad estás creando nuevos activos con tus rendimientos simulados.
Aparte de eso, no está claro qué unidades hay en ninguna de tus variables. ¿Su columna de "recompensa" es simplemente PnL en cada una de sus posiciones de entrada/salida? Tradicionalmente, reunimos el PnL o la rentabilidad en algún intervalo específico CONSISTENTE (por ejemplo, diario o mensual) antes de calcular cualquier cosa relacionada con Sharpe. Además, ¿cuáles son las unidades de rf. 3...%?
0 votos
Suponiendo que usted está tratando de determinar su máximo ratio de Sharpe para una cartera de activos, 200 iteraciones es demasiado pequeño. No creo que nunca use menos de 100k iteraciones cuando hago cualquier optimización, ya sea una optimización de la media-varianza o algo más robusto. Sin más información, no hay manera de saber si sus rendimientos son correctos o no. Lo habitual es anualizar el Sharpe. Siendo que estás tomando la media de lo que parece ser una serie de pandas dataframe, asumo que no ha sido anualizada... necesitas usar retornos anualizados y volatilidad anualizada.