ASM is no question the way to go to produce the fastest code, but I think you forget over all your ASM excitement that this industry does not optimize for speed but PnL. Most users were absolutely right that it is much more efficient, cost management wise, to throw more hardware at an algorithmic/data mining problem and coding in a higher level language than risking to run on a language that makes it very easy to introduce bugs that can be incredibly hard to debug. To my knowledge hardly anyone on the hft side touches assembler.
I find discussions such as this really miss the key point of algorithmic trading which is the actual strategy. Data mining and machine learning are hopelessly over-hyped when it comes to profiling, testing, and implementing new profitable trading strategies, no matter in what time frame. I see this every single day: It is incredibly easy to come by highly talented programmers, PhD level physics grads, statisticians and mathematicians. Unfortunately you are still short of a strategy that holds up to changes in market dynamics simply because those without years of trading and risk management skills simply lack the know how what works and what might not work. They believe you throw in couple fancy algorithms that crawl through heaps of tick data and voila... out comes a profitable trading strategy. Nothing could be further from the truth, at least from what I witnessed within my 14 years of financial market exposure.
There are guys without high school diploma who run whole trading desks at an MD level and there are people who run on self-written algorithmic trading platforms strategies that make a very decent living in mid-to-long frequency space. There are tons of extremely smart guys who make tons of money in this market but they all share a common trait: An intricate level of knowledge of mass psychology and how it applies to price finding and deviations from fair value at times of stress. On the other side have I hardly ever seen or met a programming or math guru who proved equally successful in trading. So, such people now pull low level programming languages, scripting languages, machine learning and all the other academic arsenals out of their shirts in the hopes to still catch the train without actually seeing they are attempting to get on the completely wrong train.
Often the dirtiest platforms, with tons of patches and upgrades applied on top of each other make the most, and that is the PRECISE reason decision makers refuse to re-invent the wheel and rewrite everything so they can claim a beautiful code base. Beauty, elegance, and programming sophistication are not guaranteeing a single penny, at the very least they are a small part of the overall deal.
I recommend you go and get a drink and rejoice you possess great assembler programming skills but you may want to reassess what you really want to do with it, programming skills alone dont get you anywhere in this particular industry. Maybe you want to refocus and concentrate on writing elegant code for people who appreciate elegant code, people with allocation decision making power to channel hundreds of millions of capital definitely are not your target.
Just my 2 cents....
Quote from braincell:
I'm just curious if there are any coders here that worked in ASM (MASM, NASM whatever)?
It's obvious that the high end applications will need ASM to have a technical edge. This includes:
Online: market making, arbitrage
Offline: data mining
I've also heard of many speed critical programs being developed by well funded teams not using ASM and was wondering why? It can and usually does outperform the best compilers by at least 5 times in various tasks in terms of execution speed. There seems to be a lot of room for improvement there, and I was wondering if I am in fact misguided and ASM is really much more widespread in various trading applications?