Matlab is a brilliant platform for many use cases - this is irrefutable.
If you are currently, or in any case aspire to be a 'quantitative trader', your primary tool I'm sure will end up being Python due to its rich set of supporting libraries, knowledgeable community, and the extent to which it will prevent you from having to re-invent the wheel.
As someone alluded to above, Matlab normally wouldn't play a role in your execution unless you're doing something in the medium to longer term and are happy to produce the bindings that connect to the exchange or ECN. For general research, Matlab, as well as many other tools, can help depending on your overall methodology. But make no mistake that for non-hardcore programmers, and in any case, due to the amount of scientists and traders using it, Python is the only realistic place to focus your efforts.
I write everything in Java myself. I however research machine learning ideas using WEKA (Java) which comes with a useful user interface but implement production models in Python which has state of the art learning algorithms due the amount of mathematicians and statisticians contributing to the ecosystem. So in my setup Java connects to the Dukascopy ECN, Java looks for instances of pricing momentum, derives statistical information (300+ statistical features) about the pricing sample and sends it all to a python server which returns a direction, a stop level, a position size and so on based on previously learnt models, Java then executes instructions accordingly.
I've written lots of code using Matlab in industry and academia, first in 1999 and then finally in 2004, today, you'll be hard pressed to justify focusing on it outside very specific use cases - even if you crave the visualisation facilities. For pure statisticians Matlab, SASS, Python and R all come in to play, and if your approach is inspired by academia, you will find fair use cases for all the above.
For trading however - personal, prop, hedge fund and/or bank - you NEED to know python - esp. if you want to play around with reliable, state of the art, machine learning without having to write a ton of code.
For back-testing, this is complicated depending on what kind of pricing data you want and where you wish to source it from. In many cases Broker Platforms fair very well, e.g. since I use Java and access Dukascopy, the platform's back tester works intuitively and it's another area I don't have to worry about. I would advise searching for back testing solutions in Python or find a broker platform supporting Python or another language that can call into your Python code.
Bottom line, it really doesn't matter what recommendations you get, everyone has a different workflow and approaches trading from a different mindset. I'm a software engineer, I'll write code or research ideas using what ever makes sense to me. I'll also experiment with various packages and libraries to develop my own intuition about them, eventually incorporating or rejecting them. It is totally possible to successfully trade with and backtest in Excel or Matlab but as soon as you want to get sophisticated or creative, frustration will kaput all your efforts as you struggle to apply such tools to use cases they simply were not designed for.
If you are currently, or in any case aspire to be a 'quantitative trader', your primary tool I'm sure will end up being Python due to its rich set of supporting libraries, knowledgeable community, and the extent to which it will prevent you from having to re-invent the wheel.
As someone alluded to above, Matlab normally wouldn't play a role in your execution unless you're doing something in the medium to longer term and are happy to produce the bindings that connect to the exchange or ECN. For general research, Matlab, as well as many other tools, can help depending on your overall methodology. But make no mistake that for non-hardcore programmers, and in any case, due to the amount of scientists and traders using it, Python is the only realistic place to focus your efforts.
I write everything in Java myself. I however research machine learning ideas using WEKA (Java) which comes with a useful user interface but implement production models in Python which has state of the art learning algorithms due the amount of mathematicians and statisticians contributing to the ecosystem. So in my setup Java connects to the Dukascopy ECN, Java looks for instances of pricing momentum, derives statistical information (300+ statistical features) about the pricing sample and sends it all to a python server which returns a direction, a stop level, a position size and so on based on previously learnt models, Java then executes instructions accordingly.
I've written lots of code using Matlab in industry and academia, first in 1999 and then finally in 2004, today, you'll be hard pressed to justify focusing on it outside very specific use cases - even if you crave the visualisation facilities. For pure statisticians Matlab, SASS, Python and R all come in to play, and if your approach is inspired by academia, you will find fair use cases for all the above.
For trading however - personal, prop, hedge fund and/or bank - you NEED to know python - esp. if you want to play around with reliable, state of the art, machine learning without having to write a ton of code.
For back-testing, this is complicated depending on what kind of pricing data you want and where you wish to source it from. In many cases Broker Platforms fair very well, e.g. since I use Java and access Dukascopy, the platform's back tester works intuitively and it's another area I don't have to worry about. I would advise searching for back testing solutions in Python or find a broker platform supporting Python or another language that can call into your Python code.
Bottom line, it really doesn't matter what recommendations you get, everyone has a different workflow and approaches trading from a different mindset. I'm a software engineer, I'll write code or research ideas using what ever makes sense to me. I'll also experiment with various packages and libraries to develop my own intuition about them, eventually incorporating or rejecting them. It is totally possible to successfully trade with and backtest in Excel or Matlab but as soon as you want to get sophisticated or creative, frustration will kaput all your efforts as you struggle to apply such tools to use cases they simply were not designed for.
Last edited:
