Interview with trader and programmer Ivan
Introduction from SQ: Ivan Hudec is an accomplished algo trader and developer and long time StrategyQuant user.
You might know him as clonex on our website, he recently got also into custom programming for StrategyQuant, he is responsible for newly added indicators in SQ (Vortex, LaguerreRSI, Kaufmann, …).
If you are interested in custom development for SQ you can request it here: Request coding
Hello, could you introduce yourself? What is your profession?
My name is Ivan. I am middle-aged, located in Bratislava, Slovak Republic.
For many years I worked on a sell-side trading opposition at the futures broker in the Czech Republic. In recent years, in addition to trading, I have been working for a family business. Currently, we are selling a family business and I do plan, finally, to devote 100% of my time to Algorithmic trading and all related matters.
Custom programming, consulting, training, and writing about my experiences in the field of Algorithmic trading.
What do you mean by associated activities in algo – trading? Why there are important?
One of the associated activities that I deal with is, for example, the development and programming of indicators or scripts. I cooperate with the SQX team and develop the new indicators, including new ideas, which help them to make their trading platform much more effective. I also do program the indicators commercially, so I can program the indicators according to the specific requirements and needs of my clients.
How did you start with algo-trading?
It’s funny to remember how I got into trading. Coincidentally, a misspelled the phrase entered into a Google search engine. Already in 2007, when I started with trading in general, I suspected that systematic trading was closest to me. However, I have started to focus more on the algo trading itself in 2011 and on a daily basis in 2014, when I started to use StrategyQuant as the primary platform for strategy development.
How long did it take to achieve the first successes? What was the breaking point?
In some way, I feel that the more I learn, the less I know. There were several breaking points. The most important were the losses and drawdowns during my trading journey. Only they helped me to keep improving and working on myself. The breaking point was the StrategyQuant itself, although I used similar programs before. And of course, the breaking point was a new version of SQX. This allowed me to automate part of my workflow. As well it was very important to start using Python, a simple language that allows me to quickly make various scripts that are used for data analysis. I also consider as very important that I have started to cooperate with another StrategyQuant user Bob, for a year and a half. I’ve never been a fan of ineffective big collaborations, but in a small team with such a large amount of data and ideas, it really goes much better.
What do you like the most about Algo-trading?
I like verifiability, Modelability, and objectivity. I enjoy inventing and „building“ something. I do also remember very well what it’s like to look at charts all day long.
So the fact that strategies do execute the trades without me having to decide on each individual trade, has a huge value.
Could you tell us more about the workflow, which you are using for creating and selecting the best strategies?
It’s important to say, what I use today I may not use tomorrow. Development and the increase in my knowledge and skills were over the last two years very dynamic. I would start with that, that I focus on reducing the overfitting during the building process. There are some „bad“ settings that increase the probability of overfitting. I use statistical hypothesis testing and I try to work with a large amount of data in the analysis. It is a long-term process and in the last two years, I have made two major shifts in the quality of my analytical and decision-making workflow.
And it’s actually all about finding a workflow that will give me as many strategies with a high probability of earning money in the nearest future, as possible, that’s all.
Among other things, we tested several paradigms and found out that many of them were not profitable enough in recent years. In principle, there is a rule in the strategy selection process, which I have statistically based, and it still valid: Simple strategies, the more data, the better.
What is your philosophy regarding creating an optimal portfolio?
The ideal situation is to have uncorrelated strategies in as many markets as possible. In principle, this works by having a pool of strategies that have gone through all the tests and which we decorrelate them by using our own Python scripts and select the final portfolios of strategies. However, it is a matter of constant research and testing. I can imagine adaptive deployment of strategies in the markets, I did the research in it, as well as a backtester, but we currently do have other priorities. I plan to reach the full depth in this area in the second half of 2021.
Are you using for the development of strategies the parameters recommended by optimization or you use different ways?
So far, we are not directly optimizing the strategy, but we are working with what the genetic engine from SQX will generate for us. And so we select the strategies that have passed, either ours or the filters in SQX (SPP and optimization profile). However, in 2021 we are going to take a closer look at the issue of strategy optimization. The further I get, the more optimistic I am about the walk-forward optimization. Again, however, I need to collect enough data to evaluate it. We use Machine learning algorithms in data evaluation and interpretation. I plan to write a few articles about it, as well as about the Phytone as such, and publish them here on the blog.
Every portfolio sometimes suffers from drawdown. What is your approach to overcome it and maintain confidence in your robots?
We are analyzing the live performance of our strategies and when they reach the threshold we do abandon them.
After thorough testing, we came to the conclusion that, on average, the strategies are starting to lose their performance after two years. But this is still an area where a lot of research can be done.
Is there any source of knowledge that you would like to recommend to other traders?
There are some interesting and valuable sources which I work with:
Better System Trader, Machine Learning Mastery, Quantocracy, Khan Academy, Towards Data Science, different Medium blogs, Stack Overflow, and of course, Google.
Do you have any tips about what to avoid or be aware of in Algo-trading?
Do not expect quick successes or linear curves. To be successful in this area requires exactly the same as to achieve success in any other area, and its „continuous hard work and education“. Thinking outside box is welcomed too.
Would you like to share some recommendations with other algo-developers? What to focus on, etc.?
I definitely recommend everyone to repeat and understand descriptive and interference statistics and start learning to program eg. Python, which is very simple, effective and easy to learn. Furthermore, be critical and test everything. SQX opens up a huge number of things that you can test, collect, and evaluate.