Why Software Engineers should do Systematic Trading?
Trading seems like a daunting as well as an exciting task for Software Engineers. Most software engineers have dabbled in trading in some form with varied success. We know because we are software engineers ourselves.
But most engineers start trading discretionarily like everyone. However, discretionary trading is not a game for software engineers because it requires an approach that is counter-intuitive to how engineers think. But Software Engineers have a huge edge when it comes to Systematic Trading and most of them are not aware of it.
Software engineers, by nature of their job requirements, have the predisposition to think systematically - i.e., form hypotheses, implement, test, measure, iterate, monitor, and trust software systems.
- Programming requires thinking in a sequence of instructions or rules. Algorithms require thinking about input, possible paths, and different outcomes and building actions to handle each scenario.
- Software engineers test their systems by default and are trained to think about all possible test cases.
- Software engineers are required to evaluate performance by metrics or KPI-driven measurement and continuously monitor their systems.
- Software engineers have well-defined processes to debug issues and make iterative improvements to their code, measure, and test for backward compatibility.
- Software engineers have a natural ability to trust deployed systems that are well-defined, tested, and monitored without the need to make any discretionary decisions or random system overrides.
All these are characteristics that map really well in the world of Systematic Trading.
- Systematic Trading is about creating a well-defined set of rules that identify the universe of setups to trade, rules to enter into a trade, and rules to exit from a trade. Creating successful trading systems requires thinking about the various input market data points available, possible paths the market can take, and different outcomes possible. Based on that, it requires defining appropriate buy, sell/short, or hold actions.
- Every trading system needs to be thoroughly backtested. While backtesting, one needs to think about all test cases in the different market regimes and environments to test it on.
- Trading Systems are measured by definite metrics or KPIs like profit factor, win rate, reward: risk ratio, expectancy, etc. Also, trading systems need to be continuously monitored to ensure they are performing as expected.
- Trading Systems require well-defined processes to identify problems and make iterative improvements, measure and backtest to ensure they work across all regimes.
- Once a trading system passes all checks and is deployed, one just needs to trust it and make trades accordingly without making any discretionary decisions, or random system overrides.
This is why most Systematic Trading firms hire software engineers. Renaissance Technologies, the iconic hedge fund by Jim Simons, is famous for hiring computer engineers. They have generated an annualized return of 66% in the 30-year period from 1988-2018 via Systematic Trading. Read their amazing story in the book: The Man Who Solved the Market.
Many software engineers quit their high-paying FAANG jobs to move to systematic trading firms. But that is not required! Systematic Trading can also be done at a retail level, where you can trade on the side while keeping your day job.
While any software engineer can write code, they also understand that creating massive systems, as needed for productionizing Trading Systems, requires a significant effort. They can avoid that "boilerplate" and get straight to the core - no software engineer likes re-inventing the wheel. That's why there is an increasing popularity of no-code systems today for almost everything. Similarly, Researchfin.ai offers a no-code systematic trading platform so everyone can focus on the core, i.e., think algorithmically and test their hypotheses fast.
We believe in eating our own dog food first. So we ran a hackathon with our software engineers to see if they could create good trading systems with our product. We have been blown away by the phenomenal trading systems they created though they had no prior trading experience. We believe everyone can, irrespective of your coding or trading experience!
Signup for an invite on our website, if you already haven't done so, to get access when launch.
If you want to learn the fundamentals of systematic trading, this foundational book by Ruban Phukan, our co-founder and CEO, is a great starting point. It has been a #1 bestseller on Amazon with 5-star reviews!