https://blogs.nvidia.com/blog/riskfuel-derivative-models-bank-of-montreal/