Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To get it started, subcategories include:

1) High-frequency trading. Very programming oriented as trade latency is everything. You'll need to be really good at making C/C++ code really fast. Math is somewhat less important than other fields.

2) Derivatives pricing. Usually working for banks/hedge funds, and use various methods (Monte Carlo, PDE, transform) to price options. Will need to know C/C++ and/or probably Matlab, C# (Excel is king here, so MSFT languages is a big deal), and Python is on the up and up. Will need to have a serious math background. This is more or less what I do.

3) Algo trading. Uses mathematical techniques to find patterns and execute trades. Probably works for a hedge fund. Programming languages vary by fund and include Matlab, Python, C/C++, Java (one uses Ocaml). Less theoretical, lots of playing around with data.

4) Quant risk. Usually works for a bank or hedge fund in the risk department. Responsible for things like building VaR models. Usually requires light programming (VBA, although serious languages help), and some lightweight math.



Going to tack on:

5) Quantitative portfolio management. This usually involves managing a portfolio of stocks, either long-only or long-short. People usually come into this from either a heavy math/tech background or from doing academic finance research. Skills include portfolio optimization using linear/quadratic/etc. programming, machine learning, simulation and backtesting. Some companies that do this include:

- Acadian Asset Management - AQR Capital - Goldman Sachs Asset Management - Janus InTech - MDT Advisers (discl: I work there) - Renaissance Technologies Institutional Equities Fund


I'd add that if you are truly interested in HFT the time when you could make C/C++ software fast enough is either gone or very short lived. Much more valuable would be FPGA programming or other similar skills.


For a layman, Can you please explain why FPGA skills are good to have? Some years, I could understand that processors were not fast enough so FPGA parallelism was useful...I think modern processors have caught up.


FPGA cards are the easiest/cheapest way to get programs into the chip level. You can bypass OS level operations, memory/cache operations etc.

That said, you probably could build bespoke machines out of modern processors that perform better (and someone might be doing this), but it would be very expensive. FPGA's offer a middle ground between that and software.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: