Thursday, April 1, 2010

Is QuantLib the world’s greatest library for C++ quant development and open source community?

Is QuantLib the world’s greatest library for C++ quant development and open source community?

Let’s face it. We hear about the job postings where investment banks want you to have an understanding of libraries for their C++ quant models and strategies. Wanting to learn but don’t have access to these expensive proprietary libraries us poor schmucks don’t have access to?

Here are my reasons why QuantLib is becoming a fantastic foundation for your learning in quant development.
1. It is developed in C++. Do we really need to talk about this? See my C ++ discussion about why this programming language would be my choice.
2. SWIG compatible that enables you make calls to the QuantLib library using any major languages including Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Lua, Modula-3, OCAML, Octave and R. I do believe C# is added as well. The SWIG interpretation of QuantLib allows you to talk to many of these languages. Pretty cool huh?
3. QuantLib includes virtually all major models, engines, market conventions, yield curve models, solvers, PDEs, Monte Carlo (low-discrepancy included), exotic options, VAR, and so on.
4. Leaning this library could actually get you a real job in the market.
5. Researchers would have a framework at hand, which vastly reduces the amount of low-level work necessary to build models, so to be able to focus on more complex and interesting problems.
6. QuantLib is a BSD license meaning it is free and can be distributed into other systems you develop even if you charge for it.
7. Pretty decent community for questions that actually get answered on a timely basis.
8. It is constantly updated and maintained frequently.
9. Major companies use it including StatPro, Credit Suisse, and Axa in Europe.
10. QuantLibAddIn and QuantLibXL was created to enable Excel integration for front end development on your algorithms’.

Do I really need to say adding additional? So what if QuantLib is ‘over-engineered’? What people need to understand is that is has so much functionality to it that it makes so humongous?

No comments:

Post a Comment