Hi HN Community,
during the last couple of weeks i spend a lot of time on building a fully automated trading engine.
Some kind of "disclaimer": im now in the financial space since ~13 years, working for startups, creating new banks and working for them.
While i'm not an "equity guy", i thought there should be some potential when playing around with some of the data feeds: it should be possible to build a fully automated bot, which is just a simple trend-following model and the system should just jump on running trends on whatever mega-corp stock, go with them some days and then exiting.
So i started to build an engine which contains all the things i learnt during this interesting journey:
the system reacts dynamicly depending on different market structures, it also integrates events (like earnings dates etc), it goes long and short, it captures trends for only 2 - 3 days sometimes.
Now, im that convinced that this application should work under real market conditions; during development, i also made sure that the system works under "live conditions", meaning that data is added incrementally to the algos etc. (i found out there are a lot of wrong calculations/indicators/chartings out there which are failing if you connect them to a "real" datastream, since very often a massive mistake is done during development: presenting the "data as a whole", which leads to perfect results in testing, but fails completely under live conditions etc.)
A special perk with the application is the following:
in my country, there are special leveraged products available (turbo warrants), which are just replicating the increase/decrease of an underlying by given scale/gearing, just that simple. Those are nearly risk free if you hold them only for a couple of days with a decent lever/gearing.
I say nearly risk free, since, for sure, the position may crash if a completely unknown Unknown appears (like a military event or similar)
Applying a leverage to the trading behaviour magnifies the results massivly, it should easily be possible to get 400-500% per year.
The math is very simple: the system is shooting at currently 150 symbols across NASDAQ100 and SP500, jumping onto the short-term trends, regardless if long or short, and applying a lever/gearing of 3 - 7 and then reinvesting, rinse and repeat for one year.
Why automation is the only way to win as "active market participant":
Most people have 3 - 10 stocks in mind when thinking about investing, and maybe they are following 20-30 items on their watchlist "which they watch from time to time" - if they are watching it at all.
i have a different perspective: analyzing the biggest stocks worldwide on a daily base an computing my entries/exits, there are opportunities every day. Its not about "doing this one big trade", its about continuous and reliable but smaller returns on a reliable basis: The system is handling around active 30 - 50 positions under normal conditions (and my starting budget is limited...)
Automation on a larger list of strong stocks is the only chance to outperform, in my oppinion.
Now i showed all of my ideas, results, data and code to some people to get some feedback:
- all of them are "equity guys" and working in the field as "investment fund manager" or similar or they are working at larger banks in whatever departments
- none of them is a CS-guy understanding anything of coding etc.
ALL of them say that i shouldnt connect my system to the real market since it will quickly loose money - and the only answer, when i dug deeper, was:
"...because there have been others before you who thought they were smarter than the rest..."
So - who is wrong? Is it me and i oversaw something critical?
I would encourage you to read the books "Antifragile" and "The Black Swan" by Nassim Taleb. The risk you're running may have low probability, but also has massive effects when it does occur, and such events are responsible for a major part of both gains and losses in financial markets.
>"because there have been others before you who thought they were smarter than the rest..."
Short term trading without a latency advantage is a zero sum or negative sum game. Every opportunity your bot considers is also being considered by competing bots, with way more capital than you. Maybe you are smarter than the other market participants, but it sounds like maybe you haven't done your research on how sophisticated other bots are. It's a bit like betting on yourself in a sports competition before finding out how your skills compare to the people who regularly win those competitions. However, unlike sports where you'll be immediately trounced by a professional, you might make some good returns on small trades to start, which will make you feel comfortable putting your capital at risk, and then you'll lose it all.