This is an answer to a question on Quora. It got re-posted and shared across Quora users.
Answer by Laurent Bernut:
Complexity is a form of laziness
Complexity is fragile: it works until it does not
There are two types of algos: low-latency and systematic algos.
Low-latency is the realm of HFT. Those algos can be quite intense. Read dark pools or flash boys. There are now algos gaming other algos. It is a bit like the “sperm war” in the “red queen”, a book on evolutionary psychology.
At the other end of the spectrum is systematic trading. It stems of the belief that if investment is a process, then it should be automated. Those algos are conceptually easy to understand. They are not however always easy to program.
At the end of the day, algos are a reflection of the philosophy, beliefs of those who design and code them. Those who have not mastered their craft will gladly put lipstick on a pig, by adding complexity to flawed concepts.
Those who have worked a bit harder will simplify. Simplicity is not easy
Sorry for the philosophical answer