Ask HN: How to prepare for algorithm trading interview as a developer
1–10 of 24 posts
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#2There are three standards that you can think of as the Cracking the Coding Interview of quant finance (insofar as that is a homogenous field, which it isn't):
1. Heard on the Street
2. Quant Job Interview Questions and Answers
3. A Practical Guide to Quantitative Finance Interviews
You want to also practice algorithms as you would for a Google/Facebook whiteboard interview, but alongside that drill down on statistics. If you have the time review your linear algebra.
Higher math will be less necessary if you're a developer as opposed to a researcher, but they'll still want it. It's probably in your best interest if you know at least one "serious" language used for performance (C++, Java typically) while also being familiar with the data analysis libraries of Python.
If you have no experience with finance and you're coming in to that cold, give Options, Futures and Other Derivatives a read. I'm assuming you're in this boat because you're asking the question.
This is sort of catch-all advice. If you're working at Virtu or Jump, you're going to want to know as much as you can about low level programming with regards to latency, networking and memory, because those are HFT firms. If you're working at a place like Two Sigma, Java will be more applicable and you want to know more about statistics and data analysis on a practical level, because you're be implementing the strategies developed by quantitative researchers.
Tailor your approach to the type of trading the firm engages in. I've made two assumptions here - 1) you're interviewing with a firm considered "quantitative" as opposed to discretionary and 2) you're interviewing for a front office role, not a back office role (support, farther from money).
If you give more information about the type of firm and the type of role we can provide much more constructive advice.
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#3Re: Ask HN: How to prepare for algorithm trading interview as a developer
#4Try showing them something similiar you built.
If the OP wants to show interesting and relevant work, I'd do something like implement an order book client from scratch using the NASDAQ ITCH spec, then add data processing and interesting analysis functionality to it.
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#5Try showing them something similiar you built.
This is risky advice, because it's very unlikely someone without any prior experience can independently develop a trading algorithm that would impress an interviewer. Modern trading algorithms typically have significant amounts of infrastructure, which means you'd have either done this at another firm (in which case, why ask the question), or you've bootstrapped software that correctly handles data processing (multip…
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#6Earlier quoted context omitted.
This is risky advice, because it's very unlikely someone without any prior experience can independently develop a trading algorithm that would impress an interviewer. Modern trading algorithms typically have significant amounts of infrastructure, which means you'd have either done this at another firm (in which case, why ask the question), or you've bootstrapped software that correctly handles data processing (multip…
Why is it "risky"? Pretty strong word to use to mean they may not impress the interviewer. Besides relevant demos are almost always good in my experience.
Imagine if you knew how to develop databases very well, it was your company's core competency and you were (rightfully) opinionated about it. Now imagine you're interviewing someone, and they show you a database they developed, ostensibly to demonstrate familiarity or initiative with the subject matter. Except it's not a database at all, and it doesn't at all match the specification for what your firm (or similar firms) would consider a database. It's just a peculiar method of storing data in a custom file structure.
If you attempt to develop a trading algorithm independently and without prior training, you are approximately certain to design something from first principles that is utterly unlike what professionals do on a day to day basis. Take a look at /r/algotrading (or similar forums) sometime and read about the preconceived notions people have about that a trading algorithm is and what it takes to develop one. These are programmers who read about the subject matter, not simpletons. It's just that there is far more development and strategy work for the modal trading algorithm to be close to something resembling professional work, and the unknown unknowns are very difficult to eliminate without explicit guidance.
That's not to say it's literally undoable, I am aware of people who successfully do it. It's just risky, because you have far higher downside than upside in trying to go that route and present your work to a firm. The problem is not just that you might not impress the interviewer, but that they may (for better or worse) believe you have a lot that needs to be "unlearned."
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#7Earlier quoted context omitted.
Why is it "risky"? Pretty strong word to use to mean they may not impress the interviewer. Besides relevant demos are almost always good in my experience.
Because it's extremely difficult to develop trading algorithms in isolation without any prior background. It's difficult for both programming/software development and research/strategy development. It's also a comparatively secretive industry. It's hard to learn how to correctly develop trading algorithms without "opening the kimono" so to speak. Imagine if you knew how to develop databases very well, it was your com…
I know nothing about trading, but my expertise is databases and search. If someone built a toy database or search engine, I would be impressed even if it didn't come close to Postgres, Elasticsearch, etc. Especially since they would likely be able to answer questions that others would miss, including experienced people, because they built it from scratch. I find it hard to believe that algorithm trading interviews are fundamentally different to every other CS discipline in regards to demos.
In addition, the word "risk" implies danger. There is no danger in failing an interview. Absolutely none. No one dies. No one loses a leg. No one becomes homeless.
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#8It's hard to provide very detailed advice without knowing what exactly you're doing - are you developing market making algorithms? Working on execution algorithms? Implementing strategies developed by researchers? Is this a hedge fund or a prop trading firm? There is a lot that can encompass "quantitative developer" in the front (and back!) office. There are three standards that you can think of as the Cracking the C…
Re: Ask HN: How to prepare for algorithm trading interview as a developer
#9Re: Ask HN: How to prepare for algorithm trading interview as a developer
#10Earlier quoted context omitted.
Because it's extremely difficult to develop trading algorithms in isolation without any prior background. It's difficult for both programming/software development and research/strategy development. It's also a comparatively secretive industry. It's hard to learn how to correctly develop trading algorithms without "opening the kimono" so to speak. Imagine if you knew how to develop databases very well, it was your com…
Unless the demo is hello world level, relevant demos are almost always a net positive. They show passion and initiative. Given two candidates being the same, the one with the demo wins. Given ten candidates, the one with a demo is going to stand out even if the demo itself isn't impressive. I know nothing about trading, but my expertise is databases and search. If someone built a toy database or search engine, I woul…