Options and Derivatives Programming in C++