Computer science courses for algo trading

What are some of the computer science courses that an Economics/Finance major should take at minimum in order to be knowledgeable enough to join a non-top 10 HFT/quant prop firm?

As of now, I have only taken freshman introduction to computer science yet I am taking a lot of mathematics, statistics and quantitative economics courses.

 

If you have the math/stats down, then courses which involve c/c++, java, matlab, strata etc. A lot of these places prefer masters degrees though, and to get in, normally one would not go straight from undergraduate, but would have experience at a larger bank either doing research, development or trading.

http://jobs.efinancialcareers.com/job-4000000000737359.htm

Here is an example for an entry level trading position. Check out the reqs.

“...all truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident.” - Schopenhauer
 

Advanced C++ (C++0X, or actually C++11 now), covering topics like Virtual / Non Virtual Methods, Method Hiding, Covariance, Single / Multiple Inheritance, Pointers vs References, Shared Pointers, Thread Safety / Parallelism, etc.

Low level C programming (IPC - pipes / sockets, static / shared libs, file i/o, fork/exec, signal processing, semaphores, message queues, shared memory, multi-threading)

Advanced networking, mostly related to improving speed.

 

Thanks for the response guys, it's quite clear that I should stick to my core competencies rather than trying to re-invent myself over the next few years. As my ex-gf once told me "You're majoring in Statistics? Oh my gawd! That's like one really bad nightmare." I wholeheartedly hold the same sentiment for a masters in mathematics, statistics or computer science.

My goal is to complete a Masters in Finance after a year or two of prop trading experience, however computer science isn't really my core strength. I've gathered that some 'medium frequency' statistical arbitrage desks do take maths, statistics, engineering and even philosophy, finance and economics majors out of undergrad- perhaps I should explore this a bit more by contacting traders at those firms.

I hope to eventually transition to a place like FNYS, or even a Commodities focused/ Global Macro HF or CTA.

 
Best Response

you may want to reevaluate your goal. the stuff I listed is just the tip of the iceberg. It doesn't touch on any of the more cutting edge stuff going on. There is a reason HFT shops hire PhD's - they are legitimately driving technological advances in many areas because of their need for speed. As a finance / econ undergrad, you really bring nothing to that table, even if you have 2-3 intro comp sci classes. They want people with years of experience writing C/C++, customizing the *nix kernel, writing customized network protocols (i.e. TCP has a lot of overhead that might not be necessary for a round trip between two servers, etc.)

Someone more knowledgeable than me might be able to speak to the convergence of the financial math piece of it (algo development), and the technological implementation of those algorithms, but based on my exposure to various prop firms, it seems like the two are rapidly blending so if you are indifferent to (or not a rock star with) math or comp sci, you might want to formulate plan B.

I think IlliniProgrammer is a developer at a HFT shop - maybe he can chime in with a more accurate assessment than I've got.

 
Macro Arbitrage:
What are some of the computer science courses that an Economics/Finance major should take at minimum in order to be knowledgeable enough to join a non-top 10 HFT/quant prop firm?

As of now, I have only taken freshman introduction to computer science yet I am taking a lot of mathematics, statistics and quantitative economics courses.

In rough order, not all needed but the more the better:

algorithms/data structures software engineering computer language engineering signal processing artificial intelligence operating systems/distributed systems

 

not an algo trader, but from my internship experience / interviews / research, depends very much on type of algo (market making vs execution vs investment) and what kind of place you end up at.

a lot of it is just pure programming, but the math is more important than the programming in a lot of cases. i'd just take a bunch of math classes if you're already a decent programmer.

i like machine learning the best out of these, database stuff is useful but you can pick up all you need to know in a week on your own time

 

i just used investment as a catch-all for non-client algos. both market making and execution are serving clients (either providing liquidity or running their orders). investment might be long-run stuff or statistical arbitrage (probably not appropriate to call this investment) or something else.

you can probably just look up market making and execution algos.

market making, you take the other side of client trades so they can get their trade executed faster, and collect bid-ask spread in the process.

execution, you just reduce market impact by splitting huge orders into smaller chunks to execute over time.

statistical arbitrage: look for correlations, figure out if something seems mispriced relative to other products, then short the overpriced and buy the underpriced.

i'd probably focus on prob-stat stuff and linear algebra related stuff (machine learning is kind of a combination of the two, really).

 

Numerical analysis, machine learning and computational finance are all great classes that will give you a really good base for any of the above. In addition to S&T you should look into some of the big stat groups, I know JP Morgan did lots of recruiting at my uni from CS kids for SA spots. I'm not sure about your uni, but if your numerical analysis is applied to finance, you will get plenty of exposure to the stats side. Other than that, sounds like a tough schedule, good luck.

 

I can't comment on banks, except that if you're apply to one of the strats and modeling internships, math might be a bit more useful. I think for sales and trading they just look for the smartest people, and usually being good at math is a good signal that you are bright. Numerical analysis is useful because a lot of the work you do is in Matlab, and learning new languages is always helpful. Other than that, someone else will have to shed light on what banks prefer.

 

None of those courses will hurt, but none of them will be helpful unless interviewed by a programmer type. The heads of these companies for the most part are former pit traders that could not code for the life of them(their opinion matters the most).

 

I agree with @protectedclass , taking some of those courses definitely will make you standout as a candidate and show you are interested in trading, but in terms of actual interview it doesn't matter. Same applies to math. Obviously, they will expect you to know probability and will ask you lots of that, but unless you have on your resume "taken xxxx" then will most likely not grill you on that. You don't need to be able to crush through stochastic calculus to be a trader. Unless you want a software spot or a quant spot (which usually requires an advanced degree) you won't need it.

Taking a bunch of advanced math courses will only help you marginally in terms of interviews. Yes, they do help you build good problem solving skills, which can make brain teasers much easier if you're good, but only in a few instances have I been asked specific math questions (and I'm a math major). The most typical questions (and these only happen at the more quanty places) are stuff from linear algebra, maybe some calculus, and some stats. One thing I can say though is that across the board, every shop looks for how fast you are with mental math. One of the firms I interviewed at straight up said 'numeric ability' is the number one quality they look for. You will never have to use integration by parts on the job, but if you're long/short xxxx delta you need to be able to know in your head how much you need to buy/sell to become delta neutral without thinking twice.

 
MRCR:

I'm studying computer science and applying to S&T SA internships (or technology ones if S&T doesn't happen). For electives I'm planning on taking database systems, big data analytics, machine learning, numerical methods, and computational finance. Do these courses look right for algorithmic trading roles? Are there any other courses that are useful?

If you're a CS major, you should be supplementing with finance/pure math classes to stand out from the other bajillion STEM majors.

 

Apply for trading positions, that's all you really have to do. Don't get suckered into thinking "I want to work at Goldman Sachs, I can apply for a software development position and lateral to their trading desks", from what I have heard, that is nearly impossible.

As far as course work, make sure you have a probability and statistics course, and a stochastic processes course if you have the background to take it. Partial differential equations should help too. Taking a course on options and futures is fine too, but I was never expected to know anything about them besides what I can learn on Wikipedia in 5 minutes in my interviews except for at one place.

 

Little undergrad coursework will prepare you, maybe Data Mining and Statistics if at all available. Get good grades and work hard. Know how to make your resume stand out

Two things you can do to get where you want. First and most straightforward is get an internship next summer, this will be easier the higher your GPA. Applying begins in October. Any experience will be beneficial, but mind you, your position may pigeonhole you in the future. Ultimately you want to be a trader, and there and quant trading internships, but they are most competitive. Also available are development and research roles, which can lead to trading down the road, but conversely peg you as a researcher. You just do the best you can do.

Second thing you can do, and much more difficult, is start trading yourself. This is where you really learn. There's a good thread on this board about how to start on your own. There's also Ernie Chan's book that tells everything you need to know about running your own small electronic trading fund. This is a LOT of work (just like the real thing), but if you are extremely dedicated the sky is the limit (all the easier if you are a seasoned coder). Regardless of your trading success, after a year or two you would certainly have something to show, to list on your resume, and have a leg up on all your peers with a better GPA. You could surprise yourself.

Read Mark Joshi's guide, excellent overview of what it means to be a "quant"

 
[url=http://www.shopstoreshoes.com]cheap louis vuitton bags[/url] [url=http://www.shopstoreclothing.com]Cheap Gucci Sneakers Wholesale[/url] [url=http://www.airshoeswarehouse.net]cheap louis vuitton shoes[/url] [url=http://www.ebuyluxuryclothing.com]wh
 

@dabanobo -- I do like the idea of being a quantitative trader. I'm trying to avoid ending up in non-trading roles and trading roles that are not quantitative and don't involve programming.

@rynofrowan -- "rising junior" means that I will be a junior next year.

Thanks for the course suggestions, everyone. ReardenMettle, I have access to graduate level courses as long as they're not restricted majors, so any suggestions you have there would be great as well.

I've built a tentative schedule for next semester based on all of your suggestions. I'd appreciate any comments:

  • Data Mining
  • Intro to Probability / Statistics
  • Intro to Econometrics
  • Intermediate Macro
  • [Other degree requirements]

I'm taking a few prerequisites as co-requisites here, but I think I'll be able to manage it. I'm trying to get as much applicable knowledge as possible before any possible internship.

@protectedclass -- I can't fit Stochastics / PDE into my schedule right now.

@ReardenMettle -- thanks, I've read Mark Joshi's guide. I've also started reading http://www.amazon.com/How-Became-Quant-Insights-Streets/dp/0470050624. I'll look into the book you mentioned soon.

 
Macro Arbitrage:
So you aspire to work as a quant and are currently entering your final year, yet you still haven't to take intro to probability and statistics? Firstly, most people take that course during their freshman year, and more importantly you should be taking (or should have taken) mathematical statistics instead.

I actually have two years left, though I am behind where I would like to be in math coursework. I had limited choice in what courses I could take to satisfy my major's probability / statistics requirement. The one I chose takes a calculus-based approach. I'm not sure if this counts as 'mathematical statistics' or not, since I've never heard that particular combination of words.

 

Tempore nulla et nostrum iste quo similique. Iusto similique modi possimus suscipit maiores dolores. Mollitia animi maxime hic ut rerum.

Libero rerum eaque aliquid et tenetur quasi. Voluptatem molestiae vero distinctio labore qui. Unde non ipsum dolorem suscipit quod sed voluptatem. Soluta aut neque unde sed autem quis architecto. Et est ex at iusto eum. Sint quis quibusdam quasi maiores id facere.

Maxime et quas voluptas non. Fugiat aut ut reprehenderit quibusdam. Totam impedit quidem cupiditate ex.

Cupiditate consectetur ut eius amet doloribus harum ut. Quam repellendus voluptas aspernatur sit inventore non amet.

 

Et nostrum architecto qui laborum accusantium placeat. Deleniti aut repellendus dolores et quibusdam aut. Expedita vel non minus in quia ad fuga. Voluptas facilis tempora aut quia aperiam asperiores repellendus.

Veniam sequi voluptatibus dolores eum voluptate. Rerum similique dolores aut. Ut earum dignissimos nesciunt sunt et impedit velit. Deserunt dolore consequuntur voluptas neque molestiae.

Omnis sunt possimus quaerat suscipit optio. Quam inventore maiores natus voluptas sed et dolores. Rem ut qui fugiat et sed et. Exercitationem ea fugiat magnam.

Consequatur vel ea quas natus. Aut quo nobis culpa est atque. Voluptates delectus aut quia dolor. Libero nam quasi consequatur odio accusamus non debitis. Quod maiores illo nobis omnis provident ut exercitationem. Consectetur doloremque quia corporis animi voluptas ipsam.

Career Advancement Opportunities

March 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Goldman Sachs 19 98.8%
  • Harris Williams & Co. (++) 98.3%
  • Lazard Freres 02 97.7%
  • JPMorgan Chase 03 97.1%

Overall Employee Satisfaction

March 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

March 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

March 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (19) $385
  • Associates (86) $261
  • 3rd+ Year Analyst (13) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (66) $168
  • 1st Year Analyst (202) $159
  • Intern/Summer Analyst (144) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
Secyh62's picture
Secyh62
99.0
3
Betsy Massar's picture
Betsy Massar
99.0
4
BankonBanking's picture
BankonBanking
99.0
5
dosk17's picture
dosk17
98.9
6
DrApeman's picture
DrApeman
98.9
7
kanon's picture
kanon
98.9
8
CompBanker's picture
CompBanker
98.9
9
GameTheory's picture
GameTheory
98.9
10
Jamoldo's picture
Jamoldo
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”