We are glad to announce that new Dev 2 build of an upcoming 136 version of StrategyQuant X was just published. You can download it from our Download page under …
An interview with successful trader Naoufel
As first, I would like to thank you for your decision for sharing your trading insights with our trading community. Before we will continue with discussing algo-trading, could you please shortly introduce yourself?
Hi, my name is Naoufel Taief.
I’m located in Quebec, Canada.
I have a chartered accounting degree and I’m a financial advisor.
I’ve been involved in trading since 2013 and have been trading full time as of 2017.
The live trading performance of one of my main personal accounts is audited by a 3rd party and made available here:
As for my hobbies, I love to play soccer and practice martial arts. I’ve been training in martials arts since 2013 and I focus on Wing Chun and Jiu Jitsu.
How did you start with algo-trading?
I’ve always been interested in the financial markets.
Like everyone else, I had my share of failures.
I blew up accounts by blindly following gurus.
I traded based on news, technical analysis, and order flows.
I bought courses and algo strategies from algo gurus.
You name it, and I probably did it.
While I was looking for a mentor to learn from, I came across a website which exposed scammers and asked for account statements or proof of profitability, such as third party broker audits.
Most of the online algo gurus that I had been following were not willing to share live trading performance over an extended period. Some may have claimed to be the winner of a particular trading competition, or even have won trading competitions multiple times, but the reality is that in order to win in competitions you need to trade with huge risk. Go big or go home.
Some years you go big and blow up the trading account for that competition, but some other years you go big and get lucky, and you can then use the fact that you’ve won a competition in your online marketing in order to recruit traders into your educational or signal business.
The funny thing is that you’ll later listen to an online podcast of those same gurus that have won the trading competitions and they themselves acknowledge that they would never trade their own real accounts in the same way that they trade during competitions.
I therefore found that the key was to see real/live trading performance but over a long period of time, rather than just during a 3 month trading competition.
What I found was that the vast majority of traders who were willing to show their live trading results and that also performed well over multiple years, were almost always algo traders.
That’s what made me decide to leave all of the fake gurus behind and focus on algorithmic trading.
How long it took to be successful, and what was the breaking point?
It took around 3 years before I started seeing consistent performance with my algo trading.
At the time, you needed to learn to code in order to be able to get into the algorithmic trading world.
I wanted to get involved in algo trading, but I didn’t want to spend time having to learn all of the programming side of things.
This is what got me interested in some of the automated system builders that had become available, since these tools could mine the historical price data for potentially profitable strategies, yet no programming knowledge was required.
While it’s great to have system builders that are capable of analysing all of the historical data, the big issue is with filtering out the strategies that are robust and are hopefully not curve fit.
I would regularly have some system builders find multiple strategies, and perhaps even have that strategy pass a couple of robustness tests that it was capable of checking, yet when I started paper/live trading that same algo then I found the performance would degrade massively.
This is the main part that took a few years to develop. I definitely wanted to leverage the system builders in order to take advantage of automation and not needing to spend time learning to have to write programming code, but I also needed to develop my own way of verifying robustness, such that the majority of the strategies that pass all of my robustness checks will still perform adequately during paper/live trading.
What do you like the most about algo-trading?
It’s great being able to leverage modern technology (software, hardware, artificial intelligence) in order to automate an advanced workflow of data mining and multi-step robustness checks. Doing this manually would take a huge amount of manual effort.
It’s also great not needing to spend time learning to become a programmer. A system builder such as StrategyQuant can write the code for the strategies, so you can spend your time on hunting for good opportunities rather than learning to write code.
An important benefit of algo trading is that it saves you from yourself.
If you do traditional discretionary trading, once your emotions get involved then that’s a great way to wreck your trading performance. Traders tend to make the wrong trade at the absolute worst possible time when their emotions get involved.
Even if you somehow were able to keep your emotions in check, then the fact that you’re trading with discretion implies that you can’t really rely on past trading performance in order to try to predict future performance, since your trading strategy won’t be consistent.
In contrast, algorithmic trading is 100% mechanical and involves zero discretion. This also ensures that we don’t let our emotions lead us down the wrong path. The combination of these factors gives us consistency in our trading.
Last but certainly not least is the ability to have unlimited diversification with your trades. You can trade any ticker/symbol, any sector, any market, spanning any timeframe of your choice. Being able to have a large portfolio of algos where the returns of each algo are uncorrelated to the other algos is as close to the holy grail as you can get.
When one algo is taking a drawdown, then hopefully the other algos aren’t taking a drawdown at the same time. In fact, you’ll regularly find that some of the other algos are actually seeing a profit during the time that the first algo is in a drawdown.
At a portfolio level, these two factors combine together to give you excellent risk adjusted returns.
Could you tell us more about the workflow which you are using for creating and selecting the best strategies?
I treat my trading as a business. My algos are my employees. I make sure that these employees are fit for the job. I try to apply the concept of “Hire slow, fire fast”. I take a lot of time to develop my strategies, but I won’t hesitate to remove them if they aren’t performing as expected.
The rough guidelines are:
- We’ll identify instruments that have highly volatile price action
- We’ll try to gather as much historical price data as possible, across multiple timeframes
- We’ll select specific indicators to build our algos with the minimum rules possible
- We’ll build our algos based on the “personality” of the instruments (AAPL doesn’t trade the same as COSCO)
- We like to study the instruments. We want to know which period can be considered as “bull” or “bear”
- We aim to have bull/bear/neutral market conditions in each of our in-sample and out-of-sample datasets.
- There are some specific metrics that need to be respected in all the periods in order for the algo to be selected for further robustness checking, which we get into detail in the course we’ve created
- We then go through multiple robustness checks as part of our automated workflow in SQX
- Once we end up with a number of potentially viable algos at the completion of the multi-step workflow in SQX, we then run through some manual/visual checks
- The algos that pass the visual checks then get incorporated into a portfolio based tool that can look at correlations between the individual algos as well as total portfolio exposure levels
- The final algo selections are then put into incubation, which is paper trading
- After a period of time of incubation, we want to validate that the algo has been performing within the boundaries of what is considered to be normal for that algo
- Algos that pass the incubation phase are then traded live, either at minimal size initially (in order to validate things such as true slippage, etc) or at full/normal size
- Live algos are then monitored in order to ensure that they continue to trade within normal boundaries of P&L. Algos that draw down more than we expect would get removed from live trading and either put back into incubation or retired completely
You can get the full details of my entire trading methodology in a course that I created with Ron Bertino called “Mining for Gold”, which you can find at the following page:
What is your favorite robustness test?
The two tests I like the most are sample selection and Monte Carlo.
Sample selection: selecting the right in-sample and out-of-sample periods is key. If you’re building a long only algo, you don’t want to build strategies where the in-sample and out-of-sample periods are just in a bull period. As the saying goes, “everyone is a genius in a bull market”. The likelihood of a strategy being curve-fit is very high when you don’t select the sample correctly.
Monte Carlo: reshuffling the trade sequence to know that is your worst outcome and your level of “luck” is key. You don’t want to select a strategy where you are the luckiest in terms of trade sequencing.
What is the proof for you that your strategy will work in the future?
Nothing is ever 100% certain, but I feel that the closest you can come to “proof” is via showing live trading results of real money over multiple years of time.
One of my main trading broker accounts are audited by a third party called Kinfo. You can see my performance over the past few years on this page:
This shows the performance of over 2400 prior live trades, with 50+ algos running at any time.
What is your philosophy of creating an optimal portfolio?
I want to control my exposure to each algo and make sure that they’re all uncorrelated.
Correct algo sizing is very important. The last thing that you want is being over-leveraged on the wrong underlying.
The use of leverage is also a good way to increase returns even further, and this makes correct sizing even more important.
Every portfolio sometimes suffers from drawdown. What is your approach to overcome it and maintain confidence in your robots?
We all have drawdowns. That’s just a normal part of trading.
In our “mining for gold” course (https://university.tradingdominion.com/p/mining-for-gold), we teach a simple and effective way to deal with trading systems that are no longer performing as expected. This can be done both at an algo level as well as at the portfolio level.
Knowing when to stop a strategy is as important as creating one. We want to keep our mental and financial capital intact in order to be able to trade correctly.
Is there any source of knowledge that you would like to recommend to other traders?
At the end of the day, learning from someone who has skin in the game was the game changer for me. Nassim Taleb books illustrate this concept in more detail.
In our “Mining for Gold” community, we have market makers, fund managers and real money traders that are collaborating and exchanging ideas/workflows within the group. Having this kind of entourage will always make you a better trader. No one person is great at everything, so it’s great being able to collaborate with a large group of experienced and hard working traders which can contribute what they’re individually best at, and the entire group can benefit from this collaboration.
Do you have any tips about what to avoid or be aware of in algo-trading?
Study the underlying that you want to build algos on. You need to see it like a sport match. All the world champions study their opponent. In our case, we need to study the market that we’re trading.
The biggest potential problem to watch out for with data mining is robustness and dealing with algos which could be curve fit. We have a multi-step process that we go through in order to try to increase the odds of robustness, starting from multiple steps that are automated through to a couple of steps that are done manually.
Stay away from algo trading gurus who don’t show live trading performance over multiple years. Winning trading competitions is not a good way to judge knowledge/experience of the algo guru, since huge risk is normally taken by these people; they either do very well or they blow up the entire account. You want to see live trading performance of a real account, with real dollars, over multiple years.
Attachment – Naoufel’s Interactive Brokers performance report: Naoufel Taief VAMI 2021 year end-