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

My chance in MFE without math/stat background?

My instinctive gut feeling is that Python is useful for small to medium-sized prototypes that will either be ported to some other languages or will die when they have run their course. I'm guessing to an extent but that's what tends to happen elsewhere..

Your use cases may be different and it would be interesting to hear them.
Python and R are great for small projects, medium projects and projects when you need quick results or help you understand what you are doing.

The question is, do you want to do finance/manage money or you want to do systems? If your goal is the latter, be my guest, learn C++/C#/Java, whatever.

If you want to use software as a tool to make decisions, C++ is not going to help. Python and R (or their paid counterpart like Mathematica or Matlab) will provide faster results.
 
Can you be more precise? e.g. why you use Python, what kinds of applications and so on.

The language flame wars ended a long time ago.

//
From a software design perspective (the s/w being seen as a product) I wonder if the following issues are on your radar and whether they are important in your case:

1. Who has to support the product and for how long?
2. How costly is it to maintain the (undocumented) code?
3. How easy is it to add new features?
4. How do you do PDE and Monte Carlo (for example) in Python?

Talk to IT for those answers.
 
C++ is a very good language but unless you plan to go in the weeds or looking for a very specific technology job, C++ is not going to be useful.

So, based on your observation, are Python and R becoming more popular than C++?
Is this happening to a specific type of quant?
How about desk quant and quant trader?

Thank you
 
So, based on your observation, are Python and R becoming more popular than C++?
Is this happening to a specific type of quant?
How about desk quant and quant trader?

Thank you
You need to understand what you want to do. Desk Quants and quant traders have been far from C++ for the last 10 years or so (maybe more).

We are hijacking this thread. We should move these questions to another thread.
 
omg..people in this quant forum really have no idea what real quant is doing....
Whatever pingu said above is 100% correct, I can vouch for that as I myself work as a front office quant in an AM.

Just in case pingu is not clear enough:
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;

C++/Java/C# are for quant developer, which is just a fancy name for finance software engineer.
I learned Java for 3 years in undergraduate, and never wrote a single line of Java in my job. All of them are python and matlab. Are you gonna do a Cointegration analysis using C++? Blacklitterman in C++? Logistic regression with LASSO in C++?.... God..be my guest...

You will never be fast enough to make investment/optimization/time series decision using C++ unless you want to be a quant developer, which is not a real quant.
 
omg..people in this quant forum really have no idea what real quant is doing....
Whatever pingu said above is 100% correct, I can vouch for that as I myself work as a front office quant in an AM.

Just in case pingu is not clear enough:
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;

C++/Java/C# are for quant developer, which is just a fancy name for finance software engineer.
I learned Java for 3 years in undergraduate, and never wrote a single line of Java in my job. All of them are python and matlab. Are you gonna do a Cointegration analysis using C++? Blacklitterman in C++? Logistic regression with LASSO in C++?.... God..be my guest...

You will never be fast enough to make investment/optimization/time series decision using C++ unless you want to be a quant developer, which is not a real quant.
Amen brother
 
From my experience and observations across several major firms, I think that blanket statements that C++ is no longer used are absolutely false. It really depends on your role:
  • As Dave mentioned above, Quant roles that are about fast decision making will generally do everything using Python or similar. I.e., quant traders and many desk quants. C++ is not practical for this sort of work.
  • Roles that are more strategic, I.e, sell side desk quants (even Phds) that develop new products, strats, quant developers, etc, code in C++. Analytics libraries in banks are almost exclusively still built in C++. Not just legacy code maintenance, but actual new development. Many banks are updating legacy C++ code to use the newer language features -- this is certainly not a sign of moving away from the language. These C++ analytics are usually provided as Python packages for the software on top.
  • Algo trading type roles: This is likely the most diverse in terms of language choice. I know places that used C++, Java, Python, Perl and/or combinations of all of the above. However, most of such roles do require knowledge of C++ as it's one of the few languages that when learned, will provide a good understanding of lower level concepts.
  • IT type front office development roles (I.e, developing the systems and tools that traders use): Knowledge of C++ is important (to be able to understand the underlying libraries when necessary) but actual day to day is usually Java, Python, and/or some GUI language (HTML5 is becoming very popular).
 
Talk to IT for those answers.
I'm asking you. One-liners are less than useful. What I miss in 95% of your posts in general is that the WHY is always missing. Pretend I am a potential customer.

You mean, you don't know what happens to your Python code base after it has been handed over to what you call IT?(?)

And you have not answered the kinds of applications (that APalley that listed) I asked about.
 
omg..people in this quant forum really have no idea what real quant is doing....
Whatever pingu said above is 100% correct, I can vouch for that as I myself work as a front office quant in an AM.

Just in case pingu is not clear enough:
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;
You will never need C++ as a front office quant;

C++/Java/C# are for quant developer, which is just a fancy name for finance software engineer.
I learned Java for 3 years in undergraduate, and never wrote a single line of Java in my job. All of them are python and matlab. Are you gonna do a Cointegration analysis using C++? Blacklitterman in C++? Logistic regression with LASSO in C++?.... God..be my guest...

You will never be fast enough to make investment/optimization/time series decision using C++ unless you want to be a quant developer, which is not a real quant.

mea culpa, so any questions on real quant can be addressed to you in the future? Is Dave Lee a real person or an anonymous Internet warrior?

Moving from Java to C++ is a big step, yes? They are like oil and water. It's an existential problem. Amen.
 
Last edited:
I'm asking you. One-liners are less than useful. What I miss in 95% of your posts in general is that the WHY is always missing. Pretend I am a potential customer.

You mean, you don't know what happens to your Python code base after it has been handed over to what you call IT?(?)

And you have not answered the kinds of applications (that APalley that listed) I asked about.
IT should take care of everything else. You are talking like a person working on the IT group trying to sell the software and services. There is nothing against that. The Quant doesn't really care as long as the answer is correct. If IT develops in C++/C#/Java, great.

IT is mostly a cost center in a Financial Institution (outside of FinTech). That's very important.
 
IT should take care of everything else. You are talking like a person working on the IT group trying to sell the software and services. There is nothing against that. The Quant doesn't really care as long as the answer is correct. If IT develops in C++/C#/Java, great.

IT is mostly a cost center in a Financial Institution (outside of FinTech). That's very important.

Dude, this Daniel guys is biased, because he is the instructor of this C++ course, which i think generating profits for this forum, and if we tell the truth of the usefulness of C++, then he will be making no money.
 
mea culpa, so any questions on real quant can be addressed to you in the future? Is Dave Lee a real person or an anonymous Internet warrior?
Moving from Java to C++ is a big step. They are like oil and water. It's an existential problem. Amen.
BTW, just checked your Linkedin Profile, you have never worked for a investment/trading firm as a front office quant, you are a system/software engineer. If I have your CV, I wont even interview you for the investment quant role in my team....just my 2 cents...
 
From my experience and observations across several major firms, I think that blanket statements that C++ is no longer used are absolutely false. It really depends on your role:
  • As Dave mentioned above, Quant roles that are about fast decision making will generally do everything using Python or similar. I.e., quant traders and many desk quants. C++ is not practical for this sort of work.
  • Roles that are more strategic, I.e, sell side desk quants (even Phds) that develop new products, strats, quant developers, etc, code in C++. Analytics libraries in banks are almost exclusively still built in C++. Not just legacy code maintenance, but actual new development. Many banks are updating legacy C++ code to use the newer language features -- this is certainly not a sign of moving away from the language. These C++ analytics are usually provided as Python packages for the software on top.
  • Algo trading type roles: This is likely the most diverse in terms of language choice. I know places that used C++, Java, Python, Perl and/or combinations of all of the above. However, most of such roles do require knowledge of C++ as it's one of the few languages that when learned, will provide a good understanding of lower level concepts.
  • IT type front office development roles (I.e, developing the systems and tools that traders use): Knowledge of C++ is important (to be able to understand the underlying libraries when necessary) but actual day to day is usually Java, Python, and/or some GUI language (HTML5 is becoming very popular).
Since Daniel asked me to respond, here are my two cents. I mostly agree with APalley about this. It still doesn't contradict what I was saying
  1. This is clear. Nothing to add
  2. Only certain things are develop in C++, mostly esoteric libraries and long term development. Decisions are not made based on this code until later on unless some very specific functionality is needed in terms of raw execution speed. And those functions are still called from Python, R, Matlab, etc
  3. Algo trading is not really finance. It's really raw speed at its finest. If you want to go this route, sure learn C++ and C and assembly and GPU programming, etc. Anything that gives you an advantage at the very low level. You will also need to understand networking protocols, network architecture, OS architecture, etc. This is not finance but Computer/Electrical engineering in the most pure sense
  4. Very clear too.

Again, as a future employee, what do you want to do?
 
Last edited:
Dude, this Daniel guys is biased, because he is the instructor of this C++ course, which i think generating profits for this forum, and if we tell the truth of the usefulness of C++, then he will be making no money.

No need to throw a childish tantrum. Try to act your age.

Who are you?
 
Last edited:
Since Daniel asked me to respond, here are my two cents. I mostly agree with APalley about this. It still doesn't contradict what I was saying
  1. This is clear. Nothing to add
  2. Only certain things are develop in C++, mostly esoteric libraries and long term development. Decisions are not made based on this code until later on unless some very specific functionality is needed in terms of raw execution speed. And those functions are still called from Python, R, Matlab, etc
  3. Algo trading is not really finance. It's really raw speed at its finest. If you want to go this route, sure learn C++ and C and assembly and GPU programming, etc. Anything that gives you an advantage at the very low level. You will also need to understand networking protocols, network architecture, OS architecture, etc. This is not finance but Computer/Electrical engineering in the most pure sense
  4. Very clear too.

Again, as a future, what do you want to do?

i recommend no.1
no.2 is cushy though
 
Dude, this Daniel guys is biased, because he is the instructor of this C++ course, which i think generating profits for this forum, and if we tell the truth of the usefulness of C++, then he will be making no money.
I understand and I understand Daniel's point of view. I think Daniel's experience is from the IT side of things. He might be right, C++ might be used a lot.

If people here want to go that route, sure, learn C++. Odds are you won't be using C++ on the financial side of things. Just keep that in mind.
 
Back
Top