12/23/16

Hi everyone,
A bit of a beginner's question.
I am a current engineering major at a top 10 worldwide school with a very strong interest in finance. I have secured a spring week in trading at UBS, and hope to convert it to a summer, and a summer internship as a finance analyst at a credit card provider (amongst the top 3 in the world) - I am aware this is not related to trading or IB in general, but the opportunity arose and banks do not take people who are not in the penultimate year of their course.
Anyway, recently I have decided to try and pursue a career in algotrading. But my knowledge is extremely limited. I only learn MATLAB in my course, and, whilst I take a couple of finance minors, none of them are related to computational finance or anything similar.
I was therefore wondering what you would recommend a college engineering major to do in order to get on track to becoming an algotrader. I am currently self-learning Python at a fast pace (started a few weeks ago and I'm quite comfortable with the language). I am very well-prepared in mathematics and statistics and ready for long hours of work to prepare, but I have no idea where to start.
Of course, I would do a postgrad - potentially in computational finance or financial engineering. How necessary is a PhD? How can I break into the world of algo-trading? Any online or summer courses you'd recommend?
Thanks!
Isaac

Comments (14)

12/23/16

What are you using to learn Python? Any recommendations?

Majority of algorithmic trading houses will require solid undergrad grades from a top uni, + a statistics/maths intensive masters. The jury is out on PHD's. A PHD will obviously be a positive (no question about that) but that's not to say you can't get in without one.

It's an interesting field - I don't work in it, but am interested in the area via my work in physical commodities and considering a masters myself.

Financial Modeling

12/23/16

This website introduces you to basic Python, fairly straightforward: https://learnpythonthehardway.org/book/

I am definitely doing the masters. The question lies on the PhD, and landing a job in algotrading without any prior experience in a firm, as no one is going to take a college undergrad for that.

12/23/16

Learn Python the Hard Way is a great resource, I personally used it a few years back. When you have the basics covered be sure to check out Sentdex (sorry, can't link to youtube since my account is new) for more finance and statistics specific tutorials.

12/23/16

Essentially I am going to recommend you become more of a generalist than the areas of study you talked about in your post. What interests you now may not be interesting to you in 5 years, so I recommend getting the skills you need for quant finance, but doing it without pigeon holing yourself into only finance roles.

What sort of engineering are you studying now? I ask because some types naturally lend themselves to finance more easily? If it's civil/environmental engineering you'll likely find it more difficult than EE. It's great if you have time to tack on a minor while you're still in undergrad, but you'll be better served making it computer science or mathematics (probably in that order of desirability) instead of finance. You can develop sufficient finance knowledge on the side. As for grad school, assuming you're doing well in undergrad and are taking sufficiently technical courses in your engineering program, you should be competitive for graduate programs in computational/applied mathematics, operations research, or even computationally-aligned engineering groups (eg if you're ME/AE and are good at CFD or FEA). Any of these sorts of programs will give you a good skill base that you can flesh out with some additional finance/math knowledge when it comes time to find a job.

Finally, if you're considering a PhD program, but not planning on pursuing academia, I will go against the grain and recommend weighting your decision on where to go slightly less on your individual adviser and slightly more towards prestige/brand recognition of the school. It's very likely in finance nobody will have heard of your adviser either way, but for better or worse most recruiting into finance roles comes from the same 20-30 schools.

12/23/16

Thank you very much for your reply.
As you mention, I do not want to pigeon hole myself into a very specific role.
I study chemical engineering; we have quite a lot of computation, but it is all in chemical engineering-specific languages. My degree is technical and I am maintaining a 4.00 GPA average; so hopefully it leaves me in a good place for my postgrad.
I am very prestige-focused, so I'd only aim for top schools rather than top programmes at not-known schools, as they normally have more resources and open more doors when it comes to networking and meeting people.
How do you think I can blend all of my knowledge (programming, finance knowledge and mathematics) together? Would this be in my postgrad? Or through personal research?
Thanks!

Best Response
12/23/16

That's great that you have a good GPA, it's definitely important when it comes time to apply to grad school. I think from a ChemE background you have some decent opportunities to work on interesting projects that could help you land a role in finance. I am not super familiar with current research in the field, but I would guess that there are substantial computational modelling challenges in biological/physical chemistry. Ideally I would research faculty at the schools you are considering in computational/applied math, applied physics, Chem E, and perhaps materials science to see if they have research projects that would allow you develop a more rigorous math/modelling/data skillset while complementing your chemE work. If you do a minor in math/CS you may also have an opportunity to do grad work in those fields while leaving behind the CE stuff altogether. All of this is predicated on the assumption you are going for a PhD though. If you only want a masters I would recommend an MFE or similar program, although I think you're going to have more trouble breaking in to algo trading from that path.

If you learn about markets and finance on the side, it will be sufficient. I have interviewed plenty of people with PhDs in non-finance fields. The ones that do the best are those that can carry on a conversation about the macro environment and especially volatility, even if they haven't ever traded or worked in finance. If you can do some side projects that's even better, but I don't think its required. You just need to be genuinely interested. If you are you will enjoy researching markets in your spare time and the knowledge you develop will come though.

12/24/16

Thank you for your reply.
This question might sound a bit dumb, but if someone has very good mathematical skills (postgrad level, such as engineering or pure math), a good awareness of the markets (perhaps experience in S&T) and good programming skills, would a bank/prop firm etc. train them into algo-trading? Or do banks only hire people experienced in developing trading algos?
Thanks!

12/27/16

I think the set of qualifications you've described is the ideal candidate for a quant trading job, at least at my firm. So yes, depending on your exact skill set and career objectives, someone with good math/finance/programming knowledge will definitely get hired and will receive guidance on the nuances of algorithmic trading. Realistically I think you probably only need two out of those three qualifications, to varying degrees.

12/26/16

Can someone explain me the logic behind majoring in Chemical Engineering and pursuing algo trading that is purely computer science driven? It like I want to be a writer, but I'm going to study cooking to become a better writer.

You killed the Greece spread goes up, spread goes down, from Wall Street they all play like a freak, Goldman Sachs 'o beat.

12/27/16

Generally the more you derive edge from latency in the market, the more CS driven the job is and the less chance a general "problem solver" has to make contributions on an algo team. That said there are plenty of markets and firms where the primary edge comes from other sources and they can use smart people who are good at thinking about and solving hard problems in general. You'll still need some programming skills, but the job becomes more about the ideas you generate and less about the perfect technical execution of those ideas. My feeling is that those are the sorts of jobs OP should try to shoot for.

12/31/16

I disagree with most of what has been said. If you want to be an algo trader you better have a lot better and in depth coding experience than self-teaching yourself Python. You should be able to write extremely complicated algorithms based on financial theory and mathematical models that can handle the complexities of the real life markets. This is usually done in C++, Python, and others. You should be comfortable with many languages. Ideally, you would want to have a bachelor's in computer science with an minor in math, statistics, economics, quantitative finance, or finance. Seeing how that is not ideal given your current situation in engineering you could potentially do a masters in computer science or find a way to apply your skills you have already learned in coding and put them to the test working a full-time job where you can design some algorithms related to finance, but where you are not necessarily making them for the trading floor. I.e. working in operations or the technology division of a big bank. Remember if you get the job you are being hired to trade millions of dollars at a time. They need to be able to trust you and honestly I wouldn't trust some random kid who taught himself how to code so you need a way to prove to them your up to the job by finding a job where you can build the skills you need. A masters in MFE won't get you what you need. You need either a masters in math, stats, or computer science paired with significant math exposure. If you want to be a quant you need a PhD. I would try to get a job in the middle office of an investment bank and work there a few years till you can learn the basics of trading how it all works. Go do a masters and then come back after finishing up grad school. If you build the right connections in your post-bach job you should be able to do it.

12/31/16

+1 SB

Well said.

1/1/17

I don't really think this is true at least in HFT. Most HFT algorithms aren't extremely complicated because of the need to be very fast. Almost all firms use C++ for this. The research process/parameter fitting is different as there is more time for computations so Python is more popular. I also think most algo-based prop firms use very little financial theory.

HRT, KCG, Jump, DE Shaw, Citadel, and Two Sigma among others regularly hire undergrads for quant roles who know little to nothing about finance/trading. These firms are all quite selective and it is possible that other firms (banks?) only hire PhDs for quant roles.

1/17/17
Add a Comment