Si por "C++ moderno" te refieres a C++11 y posteriores, me temo que en este momento no encontrarás un libro así.
Si estás conforme con C++ idiomático 03, como en "usar la STL y punteros inteligentes en lugar de gestionar la memoria manualmente", secundo la sugerencia de Quantuple del libro de Mark Joshi.
Con un par de advertencias, también podría añadir mi propio Implementing QuantLib; las advertencias son que (a) estoy haciendo alarde de mi propio trabajo aquí, así que espero que esta respuesta sea lo suficientemente útil como para no ser vista solo como autopromoción; y (b) describe la implementación de árboles, FD, MC, etc. en QuantLib, basada en las restricciones y los objetivos de diseño que tuvimos para la biblioteca y que podrían o no ser aplicables en tu caso. Intenté describirlos también, para que puedas tomar decisiones diferentes en función de tus restricciones.