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

Comp. Sci. + what specific courses?

So I'm at UMich and I def want to major in comp. sci. because a) I find it interesting (and a good backup plan if I don't do b) and b) because I am interested in trading.

I was wondering if you guys could tell me what classes I should take to best prepare myself for a MFE... I know some of you are going to say to just take as much math as I can (double major?), but tbh I prefer applying math much more than theory and would rather just learn the math that is directly applicable to finance. So here I am, hoping you guys can tell me what math classes I can take that will help with a career in quant finance/MFE admissions and nothing more really (willing to minor in math, sorry I just don't like proofs and theory as much as a pure math major should).

Thanks in advance, peeps.
 
Your application of maths will depend on how clear your theoretical concepts are.For example for stochastic calculus a good background in Probability Theory is something which is advised and desirable.Also courses like Real Analysis,Linear Algebra,Calculus,Probability & Statistics are inevitable.I think as a Computer Science major you have to take such courses also excluding may be Probability and Statistics.At least it was at my university where i studied.
Besides that you can choose the applied courses like Numerical Analysis,Numerical Solutions of PDE,Time Series.
 
They changed the requirements here to where the only required math courses I have to take are calc 1, calc 2, discrete mathematics (through the eecs department), and stats 250 at the minimum (Introduction to Statistics and Data Analysis) instead of at least our stats 412 (Introduction to Probability and Statistics). I no longer have to take at least one of diff eqs. mutlivariable calc, or linear algebra... kinda weird that they dropped these requirements imo. How many stats/probability classes do you think I should take?

Thanks for the response
 
I think you should take another course in prob and stat like 412 you mentioned above.Also you should try to complete a course in Linear Algebra as you will find it as a perquisite at many MFE programs.
 
Yeah, but I've read that they are just the pre-reqs and that taking other math classes would help out my chances more... I'll be doing the pre-reqs, just looking on advice for my electives
 
Hey, we are exactly in the same situation! I'm at U of M and want to major in CS as well. But after I looked over all the math pre-reqs of MFE, I'm now thinking about majoring in financial math instead (and minor in CS), because I don't have enough time to double major in CS and math. But if you have time, just do double! All financial math courses seem useful!
 
Eh, I don't have time for a double major either (I have a son). I think I'll just stick with CS and take a lot of math courses regardless of whether I'm going for another major or not, I think leaving the option of being a software engineer open would be good for me at this point in time.

What do you guys think would be better? A minor in math or a minor in stats? I think I can still take some probability courses for a math minor.
 
What do you guys think would be better? A minor in math or a minor in stats? I think I can still take some probability courses for a math minor.

I've read that minors are more or less useless -- they're considered neither by grad school nor by employers. It's all about the classes you take, and taking irrelevant classes just to complete a minor is a waste of time (at least according to what I've read). Can anyone confirm or deny?
 
On one hand that sounds like it'd be good for me because I wouldn't have to take unnecessary classes. On the other hand, there'd be no way for potential employers to know that I've taken more math than a cs major who did the bare minimum (more of a problem for screening I guess)... unless I listed the classes out on the resume.
 

DominiConnor

Quant Headhunter
There's two different games here, so there are different criteria for employment and admission to programmes.

One thing that has not been mentioned is grades, these are important because there is a trade off between learning as much as possible by stretching and looking good on paper. I say this because you may be tempted to do

Within the CS curriculum itself I would counsel you to learn how to program, employers expect a CS grad not to giggle nervously at languages other than Java and to know more algorithms than binary search.
That means doing "lower level" courses, operating system design not only helps you understand how to write better code it is critical to doing high frequency trading and of course this helps you grok C
Networks are also useful since that helps you understand data feeds.

You really ought to learn C++, a CS grad who doesn't know mid level C++ is basically just an arts grad who didn't get laid.
They will push Java at you because it's easier to teach and it's not a bad place to learn some algorithms.
You ought to do whatever course will jumpstart your SQL and some AI would not be a bad move.
One of the most valuable courses you will do in CS is whatever "theory of languages" is called at your school.
A CS grad in quant finance is expected to be a superior developer which means that you don't try the (all too common) tactic of saying "VBA is crap" when confronted with a programming paradigm you've not seen before, as a superior CS grad (the only kind that stands a chance in this game), you will be able to wing your way through functional programming (Haskell, F#), bizarre dysfunctional functional dependency graphs (large Excel workbooks), Perl or the cryptic APL based syntax of KDB.
I don't expect you to know all those to a great depth, but to beat other people this is where you need to be.

But do learn Excel VBA, as a CS you can go all the way down to callback functions, DLLs, the object model, DDE, and the entertainment of 16 bit integers in a 64 bit application. I say this because you are uniquely positioned to do something math undergrads will struggle to do....

Get a summer job in a bank as an Excel contractor.
Banks run on Excel, it's critical just below electricity and above the phones.
Their spreadsheets look like they were built by evengelicals who had decided that structure, resilience, version control, documentation and producing reliable results offended them just as much as evolution.
I believe that if you master Excel/VBA and attack the temporary staff agencies explaining your mastery you will get decently paid employment and be assigned a random position in a bank, random can include working with traders to fix their workbooks or HR keeping track of holidays, but you say "I spent the 3 summers in my education working in ML,MS,UBS doing risk and trading spreadsheets", you will be rather more attractive as a staffer and learn a whole lot.
Excel is unique amongst math or software skills in that you can get better than 80% of people who do it for a living in a couple of months, if you're good that percentile can get to 90. Unless you're stupefyingly bright, a month of C++ or Stochastics won't get you past 10% of people who've done them.
That means there is money there and an opportunity to get start banking experience 3 years ahead of your peers and as I say above a key to success is being ahead of your competitors.
 

Jose T

Rutgers MSMF
They changed the requirements here to where the only required math courses I have to take are calc 1, calc 2, discrete mathematics (through the eecs department), and stats 250 at the minimum (Introduction to Statistics and Data Analysis) instead of at least our stats 412 (Introduction to Probability and Statistics). I no longer have to take at least one of diff eqs. mutlivariable calc, or linear algebra... kinda weird that they dropped these requirements imo. How many stats/probability classes do you think I should take?

Thanks for the response

I would be surprised if an mfe program did not list all of the courses you mentioned as prerequisites (diff eqs, multivariate calc, linear algebra). For my school (Rutgers), Advanced Calculus and Probability Theory (at the level of Ross ; either First Course or Probability Models) are also prerequisites. If I had to guess without seeing anyone's transcript, I'd say the majority of students at RU have done Real Analysis too.

So I think you have a full boat of math prereqs for mfe that you are taking as electives. If you want to take a Statistics course (I don't think it's super necessary in undergrad), a benchmark would be taking a class at the level of Devore's Probability and Statistics for Engineers and Scientists (which covers most/all of the book in one semester). If you still have more courses to load, I'd follow the advice of above poster and get more hardcore about CS before taking Numerical Analysis or Time Series (which you'll take in the mfe anyway and I'd surprised if any mfe listed these as prereqs as they are specialized).

I understand your feeling about not wanting to learn theory and do applications, but it's a little naive. The software already exists and is widely distributed that can replicate all of your knowledge of Calc 1 + 2. Discrete mathematics is obviously of principle importance as a background for learning complexity theory and other CS stuff but if you intend to do an mfe, you'll encounter continuous time models probably in your first grad semester and you'll need more than discrete mathematics.
 
Hey, we are exactly in the same situation! I'm at U of M and want to major in CS as well. But after I looked over all the math pre-reqs of MFE, I'm now thinking about majoring in financial math instead (and minor in CS), because I don't have enough time to double major in CS and math. But if you have time, just do double! All financial math courses seem useful!

Are you taking eecs 183 right now? With the guy lecturer? Cause I'm pretty sure I sat behind you during class today lol.

Thanks for the help guys, I'll just get the pre-reqs done for now then figure out what other classes to take later.
 
Are you taking eecs 183 right now? With the guy lecturer? Cause I'm pretty sure I sat behind you during class today lol.

Thanks for the help guys, I'll just get the pre-reqs done for now then figure out what other classes to take later.
Seriously???? lol How do you know it was me??
 
That means doing "lower level" courses, operating system design not only helps you understand how to write better code it is critical to doing high frequency trading and of course this helps you grok C
Networks are also useful since that helps you understand data feeds.

I've seen the term machine learning pop up here and there but this is the first time I've heard about operating system design being that important. Can someone elaborate a little on how it is relevant to HFT? Also if I were to choose between a course on software engineering or programming languages design, which would be more favorable towards a career in quantitative research/trading?
 
I was thinking about it, I was dead tired though. Came home and took a 3 hour nap ha... lecture's so damn boring, goes really sloooowwwwwww
 
Top