Options and Derivatives Programming in C++: Algorithms and Programming Techniques for the Financial Industry