QuantLib, cuenta con excelentes instalaciones para el Monte-Carlo de precios de los motores, las clases McSimulation y MonteCarloModel hacer un montón de trabajo. Pero lo hacen en un único hilo. ¿Cuál es la mejor manera de introducir en paralelo en mi costumbre de motor (heredado de McSimulation clase, como en el caso de algunos instrumentos en QuantLib)? Ahora veo 2 opciones
- Uso QuantLib rutinas, como son el presente, y manejar múltiples ofertas de hoteles en paralelo.
-
Personalizar MonteCarloModel
2.1 Hacer una subclase de MonteCarloModel y sobrescribir addSamples: insertar allí OpenMP código
2.2 Mi motor ya es una subclase de McSimulation (I sobrescribir timeGrid, pathGenerator, pathPricer), yo también sobrescribir "calcular" - voy a copiar su código actual, pero se sustituye la creación de instancias de MonteCarloModel con mi aplicación.
No me gusta ni la primera, ni la segunda de las opciones. La primera no me permiten el precio de un solo frente rápidamente, el segundo hace que me de problemas en caso de modificaciones en las clases de MonteCarloModel y McSimulation en QuantLib distributiva.