Serving the Quantitative Finance Community

 
User avatar
MaxCohen
Topic Author
Posts: 0
Joined: June 13th, 2007, 2:44 pm

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 8:33 am

I am refreshing my academic C++ skills for a future job search. Apart from knowing the in's and out's of C++ through reading Scott Meyers books etc. I need to gain exposure to a production library to see how C++ is written and managed in practice.Apart from QuantLib which I don't think is used in banks and assuming it is not possible to gain exposure in current role.Are there any other libraries or routes suggested. Or QuantLib good enough. As for QL the use of design patterns seems a bit nuts.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 8:44 am

Will you be writing a new C++ system or maintaining one? Quotethe use of design patterns seems a bit nuts.You can throw the baby out with the dishwater but the never-ending problem with software systems is: Maintainability.This is daily life. I reckon the big providers do not provide source code, for obvious reasons.You could contribute to QL.
Last edited by Cuchulainn on September 7th, 2014, 10:00 pm, edited 1 time in total.
 
User avatar
MaxCohen
Topic Author
Posts: 0
Joined: June 13th, 2007, 2:44 pm

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 9:12 am

Maintainince and Greenfield projects.I understand access is not provided to production libraries but what out there is closest to the real thing.
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 9:46 am

Not quant, since I don't think anyone would allow access to it and from what I've seen and heard most of them aren't really built with best practices in mind anyway.How about looking at the most starred open source C++ projects on Github?https://github.com/search?l=C%2B%2B&o=d ... %9C%93Also Qt might be worth a look since it has a lot of sub modules and is quite extensive, don't know anything about their code quality though:https://qt.gitorious.org/qt
Last edited by Hansi on September 7th, 2014, 10:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 10:32 am

One skill I suppose is how to maintain and extend undocumented code.
Last edited by Cuchulainn on September 7th, 2014, 10:00 pm, edited 1 time in total.
 
User avatar
Polter
Posts: 1
Joined: April 29th, 2008, 4:55 pm

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 6:52 pm

In a similar spirit to what Hansi posted (not a quant-lib per se, but an example of C++ code & design in practice):http://github.com/bloomberg/bde/wikihtt ... -Standards
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 7:13 pm

Do organizations even have common practices for writing and managing code? I'd speculate (and it is pure speculation on my part) that different organizations tackle these issues in markedly different ways depending on the size of the organization, degree of centralization of IT, and when (and where) the IT managers got their degrees.
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Gaining Exposure to Production Quant C++ Library?

September 8th, 2014, 8:41 pm

QuoteOriginally posted by: Traden4AlphaDo organizations even have common practices for writing and managing code? I'd speculate (and it is pure speculation on my part) that different organizations tackle these issues in markedly different ways depending on the size of the organization, degree of centralization of IT, and when (and where) the IT managers got their degrees.I agree. I have heard from IT that we have in the past had consolidation efforts to unify Java and C# coding standards. I believe it was tried as a horizontal initiative without anything coming from above so I don't think it caught on much. But most teams and departments have coding standards, there just not unified organization wide.My team has coding standard for R which is out primary language and our quant library and then WIP versions for secondary languages/tools.We don't enforce that people follow it 100% but rather than they are consistent in each part of our library so we're not mixing coding styles and organization logic.
 
User avatar
MaxCohen
Topic Author
Posts: 0
Joined: June 13th, 2007, 2:44 pm

Gaining Exposure to Production Quant C++ Library?

September 9th, 2014, 10:49 am

Would you say knowing boost is a requirement. Or so long as you know the STL and C++11 that is enough?
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Gaining Exposure to Production Quant C++ Library?

September 9th, 2014, 10:52 am

That depends on what you are trying to build, most C++ jobs I've gotten specs for have boost knowledge either as a requirement or a desired skill.C++11 does include many things boost has historically been used to achieve but not everything and it's also a question of legacy support.
 
User avatar
MaxCohen
Topic Author
Posts: 0
Joined: June 13th, 2007, 2:44 pm

Gaining Exposure to Production Quant C++ Library?

September 9th, 2014, 11:18 am

So for a C++ quant developer ignoring the math. What is the standard job specs then?
 
User avatar
Hansi
Posts: 41
Joined: January 25th, 2010, 11:47 am

Gaining Exposure to Production Quant C++ Library?

September 10th, 2014, 11:16 am

Depends on the role I guess, most of the ones I've seen are for algo and execution stuff. Which generally simply state high talent requirements in C++, x number of years etc and then concepts needed. Low latency experience etc.A headhunter like Dominic might be able to provide a more general overview of standard spec since he sees way more adverts than I do.
 
User avatar
Cuchulainn
Posts: 22933
Joined: July 16th, 2004, 7:38 am

Gaining Exposure to Production Quant C++ Library?

September 11th, 2014, 8:24 am

F.O. or M.O.?I think the focus and approach is different in each one. For example, does the software need to be flexibly set up for testing/validation, e.g. replace one engine by another one.
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

Gaining Exposure to Production Quant C++ Library?

September 11th, 2014, 8:46 am

Job specs are easy to find, the killer is what they actually want...Some of it is algos, so although you may work for a decade coding models and never write your own red-black binary tree,etc because they are in the library, there's a good chance of being asked about it.A proxy for "experience" is knowing the pitfalls of various things, the classics being exception safe constructors +- threading, potential for memory leaks if your use the STL incorrectly down to variables used before assginment.They want "high level" thinking, but respect those who can visualise code at the right level of abstraction, be it variables on the stack or how the optimiser can bring together inlining and templates. Neitrher is better, the mark of an exert is that he has the ability to choose the right level of abstraction for the task in hand. Although they are asking detail questions, the better end of interviewer for the better kind of job isn't completely listening to whether you know some Fox algo, or even that you know O(N), but the attitude and confidence that you exude.
 
User avatar
ashkar
Posts: 0
Joined: October 17th, 2011, 9:25 am

Gaining Exposure to Production Quant C++ Library?

September 18th, 2014, 8:25 am

QuoteOriginally posted by: MaxCohenSo for a C++ quant developer ignoring the math. What is the standard job specs then?In my experience within banks only speaking of quant devs (developers who are part of the quant team):In derivatives area, typically C++ (to a high level), Excel/VBA, sometimes C# (to design lightweight guis for the quants). Sometimes they look for platform experience such as build systems etc. On more desk type roles, a good knowledge of derivs and some maths. Boost is important, not because its widely used in quant libraries but to demonstrate that you are an experienced C++ developer. Its hard to imagine many experienced c++ developers with no knowledge of what boost has to offer. I would spend some time exploring boost just to understand when to turn to it if needed. Note that most quant libraries are quite old and dont use new c++ features so be aware of that in potential interviews. In elec trading, quant devs may be more desk based (strats) or dev based. On the desk, its typically Python, R, KDB, BBG/Reuters (maybe). The job is mainly about making data available in an easy way for quants to use. In more dev based roles, requirements are all the low latency stuff in c++/java and fix protocol etc.If you're going to sell yourself based on c++ skills, I think good knowledge of templates is crucial and quantlib is perfect learning tool for that. Although in practise the quant libraries are not that heavily templatized.