• 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!

Best Programming languages

Joined
2/12/13
Messages
6
Points
11
If you wanted to start with one programming language for quants which one is best Perl, C, Matlab, Python, SQL, UNIX? It seems different trading firms use different languages. Can anyone provide any clarity on the preference of firms like citadel, jane street, susq, optiver and smaller quant/algo/hft firms in chicago/ny/london?
 
Depends.

For HFT/low latency, C++; // avoid metaprogramming and too much abstraction
For Non-HFT strategies: Java
For Strategy/Algo Development: R, Python, Matlab whatever as long as you can convert to the above two when you get it working.

You need to know the first two and at least 1-2 of the strategy development languages
 
Java open source CEP + most older trading systems (pre-HFT) are coded in Java. Lots of legacy code -- that's life in the real world folks. Software archeology.
 
For sufficiently complex operations, you'd want up to four languages.

C/C++ - low level infrastructure
Perl/Python/Ruby/bash - glue code/operations
R/Matlab/Python - research
SQL/NoSQL - data access

Pick one from each bucket. Prioritize based on job interest.
 
Yeah, I glossed over the database part - guy has to learn to walk first.
 
Yes, that is part of its appeal. Although learning one less language is not that much of a benefit.
 
Surprising no one has mentioned C# (and VBA) especially for the Excel connection.
 
Right, make that 5 buckets...
C#/VBA - Monitoring/Reporting
 
Actually, I'd say Python + C at the same time. It helps to compare and contrast the two, no culture shock that way. Then C++ after reasonable C level.
 
C is a terrible first language. Admittedly better than C++, but still awful. Start with Python. Powerful yet understandable and intuitive.
 
start with a language that is going to make you productive.
 
Back
Top