13
$\begingroup$

During our daily jobs as quants, we tend to be willing to develop all the quantitative libraries ourselves. While I know that we need to develop specific algorithms which are the foundations of our strategies, I believe there are 2 major disadvantages in implementing quantitative libraries (including statistics such as performance, standard deviation, etc) in-house:

  • You take the risk of making a mistake in the implementation
  • You waste a lot of time implementing and testing functions that already exist

I have hence been considering using available libraries as a foundation to develop a new quantitative analysis platform. Although I know there are a few open-source libraries, I think most companies would be ready (and would prefer) to pay for the guarantee of continued support and maintenance. I also would like to have a library that I can use from .Net. So I started looking and I found:

  • NAG
  • MATLAB (as it can be compiled)

Is there something wrong in my argument, and do you know any other commercial library I could consider?

$\endgroup$
9
  • 1
    $\begingroup$ Do mean a library like QuantLib? Or do you mean a library like Math.NET? $\endgroup$ Jul 14, 2012 at 21:03
  • $\begingroup$ I believe both of them are open-source and hence provide no guarantee for support or maintenance. $\endgroup$
    – SRKX
    Jul 14, 2012 at 23:26
  • $\begingroup$ I edited the question to try to make it clearer I am looking for commercial libraries. $\endgroup$
    – SRKX
    Jul 14, 2012 at 23:28
  • 2
    $\begingroup$ I am much more careful in my judgement that commercial libraries are better in quality/quantity and better in terms of service than their open source counterparts. I think a good example are the mathematical libraries for C++, most of the trusted and used ones are governed under open source licenses not commercial ones. Boost springs to mind to name just one... $\endgroup$
    – Matt Wolf
    Jul 15, 2012 at 3:17
  • $\begingroup$ There are hundreds of companies providing bespoke domain specific solutions some with API access but they generally are specified to a certain domain and don't open up their library functionality except through limited API or serviced solutions. Not embedible libraries. For software companies the scope and speed of delivery gets so bogged down when they have more than half a dozen clients for something liek this that they lose customers. This is why most banks/hfs build their own. But then again there are .NET based backtesting and trading systems available which might work for you. $\endgroup$
    – Hansi
    Jul 17, 2012 at 18:37

4 Answers 4

4
$\begingroup$

How about a commercial company with an open-source product? OpenGamma was a R/Finance sponsor this year, and I've considered using some of their code.

$\endgroup$
3
  • $\begingroup$ So how does it work, their software is open-source but you pay for the maintenance and support? $\endgroup$
    – SRKX
    Jul 15, 2012 at 8:26
  • $\begingroup$ The OpenGamma website is not very useful in this respect but most of these companies follow the example of RedHat: en.wikipedia.org/wiki/Red_Hat#Business_model. For QuantLib you could contact @LuigiBallabio, a QuantLib developer and active here. $\endgroup$
    – Bob Jansen
    Jul 15, 2012 at 13:09
  • 3
    $\begingroup$ OpenGamma customers pay an annual contract (no up-front licensing cost) for four things: (1) Access (usually with source code on a perpetual royalty-free source-code license) to some proprietary modules we can't Open Source; (2) a commercial license for Procurement department happiness; (3) Confidential support and maintenance; (4) pro-active configuration and use/upgrade/development advice. Feel free to contact us if you have more questions! (I'm the CEO FWIW). $\endgroup$
    – Kirk Wylie
    Jul 16, 2012 at 16:55
3
$\begingroup$

I use both NAG and Matlab a great deal. They are both excellent choices for exactly the reasons you describe. Having solid technical support and maintenance is a very serious concern for most reasonable-sized firms, and that tends to rule out open-source products. I have generally also observed much greater reliability (albeit at the cost of less features) in commercial products, and in NAG and Matlab in particular.

I also would not underestimate the value of professionally written documentation, something both NAG and Matlab excel at, and which competitors (such as R) are horrible at. In fact, particularly for quantitative work, having an adequate description of the statistical techinque you are about to use, along with cross-references to similar alternative techniques which may be a better fit, right there beside you as you code, is invaluable.

I think you will often find die-hard advocates of open-source software online, and particularly in forums such as stack overflow and various stack exchange sites, but I have found people in the real-world to be far more likely to go for commercial software, and as with anything else, ultimately you get what you pay for. While the turnaround time for eliminating bugs may be much shorter for open-source software, I think it also speaks volumes that I have never in my 5-year career as a quant plus 5 years as a grad student found a bug in Matlab. Every time I thought I found a bug, it turned out to be my code that was the culprit. Eliminating that nagging feeling that the bug in your code is really the fault of the software package or library is worth paying for.

Having said that, I do use open-source software for non-core aspects of my work, such as the database, version control, file compression, etc. We also use Java for coding the front-end and for working with some commercial risk vendors that only provide a Java interface.

$\endgroup$
3
  • $\begingroup$ On the lack of documentation: this is often mitigated by (1) fast response time of developer and forums, (2) access to open source. The second is particularly valuable when you need to tweak or extend library functions. $\endgroup$
    – Ryogi
    Jul 18, 2012 at 17:14
  • $\begingroup$ @RYogi Other people may have their own style, but in my style of coding, I often have only a vague idea of what function exactly I'm looking for, and good documentation allows me to find it myself in less than a minute. Who exactly do I contact if I'm not even sure exactly what I want? $\endgroup$ Jul 18, 2012 at 17:20
  • $\begingroup$ I did say "mitigated", not "obliterated". ;) $\endgroup$
    – Ryogi
    Jul 18, 2012 at 17:36
0
$\begingroup$

if you are serious about commerical risk software FinAnalytica is worth looking into. It is a full software suite , and has implemented everything you will need and more for risk management, it also includes many cutting edge techniques that the other solutions do not.

$\endgroup$
1
  • $\begingroup$ This looks like a software, I am looking for library I can use within mine. $\endgroup$
    – SRKX
    Jul 18, 2012 at 7:58
0
$\begingroup$

You can consider the Oracle Crystal Ball API which is available in .NET. The basic product is an add-in to MS Excel for MC simulation, stochastic optimization and time-series forecasting.

From the API, you can run MC simulation and time-series forecasting (for stochastic optimization you will need a separate license from another vendor).

The product (and the underlying API) is very stable (we are in existence for around 20 years now), has strong development and support team, mature documentation to get you started quickly and very large user base.

Note that the product/API is not specific to finance, but there are lots of clients in financial domain, who use it for risk simulation.

Disclaimer: I work for Oracle Crystal Ball and am one of the math developers.

$\endgroup$
2
  • $\begingroup$ Could you provide us with links to product page, documentation, samples etc..? $\endgroup$
    – SRKX
    Jul 18, 2012 at 8:00
  • $\begingroup$ Sure. Here is the product page: [oracle.com/us/products/applications/crystalball/index.html], here is a link to documentation: [docs.oracle.com/cd/E17236_01/nav/portal_5.htm]. Note that we don't advertise the API prominently, and the API docs are not on the doc list. The doc list, specifically the "Reference and Examples guide" should give you an idea about the capabilities. If you want the API doc, or any other information, please feel free to send me an email. $\endgroup$
    – Samik R
    Jul 18, 2012 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.