Alternatives To Matlab

Reader Eli asked in the comments "I used to program in Matlab a lot in the past. Now I feel that Python is a better way to go. Any thoughts?

Yes, quite a few - however I also hope to hear some ideas from other readers. Matlab is an excellent tool for analytics, and I have been using it for over a decade now. However if I were starting out in quantitative finance today I would probably go with Python. The main reason: Python is more popular - and bigger community means more ideas being exchanged, and potentially more job prospects. I get calls from recruiters telling me that quite a few banks have switched to Python as their main analytics tool.

However I am not ditching Matlab just yet. In my experience, Python is still much slower, more bloated, not as well documented as Matlab. Matlab is the Ferrari, where Python is basic Ford. The firm were I work pays for the license, for which I am immensely grateful!

The real question is, what's next? Matlab is not cheap, and it is important to stay on top of the latest tools. I suspect that Python will continue growing in popularity over Matlab.

But I think there are more interesting tools in development:

1 - Julia 
2 - F# programming language. In particular I have been experimenting with FCore linear algebra library as stand-in for Matlab. Not all Matlab features are implemented, but basic support for logical indexing exists, and I was able to add simple custom functions to fill in whatever functionality I needed. Regression tools seem better that other .net linear algebra packages. I hope to write more about this in the future posts.

What tools are you using? Please share in the comments!

6 comments:

  1. I was looking at the sites under your "Top Volatility Resources" and a few don't appear to be active any more:

    - http://condoroptions.com/
    - https://marketsci.wordpress.com/ (last post March-2014)
    - http://qusma.com/ (last post June-2014)
    - http://matlab-trading.blogspot.com/ (Quantum - last post January-2014)
    - http://investing.kuchita.com/ (Intelligent Investor - last post October-2014)

    Do you happen to know if they will be posting again in the future?

    Thanks,
    Dave

    ReplyDelete
  2. I have started to use Javascript. It's bad at a lot of things, but good at one thing - sharing around your ideas. Which is probably why Python has been growing faster than Matlab.

    Here are some more thoughts: http://blog.johnorford.com/2015/03/27/javascript/

    ReplyDelete
  3. Looks like the big missing one here is definitely R...what do you think?

    ReplyDelete
  4. @Dave R - condoroptions.com is working for BCG, and will not be blogging. Other's I don't know personally.
    @John O - glad to have you as a reader; javascript - very interesting, certainly visualization capabilities are super. I hope you would share more (on your blog, or maybe as a guest post)
    @pcavatore Certainly R is also very popular, but between R and Python I would strongly recommend Python. R is just much worse as general programming language.

    ReplyDelete
  5. Anonymous4/28/2015

    I think it's a bit silly to ditch Matlab. Ditching Matlab would be like me going to R.

    The help in Matlab is great. The plots are completely fine for my purposes. Any plots that aren't fine I've created libraries for using java so that I have the widgets that I need which were not there out of the box. Pretty much anything I need can be found on file exchange if not I can port it over.

    Additionally, I have a pretty advanced system with respect to how I manage my data and I've written API's in C#/F# for Matlab so that I can interact directly with it from Matlab.

    I'd be giving up a lot of I went to Python and I would be gaining very little.

    ReplyDelete
  6. How about coming up with some sort of simple vol analysis or tool? I'll try to code up a proof of concept in JS. Get in touch john.orford@gmail.com

    ReplyDelete

Weekly market report

Wall st delivered a mixed bag of news with VIX, VNKY, and VSTOXX and their underlying markets almost unchanged. VXD - volatility index based...