I'm been working as a quant for the past 10 years, but have managed to avoid any significant C++ projects until now. I typically use a combination of kdb, R, and python.

I've now been tasked with building a medium size options pricing and execution system in C++.

Are there any best practices for this kind of work, particularly any that diverge from general C++ best practices. I'm thinking things like C++ version, build system, package management, testing framework, math libraries, etc.

I'll be using Linux and don't need to integrate with any other code except through standard network protocols.

  • $\begingroup$ 10 years whilst managing to avoid significant c++ projects: I hear you! Pretty much on the same boat :) Curious to read answers to your question! $\endgroup$ – Jan Stuller Jul 1 '20 at 15:24
  • 2
    $\begingroup$ I’m voting to close this question because it is very opinion based, and likely is better suited to StackOverflow. $\endgroup$ – oliversm Jul 1 '20 at 15:26
  • $\begingroup$ A good read is always "C++ Design Patterns and Derivatives Pricing" by Mark S. Joshi. $\endgroup$ – oliversm Jul 1 '20 at 15:26
  • 1
    $\begingroup$ @robsmith11 there is no mention about what features specific to finance are desirable compared to any other software development project. This makes the question quite open ended and opinion based. Additionally, without mentioning what it is about finance that needs special attention this really is no better defined than any generic software development project, and hence I suspect SO would be a better forum to discuss this. $\endgroup$ – oliversm Jul 1 '20 at 17:14
  • 1
    $\begingroup$ I have withdrawn my original comment. I don't know why someone would demand that you use a specific language but not tell you how to use that language. The person who told you to use C++ should also have told you which build system and testing framework to use. $\endgroup$ – chrisaycock Jul 2 '20 at 4:37