November 30th, 2009, 10:16 am
That's a valid question farmer, and I will share how I try to work this out.Firstly we need to discriminate between merely being bright, and the specific abilities necessary for algotrading.Some smart people are what I call "good at algebra", a good number being vastly better at this than me, or indeed the hiring managers.Of course you need to be good at maths to do algotrading, but it is not enough.It needs to "mean something" to you, you must be very good at applying any maths you learn in a different context to the one you learned it.For instance, markets behave in some ways like trees in the wind, and the maths of mean reversion, resonance, etc transfer quite nicely, as does catastrophe theory to the way they fall over...I assume 99% of people here understand this, some may will regard it as trivial, but did it ever occur to you ?Probably not, but a simple objective test is how often you've thought about using game theory in picking up women, or decision tress when arguing with them once they've moved into your house When in a supermarket, do you find yourself thinking about portfolio optimisation in the range of goods on sale ?I actually don't care what maths you use to solve what problems, but the test is how often you think that way.You must also be a hacker.A good % of the people in this line of work have done things to computers that the person who set the rules would have objected to.Some have done this with considerable distinction...One very well paid US role we have for a sort of quant developer in algorithmic trading requires them to have done things to network packets that would get your fired at most large banks.That's not so much criminality as a mindset of things that get in your way are bugs, and security is merely another defect in the system.Undocumented features, things that shouldn't work but do, and APIs used in ways that the manual specifically says not to use.For example when working at IBM labs, we got a snotty PTR response that said it was inherently impossible to subclass Windows in a different process.By reflex, a dozen of us raced to find out how to do that, even though it was no part of our job.It took 5 whole versions of Windows for MS to (mostly) stop the techniques that came out of that, indeed one reason Vista is such a dog, are the methods they used If you think that is a juvenile way to behave, or simply can't work out why one would waste your time doing that, don't bother ever sending me your CV for an algorithmic trading job, no matter how good at C++, signal processing, et al you think you are.Some % of algotrading is obsessing about details so small that you can never even be sure that it is really there. You must have a mindset that is happy to use tools that help you, but you are in not emotionally dependant upon them."emotionally dependant" was not the first way I wrote that last sentence, but it seems best to fit the defect replacement model that I have.Some people are clearly "scared" of leaving documented programming interfaces, or using maths that they believe are unsound or do not fully understand. I sometimes articulate that as needing their hands held, which is not just a term for lack of ability but lack of courage as well. Of course few people die in algotrading, but you have to be able to work on your own, and you must have confidence that you can "cope". That well founded confidence can only come from knowing how things work. That's not just computers, but a general view that things are processes, even if you don't know what the process is.I do slightly disagree with farmer that people don't know how their general intelligence stacks up.Of course they will be unsure exactly where they fit in the distribution, but I think I can define a useful, yet simple self test...How often have you mastered something that your peers regard as mystifying ?This is not only a measure of "smart" but that you don't just beat your peers at exams. Of course to get into this, you will have got through some stiff papers, but that is not enough.Can you learn a new, hard thing without someone explaining it to you ?I hope you will note from all this that I've kept away from saying you must be good at X and Y....even C++Some ATs don't use C++.But even then, they ask for it, because C++ is almost always self taught, and difficult. It punishes weakness without even the concept of mercy.Yes, I know I teach C++, bit that's 60 hours of being told what to do, you are only a C++ developer when you build something yourself.That's because at entry level, a good % of hiring managers just want "smart" people as I've partially defined above. I am of course only reflecting my limited understanding of poorly articulated requirements.