• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Maths software to master

Joined
8/29/09
Messages
1
Points
11
Hi everyone,

I am new to this forum. I am currently studying undergrad Mathematics and Statistics. I was wondering what sorts of maths programs that Quants use in the real world....Matlab? Maple? Mathematica? I ask this question because I would like to have competency in the software before I join the workforce. If I have missed something, could someone please recommend something else.

Thank you all
 
Math Softwares

Matlab is good but it takes time to learn. I think it was a little bit more challenging to learn compared to Mathcad, Mathematica, etc. when I was in school.

So, I would suggest go ahead and give some time to Matlab. The others are easy and you can learn them be good at it in a week's time.
 
I saw in the mathworks webinar on Algorithmic Trading that they are using Simulink and Stateflow to do their trading system modeling.

Does anyone know if this is the industry standard when using matlab for system development? At my company we are only using the standard matlab environment with a few toolboxes, no simulink or stateflow.
 
Thanks Andy.
We use it for research because it's easy to program in, but not for actual execution of trades. When you say scalability, do you mean as an execution system, or data throughput during research?
 
Although Andy is right that few places depend upon Matlab, it is very common, so common that it doesn't have huge value to your CV, unless you are very very good at it indeed.

If you wish to invest a bit of time increasing your value through software, pick any programming language other than Java and learn that. C++ is most valuable, but pretty hard, C# easier, less valuable, ditto VBA, there is a rough effort/value curve here.
 
I'm not sure how much putting matlab in your CV can benefit you in your job hunting, but as a frequent user of it, I can tell you it is quite a useful skill to have if your day to day job is to develop new models, new algorithms, prototyping stuff.

Matlab is rich in build-in functions and toolbox that cover a lot of fields from engineering to finance to physics to biomedical even. It's not meant for efficiency, but it has great flexibity in building and testing new system. You can run your code line by line, and there're a lot of tools to help debugging and viewing intermediate results, or manipulate them, which is not so easy to do in C++ (I may be wrong as I'm not an adept C++ programmer, still trying to catch up). It also have great connectivity to other language like C/C++. In fact in my team, we always start with matlab to build new systems, then gradually recode tested modules into C/C++ for speed and replace the matlab counterpart while keep debugging/testing the rest modules. Another good part about matlab is the rich plotting function that helps one visualize results and prepare presentation slides (the other good choice is excel for that matter).

However, you should note that matlab is after all, just a scripting system. It is not meant to replace any formal programming language like C++, Java, although functional wise it can do almost everything that C/C++ can do even things like GUI, networking, parallel (it has CUDA library support last I check). It is not optimized in terms of efficiency. It costs a lot to buy matlab license and toolboxes costs extra. But depending on the nature of your job, it can be a very handy tool.
 
it has CUDA library support last I check

I use matlab almost entirely for this reason. Programming CUDA is really hard and time-consuming. But with Jacket (the accelereyes plugin that is the best way to do cuda in matlab), it is super easy to get realtime performance. For our firm where we are constantly refining our algorithms, matlab + jacket/cuda has been a great choice.

We talked with the mathworks guys about their parallel computing toolbox. Their gpu support is pathetic and they have encumbered it inside of their bloated java antiquated system. That's probably why we are seeing so much better performance from jacket.
 
Back
Top