Interview with algo-trader Petr Kouba

Hello, could you tell us a little bit about yourself?

Well I’m already an older man, after graduating from mathematics and physics I have been working in insurance sector for 24 years, most of the time in middle management positions, well and now I’m a fulltime algo trader.

I already have many years’ experience investing in stocks, options, warrants and certificates.

How did you start with algo trading?

I started with EAs only after purchase of StrategyQuant. Until then I had only very vague ideas about how it works, especially on US indices. I’ve been ignoring FOREX so far, but since SQ was focused mostly on FOREX at that time, I started with EA on EURUSD, USDJPY, EURJPY and gold.

How long did it take to become successful and what was the turning point?

What has helped me greatly was that I became a member of a small group of SQ enthusiasts who worked hard on it every day.
The amount of work and progress we managed in six months would take me alone about three years.

This is also my big recommendation for algo trading – don’t isolate yourself and share your know-how, opinions and findings with other friends.

Obviously, we had to pay some “tuition” fees before we were able to learn and adapt to the differences between brokers, the differences between demo accounts and real, to slippages and gaps.

The turning point for me personally was when I was able to trade DAX with EA (using CFDs).
Moreover, it was just at the time when DAX behaved in a very “standard” way and EA performed perfectly on it.

What do you like the most about algo trading?

Automatic systems are constantly on the watch in several markets at the same time, I would not be able to do this manually.
They trade autonomously, according to predefined rules. They more or less force money management to be respected.
The possibility of backtesting any strategy is perfect. It is very important to not fool yourself with backtest results.

If you do backtest even on tick data, but with ideal conditions, the results of such backtest will always be better than reality.
Be sure to set a slightly higher spread in SQX than it is by default and add the slippage.
Try to compare each trade on backtest and on the real account for some time and try to get results of backtest (on updated data) to the results of actual trading as close as possible.
I’m using MT 4 with TDS addon, which allows to use many additional variations of test setup. So I test every strategy also in the MT4 platform.

Fig. – example of a strategy that is too sensitive to data – we see a simulation on 5 different data of the same instrument. The possible profit interval ranges from $ 1202 to $ 2280 only for this short period (about a year and 1/4). One of the robustness tests – the strategy failed.

Fig. – example of a strategy that passed the test – end-period interval between 2684 USD to 2858 USD.

On the other side, I pay for several VPS, I need powerful HW to generate strategies. But I wouldn’t change it for discretionary trading.

Can you tell us more about the workflow you use to create and select the best strategies?

Previously, it was quite complicated in SQ3 because robustness tests had to be done manually or semi-automatically.

Today in SQX with Custom Projects, everything is simple, and you “only” need to think up and create the workflow (which is probably the most difficult part) and then let SQX work for a few days.

Personally, I use little specific workflow – I don’t use WFM (in my opinion it only serves to reveal pre-optimization, which I can recognize in an easier way) and I don’t do even a newer SPP method.

For final strategies selection I put a lot of weight to a few simple metrics such as SQN value, R Expectancy, Sharpe Ratio, stable annual number of trades. I prefer balanced Long / Short symmetry, maximum average profit per trade, annualized R / DD, etc.

I use maximum two entry filters, but I prefer only one and then look for a completely different second one.

If time permits, I’m trying to understand the basic strategy logic, look at trades results in visual mode. I don’t like to trade something I don’t understand.

The standard SQX settings should to be somewhat reduced, for example, when I test generating strategies that use the same entry price level and generate only entry conditions, then the strategy with best equity and metrics has this entry filter:

LongEntrySignal = (LinReg (Main Chart, 453) [3] is rising for 2 bars at 8 bars ago);
ShortEntrySignal = (LinReg (Main Chart, 453) [3] is falling for 2 bars at 8 bars ago);

I would not think at all about accepting this strategy (explanation – these entry conditions don’t make logical sense, they look random and are probably curve fitted to data).

In the generated results there usually are groups of similar strategies, which trade at virtually the same entry level and differ only in the filters and settings of SL, PT, TS, etc.
I try to select one representative of the group for further testing. If there are only 1 -2 similar strategies in the final results I usually throw these right away.

What is your philosophy of creating an optimal portfolio?

I am not in favor of working with any portfolio optimizer and choosing 10 strategies out of 50 to complement each other.
I try to solve correlations between instruments and then mainly correlations between strategies. It wants to mix as many different approaches (swing, breakout, reverse, trend following, BIAS) on a larger number of instruments – I trade FOREX, CFDs on indices, CFDs on commodities.
There will always be times when (for example) your EURUSD strategies will be not doing well for half a year, but most profit will be generated on GBPJPY.
Breakouts will not work when the markets are stagnating.

I recommend following these periods of success on individual instruments and to adjust the MM accordingly – meaning I put more money on instruments that perform better at the given moment.

Most investors tend to make the wrong decision to deploy strategy or the whole portfolio at the moment of peak its results. But peak results are usually followed by drawdown, nothing can grow only up.
In my opinion it is better to start trading live when there is a sign of recovery from some previous drawdown.

Are you using optimized parameters for your strategies or what strategy parameters do you use?

I basically do not use optimization. When choosing strategies, I prefer strategies from lower of generations.
When you optimize individual strategies, you usually artificially increase your R / DD by artificially lowering your DD. Then, when combining these optimized strategies into portfolio, even Drawdown simulated by Monte Carlo won’t help you.

Every portfolio sometimes suffers from exhaustion. What is your approach to overcoming it and maintaining trust in your robots?

Certainly guard the Drawdown of every strategy and replace the unsuccessful ones (the ones that exceed the maximum historical Drawdown) with a fresh blood.

Is there a source of knowledge you would like to recommend to other traders?

I visit for example this for inspiration:

I also closely follow the development of SQX strategies in the group around the trader with nick Hankeys.

Sometimes I look for an idea here:

Do you have any tips on what to avoid or should know about algo trading?

I close most of the strategies on Friday evening, also pending ones, because I do not want to risk any weekend gap.
I’m avoiding Friday’s announcement of the NFP (the first Friday of the month), which usually causes movements on both sides and there is no more room to use the subsequent movement for profits.
The markets now behave similarly in announcing the ECB rate and the subsequent conference.

In an interview here you were showing a real account – what does it look like now?

This year is not simple – EURUSD has been behaving abnormally for a long time and indices are under fire from fakenews, Trump’s tweets, US-China deal and Brexit.
Profits are now generated mostly by JPY-based pairs. I assume that we will soon see more interesting market movements!
I also want to look at SQX new possibilities of developing intraday futures strategies on TradeStation.

Real account equity

What would you recommend to quant novices?

Don’t work alone. Work on yourself and find relevant sources of information on the net.
Don’t waste time with scalping and M1 or M5 timeframe (a lot of data noise).
Do not overtrade – it is better to have less trades, but with better “quality” and higher average profit.
Have reasonable expectations – trading is not a get-rich-quick scheme.
Do not strive for the most perfect equity shape – perfect equity is a sign of curve fitting.
Maximize diversification, although options are partially limited.
There is no Holy Grail, there is only the depth of your understanding of markets and their development. Quant trading is only a game of probability.

Kornel Mazur

Kornel Mazur

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
Hani Hamdan
Hani Hamdan
December 12, 2020 9:29 am

Excellent insights, thanks for sharing.

Continue reading

comparison blocks

Creating consecutive blocks in a Strategy Quant X

clonexJune 28, 2021

In StrategyQuant X 131, we have added two new comparison blocks. In this article we will discuss them in more detail. Comparison blocks are snippets that we can use in the Algo wizard or  Builder and are used to be able to compare two values. ( Left and Right )

How to build and backtest strategies in MultiCharts

Tomas VanekJune 15, 2021

Performing backtest of the strategy in the trading platform is a necessary step before going live. Generally, all trading platforms are performing the same tasks which are providing the environment …


Futures contracts and algorithmic trading strategies

tomas262June 4, 2021

Futures contracts have been around for over 300 years. It provides opportunities not only to hedge against future price fluctuations in various commodities and financials and also to speculate and trade more actively both manually and algorithmically. StrategyQuantX offers a very efficient to do so.