Why do quants need to know programming?

Discussion in 'Professional Trading' started by garfangle, May 26, 2003.

  1. Although I could understand that most prospective trading employees of a quantitative firm would be required to be both bright (aka Top university & math/sci Ph'D degree) and sharp (withstanding the stress), I do not know why they must also be able to code. Many posted jobs on sites such as hedgefundcenter.com for quantitative positions require that candidates be able to use programming languages such as C++.

    However, I would think that while it would be nice to have the two abilities (math & programming), it should not be a barrier. Why could not a firm separate the two positions? Employ one person whose skill may be developing trading ideas and the other person be able to code those ideas into a software platform. What did quant employers do to recruit candidates before much of the current technology was available to the general public (aka pre-mid 1980s)?

    Ciao.
     
  2. >Why could not a firm separate the two positions ?
    Well it is obvious that you don't adopt the point of view of the employer : why pay two salaries when you can pay one :D


     
  3. Again, it is not a matter of have the ideal package, but an appropriate tradeoff. I am sure that many good traders/money managers have no interest in coding, but may have good ideas, but could not get employed because they do not have a programming background.

    Also, I see the coder position as more of grunt type of work whose position could be filled relatively cheaply (I know of many programmers that will "code for food"). The real scarcity is the brains for the actual trading idea.

    For instance, as the theoretical employer, I'd rather employ a bright guy (with no programming skill) with a trading strategy that could deliver X+N results (where N is a positive appreciation), than employ a guy that could deliver X results, just so that latter person had the ability to code. Given that most quant firms deal in the several millions of dollars worth of trading, I'd think the ability to code should be an afterthought, not a prerequisite to any possible hire.
     
  4. Come on, if you are smart, you can code. Otherwise, you're not that smart:) Coding is simple compared to other things.
     
  5. omcate

    omcate

    IMHO:

    Nothing is easy, if you want to do it right. Different jobs require different talents. Is the brain more important than the heart ? Is the heart more important than the stomach ? Can you survive without any of them ? Imagine the following situation:

    You were hired as a programmer. One week after your arrival, the developer, who designed and implemented a risk management system quit. You were left with a 100,000+ line C++ program, which is full of bugs, with no comments, no documentation, etc. When you were busy examining the codes and the business specifications, your boss told you that the risk management system has failed the first audit. You had few months to fix everything, before the second audit. Otherwise, the government would shut down the whole trading group. You do not know how many people might be affected, but there were more than 120 users.

    If you were the head of the trading team, will you just trust anyone to do this grunt type of work ?

    :p :p :p
    :D :D :D
     
  6. Usually quants know how to program, just like most physicians know how to program.
    Being good in Math is not enough to warrant hiring someone for developping trading strategies. Furthermore, to develop strategies you have to be able to code and test and backtest and run fourier analysis and Monte Carlo. The fact is that programming and math are inseparable for real strategy testing. You don't have to be a C/C++ expert but some languages such as Python provide great flexibility, power and ease of use that can be leveraged to test strategies. VB is not bad either but that's only for Windows and it's kind of slow for large system testing.
    I personally likee Python/C as a combo, python as glue and scripting, and C for all the algorithms.
     
  7. Foz

    Foz

    Yes, like other people have already said... It would be rare to find a PhD in math or science from a top university that doesn't know how to program. It doesn't matter if they were in an experimental or theoretical sub-discipline -- I'm sure they'll know how to program. They'll probably have needed to just to research their thesis.
     
  8. Look, I am not saying that also being able to code may not be a good thing, what I am saying is that does being a good trader also mean that you are a good programmer? Moreover, I am not referring to jobs whose primarly purpose is basically a developer/systems analyst. I would expect them to have a skilled computer background.

    It seems unusual that a quant job or even a more generalized trading position, necessarily requires that one can code. Is it not possible to have a division of labor between the analysis part and the programming part?
     
  9. I hired a physician engineer for coding hmm (It was not the first time) ... they perhaps know how to code but how to program is another story : I mean how to program so that it is understandable by another programmer :D. But sure I wouldn't hire one physician + 1 coder and pay two salaries. I prefered to learn him programming methodology like UML (since he already knew c++) than hire an other guy who would be a pure programer because there is also another problem: if you have two guys it will take two more times to manage them and worse with two guys who have two different cultures they will have to interface with each other and with you so that communication will be a problem indeed :D. Only with a single guy I lost at least 3 months (of time but of course also of salary paid) because he coded a wrong algorithm not because of difficulty in the coding part but because he didn't understand the physical model part. He said he understood but finally he didn't and if I wasn't enquiring he would have never told me.

    Nevertheless I prefer to have a physician knowing coding already to learn programming methodology than a software engineer learn physics :D.

     
  10. trader99

    trader99

    Well, let me try to answer this. I was an ex-quant/trader before doing prop trading. This is how Wall St or big hedge funds or pure quant trading firms view trading. The actual activity of "trading" like hitting bids or offers or whatever is NOT looked upon very highly. It's considered very mechanical and simplistic. The important thing is having a statistically valid, backtested, forward-tested, out-of-sample working strategy.

    Now, in order to do that, you need someone who is pretty quantitative AND be able to implement/program up the ideas. Programming isn't that hard, but good programs are harder to create than at first look. You don't need a hacker to implement, b/c most hackers are just hackers they aren't interested in math, finance, or modelling. But they are hella good programmers.

    So, it's a very delicate balance of a person they are looking for. They are looking for someone who is SMART enough to actually think of good quantitative trading strategies YET at the same time wouldn't be bored with implementation details. Like debugging, interface with various electronic exchanges,etc. To find both of these in one person is NOT as easy as you might think. That's why quants are highly paid.

    Because usually the super top phds guys CAN program, but that's not what he likes to do. He's more of a theorectical math/physics person who is dreamy about CONCEPTS and likes to think of abstract models. Then he hires a cs phd or good ms cs/ee type to implement. But the implementor has to be pretty decent in math too, not just a pure programmer/hacker in order to properly implement the models.

    And one last note, the way quants approach trading is very different than the average investors. They aren't interested in one stock acting in a particular way. They generate a portfolio that trades hundreds if not THOUSANDS of stocks at once. Going long and short or abritraging a small discrepancy. So, they aren't going to find it too useful if you tell them, "Oh, I went long EBAY at 34 and it went up to 100." For them, there are so many names in their portfolio that it's impossible for them to even know the individual names. As long as these names are triggered by their trading signals they are included.

    So, the problem of quant trading is very general. How do you find a strategy that produce positive alpha above transaction cost and scalable over a few hundred millions or possibly a billion? And once you do find that how do you implement it and automate it so that it's like a black box trading algorithm. Totally hands-off.

    That's why the ideal quant has to be good at math, stat, finance, understanding market behaviours, programming, implementation details,etc.

    that's my 2cents,

    trader99
     
    #10     May 26, 2003