Mi pregunta es sobre el número requerido de simulaciones para el método de análisis de Monte Carlo. Hasta donde veo, el número requerido de simulaciones para cualquier error porcentual permitido (por ejemplo, 5) es n = { 100 ⋅ z c ⋅ std ( x )
donde es la desviación estándar del muestreo resultante, y es el coeficiente de nivel de confianza (por ejemplo, para el 95% es 1,96). De esta manera, es posible verificar que la media y la desviación estándar resultantes de simulaciones representan la media real y la desviación estándar con un nivel de confianza del 95%.z c n
En mi caso, ejecuto la simulación 7500 veces, y calculo las medias móviles y las desviaciones estándar para cada conjunto de 100 muestras de las 7500 simulaciones. El número requerido de simulación que obtengo es siempre menor que 100, pero el% de error de la media y el estándar comparado con el promedio y el estándar de los resultados completos no siempre es menor al 5%. En la mayoría de los casos, el% de error de la media es inferior al 5%, pero el error de estándar aumenta al 30%.
¿Cuál es la mejor manera de determinar la cantidad de simulación requerida sin conocer la media real y estándar (en mi caso, el resultado de la simulación normalmente se distribuye)?
Gracias de antemano por cualquier ayuda.
Para tener una idea acerca de cómo puede verse la distribución de los resultados de la simulación cuando la iteración se ejecuta un número infinito de veces: en lugar de usar la media y la varianza resultantes después de n número de simulaciones, he decidido encontrar una función de ajuste de la distribución resultante, pero aquí n tiene que rellenar% error permitido. Creo que de esa manera puedo encontrar resultados más correctos en la función de distribución acumulativa que está relacionada con, por ejemplo, 97.5%. Porque cuando comparo los resultados de la simulación 400 y 7000, las funciones de distribución de ajuste para ambos muestreos se parecen entre sí, la única curva de la segunda es más suave. Además, por lo tanto, el modelo en MATLAB / Simulink es no lineal, aunque los parámetros de entrada generados son distribuidos normalmente, el histograma resultante de las simulaciones no es normal por esa razón utilicé "distribución generalizada de valores extremos", que se nombra como 'gev' en MATLAB. Pero aún así, no estoy muy seguro de esta metodología, gracias por cualquier comando por adelantado
Respuestas:
Por lo general, realizo el estudio de convergencia y determino el número de simulaciones requeridas, luego uso este número en simulaciones posteriores. También lanzo una advertencia si el error es mayor que el sugerido por el número elegido.
La forma típica de determinar el número requerido de simulaciones es calculando la varianza de la simulación para N rutas, luego el error estándar es , vea sección sobre estimación de errores de MC en "Métodos Monte Carlo en Finanzas" de Peter Jackel , también un capítulo "Evaluación de una integral definida" en el librito de Sobolσ Nσ^2norte σ^nortenorte√
Alternativamente, podría calcular el error para cada simulación, y detenerse cuando supere cierto umbral o se alcance el número máximo de rutas, donde este número fue nuevamente determinado por el estudio de convergencia.
fuente