Best Response
RichardPennybags:
Object oriented languages are very mainstream now - (Java, C, C#, C++, etc)

Also, Matlab comes up in job requirements quite often.

Offtopic: I so hope http://www.wolfram.com/finance-platform/ becomes popular. The chances are 0.0001% though :(

C's not object oriented. From what I've been reading, it looks like functional languages are gaining share, e.g. the ML family or F#. My impression is that it depends on how new the particular shop is and how much legacy code they have to maintain. If they're older, they've probably built their systems in more traditional languages like C++ / VBA and will be more likely to keep using those languages to work with the existing codebase. If they're newer, they're more likely to use something different since they don't have to maintain or build on their old code.

 
Daedalus:
RichardPennybags:
Object oriented languages are very mainstream now - (Java, C, C#, C++, etc)

Also, Matlab comes up in job requirements quite often.

Offtopic: I so hope http://www.wolfram.com/finance-platform/ becomes popular. The chances are 0.0001% though :(

C's not object oriented. From what I've been reading, it looks like functional languages are gaining share, e.g. the ML family or F#. My impression is that it depends on how new the particular shop is and how much legacy code they have to maintain. If they're older, they've probably built their systems in more traditional languages like C++ / VBA and will be more likely to keep using those languages to work with the existing codebase. If they're newer, they're more likely to use something different since they don't have to maintain or build on their old code.

Functional Languages are almost 95% used by compilers, symbolic mathematical manipulation (think TI-89s), and language parsing. I have not seen it used for trading outside of vendor services for news analytics (Reuters has about twenty of the world's best language theory PhDs working on a service that converts news into algorithmic signals. Before this, their postdoc options were to land one of the lucky jobs at Sun or go into academia and invent random languages.) Imperative programming- from assembly to Java to Python- still makes up 98% of what folks with computer science degrees do, and 99.5% of the FO programming done at banks and prop shops.

As for languages, I recommend Java or MATLAB. C and Assembly are also good if you want to do some of the more technical optimizations for algorithmic trading. Java does everything C and Assembly can do, just 30% and 40% slower, respectively.

 

C++, C#, and Java are the primary languages used in writing algos and also backtesting very large amounts of historical data.

MATLAB/R are great for statistical analysis and graphical displays.

Python is my personal favorite. It's an interpretive scripting language. More and more firms are now using it; at my previous job we used python almost exclusively to write the algos.

 

Chiming in to put in a good word for C++ and Java. Start off with an object-oriented language; you'll learn the "mindset" of programming a lot better than if you started with something looser like Python.

Currently: future neurologist, current psychotherapist Previously: investor relations (top consulting firm), M&A consulting (Big 4), M&A banking (MM)
 
Brady4MVP:
It would be awesome if MIT courseware offered an intro to C++ course. Their intro cs course featured online is python.
You totally need to Google better: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/… I happen to know one of the guys who taught it; he's legit (coded Wubi and UNetbootin).
Currently: future neurologist, current psychotherapist Previously: investor relations (top consulting firm), M&A consulting (Big 4), M&A banking (MM)
 
chicandtoughness:
Brady4MVP:
It would be awesome if MIT courseware offered an intro to C++ course. Their intro cs course featured online is python.
You totally need to Google better: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/… I happen to know one of the guys who taught it; he's legit (coded Wubi and UNetbootin).

Nice try, I'm sure Brady was referring to video lectures.

 

why is there so much hate on python, it is a good introduction to programming without so much intensive detail. Once you learn python you should be prepared to study programming in any other language from reading.

 

If you want to be ahead of the game and learn to program the fastest algo's in the world learn assembly and C, if you are really gung-ho try your hand with some FPGA's and verilog and vhdl. I am only somewhat joking, and I am actually waiting for the day the props and big funds start recruiting CoE/EEs to say, fuck operating systems, and do everything on box.

 
anavoisp:
If you are serious about CS, here is some advice that I can give:

Learn script languages like Perl, Ruby, Python first to get familiar with CS.

Learn C

Learn Java

Learn C++

Enough. Remember the order

Interesting. One of the "intro to programming" books I've seen starts with Python. (http://www.headfirstlabs.com/books/hfprog/)

Is it realistic to assume you could pick up programming on the side and actually become proficient at it (enough to build something of value)?

 
labanker:
Is it realistic to assume you could pick up programming on the side and actually become proficient at it (enough to build something of value)?

Programming is pretty easy to pick up on the side as many CS majors started programming in high school. But becoming proficient at it depends on what your definition of "value" is. Operating systems, no. Simple scripts/algorithms, yes.

 

I think it is completely realistic to become proficient at programming through self-study. However, it will most likely take longer than if you were formally studying in some capacity in school and people will be more skeptical of your skills until you can prove that you're proficient.

 

It is completely realistic to learn programming languages through self study, however, you will really need to understand the system side if you are ever going to run fast code. That takes a significant understanding of how data is stored in the memory, cache, registers, etc. They don't teach this stuff in programming books(at least none that I have seen).

Bad coding, will turn a million dollar idea, into a waste of time if you don't know what you are doing.

Matlab is great for modeling, making quick plots, and using their extensive libraries, but if you are running your business on matlab code, you will be left in the dust to an expert C/C++/ASM programmer(by an order of magnitude).

 
protectedclass:
It is completely realistic to learn programming languages through self study, however, you will really need to understand the system side if you are ever going to run fast code. That takes a significant understanding of how data is stored in the memory, cache, registers, etc. They don't teach this stuff in programming books(at least none that I have seen).

Any particular resources you would recommend?

 
labanker:
protectedclass:
It is completely realistic to learn programming languages through self study, however, you will really need to understand the system side if you are ever going to run fast code. That takes a significant understanding of how data is stored in the memory, cache, registers, etc. They don't teach this stuff in programming books(at least none that I have seen).

Any particular resources you would recommend?

I used this book: "Computer Systems: A Programmer's Perspective" By Bryant and O'Hallaron.

It is a very good book.

 

Matlab and C/C++. VBA and Python are very simple and easy to learn if you already have a programming background.

Then out spake brave Horatius, The Captain of the Gate: "To every man upon this earth, death cometh soon or late. And how can man die better than facing fearful odds, For the ashes of his fathers, and the temples of his Gods."
 

Don't really worry so much about Java. I haven't seen many places looking for people that know Java as much as C++ or SQL and other languages such as Pearl or Python.

make it hard to spot the general by working like a soldier
 

If you don't know the requirements of your employer in advanced, you can't really go wrong with Python, VBA, SQL, C++, R, or Java for trading. VBA is probably the most widely used, but knowing 1-2 others can strengthen a resume a lot. It depends too on what area of trading you want to do, C++/Java are more common for execution (ie HFT), VBA/Python/R are more for when a trader needs to scrap something together or test a trade idea.

I wouldn't stray into anything more obscure imo, stick with the more widely known languages. They'll be easier to learn with more material available, and there's no point investing dozens of hours into a language you may not need.

 

I would say VBA and R/Python are very useful for prototyping. The other languages are very good to know, but I'd give more initial priority to the above mentioned because you get quicker results for time invested. They're less powerfull and elegant but IMO more straightforward. Also I agree with everything that CanTrader mentioned.

 

I already know some SQL, so I decided to learn C# and VBA. C# is quite similar to Java I believe and I have easy access to courses. VBA is probably because it is the one I expect to use the most later. C# is mainly to strengthen my resume though (and have an edge on all those other MSF students)

 

Unless you're going for an algorithmic or quant trading desk, you don't need to know much programming. In my experience banks are looking for people who are good on their feet, good with probability and mental math. Learning VBA and putting that on your resume won't benefit you that much in terms of getting recruited. It's pretty easy to google sample code in case they ask you to write a macro at some point during the summer.

If you are aiming for an algorithmic or quant trading desk, they'd probably want you to have Java, C++, or Matlab. But those take some time to master.

 

if you do want to learn vba, just check out any of teh gagillion books that have been written on it. i forgot which one i used, but i think they're all very good.

also, there are some websites that have "sample programs" that you can rip apart and rebuilt. this would provide you with pretty good practice.

 

id disagree with senorita on this, every group ive been involved with and been around values people with vba and it definitely a selling point. our desk wont even look at people w/o it and its a flow swaps desk

 

I wouldn't try to crame all of them, I would just learn the basics in each (classes, data structures, building lists, simple algorithms). Honestly doing some tutorials off of google will probably serve you better than buying a book.

Ace all your PE interview questions with the WSO Private Equity Prep Pack: http://www.wallstreetoasis.com/guide/private-equity-interview-prep-questions
 

Odit similique magnam nihil magni assumenda laborum. Unde eveniet nihil labore dolores aspernatur voluptatem. Sint impedit in aut atque in porro. Ratione et labore ducimus. Qui ad soluta doloremque molestiae neque.

In voluptatem quaerat quod ut est. Necessitatibus nesciunt accusantium error esse repudiandae. Soluta sapiente ratione a qui aut.

 

Sit laboriosam veniam ea distinctio. Qui totam et rerum est rem. Doloremque quia velit odit expedita non temporibus.

Perferendis qui perferendis dolores facilis placeat culpa. Sed reiciendis non blanditiis. Doloribus quibusdam nobis aut perspiciatis porro explicabo placeat. Voluptas quae beatae facere sunt.

Quia ullam a totam minima. Id earum laborum aspernatur modi aspernatur sed. Porro corporis dolor optio earum.

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
BankonBanking's picture
BankonBanking
99.0
3
Betsy Massar's picture
Betsy Massar
99.0
4
Secyh62's picture
Secyh62
99.0
5
GameTheory's picture
GameTheory
98.9
6
dosk17's picture
dosk17
98.9
7
DrApeman's picture
DrApeman
98.9
8
CompBanker's picture
CompBanker
98.9
9
kanon's picture
kanon
98.9
10
numi's picture
numi
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...”