Give yourself a pat on the back if you manage to make it to live trading. To get here, you probably had to develop a better understanding of your markets, backtest countless trading ideas, and finally create a diverse portfolio of strategies.
It’s finally time to put real money on the line. If this is your first foray into live algorithmic trading, you may be feeling apprehensive.
How will you track your strategies’ performance in real time? What is your contingency plan if the strategies underperform? This article will address the above considerations.
Before you begin, you may consider renting a virtual private server (VPS) to reliably run your strategies. Check out this post on how to select an optimal VPS, and maximize its performance during live trading.
Monitoring Your Strategies
Some traders use the strategy’s most recent performance to determine whether the time is ripe to start live trading. I simply start trading right away, since I cannot predict how the markets will behave in future. I trust that the trading edge shown in the long-term backtests will surface at some point.
Automated trading does not mean unattended trading.
Although trading actions typically require no intervention, you need to ensure the program itself does not encounter any runtime errors.
When I first start trading a strategy, especially one that was not previously incubated, I spend at least a week or two regularly checking for errors and verifying that all trading actions are executed correctly. Your trading platform probably logs your strategy’s actions somewhere; this would be a good place to check for errors. If you use MT4, the ‘Experts’ and ‘Journal’ tabs will come in handy.
Discipline is required even in algorithmic trading. Resist the urge to interfere with your strategy’s operation, otherwise you will be invalidating your backtest results. I may consider prematurely exiting open positions during times of severe market turmoil; at all other times I prefer to be a spectator. I simply observe and ask myself: Does the strategy’s live performance meet my expectations?
Strategy Performance Charts
I use my historical backtest results as performance benchmarks for live trading. Each strategy in my portfolio is monitored individually. If I need to remove or replace an underperforming strategy, the rest of the portfolio will not be drastically affected. Your trading frequency determines how often you should track your strategy performance; I do this monthly.
As discussed in the Forward Testing section, you can use t-tests and chi-square tests to determine whether your average trade and win rate, respectively, are in line with these benchmarks. For live trading, however, I prefer to have charts that display the trade-by-trade performance of my strategy.
Shown below is one such chart being used to track a Bollinger Band trend strategy. These charts contain my actual trading results superimposed over the expected results, along with upper and lower bands which indicate normal strategy operation.
A guide to creating these performance charts is given below.
Step 1: Obtain the average trade (expectancy) from your historical backtest
This statistic should be available on your backtest report. Since currency pip values change over time, I recommend using pips gained/lost instead of dollars, although either option should suffice. This example will use dollars.
Step 2: Obtain the standard deviation of your average trade
You will need the profit/loss of every trade in your backtest. If you’re using a MT4 backtest report, the easiest way to get the standard deviation is to paste your backtest results into Excel and use the STDEV function.
Step 3: Plot the expected results
With the average trade, plot the expected results using the equation ‘N * Average trade’, where N corresponds to the trade number (i.e. 1,2,3…). You will get a diagonal line like the black dashed one above.
Step 4: Plot the upper and lower bands
Using the standard deviation value, plot the upper and lower bands using the equations:
I usually set the standard deviation multiplier to 2; more on this value will be discussed below. You should now get the green and red curves shown in the chart above.
Step 5: Plot the actual profits from live trading
Obtain the profit/loss of each live trade and plot the equity curve, starting from $0. To compute your equity at any point, add the profit/loss of your most recent trade to the equity immediately before that trade.
There are many free online tools that can track your trading results. I use Myfxbook, and I simply download my trading results at the end of each month. If you are using dollar-based profits/losses, make sure your actual and expected results use the same lot size.
Interpreting the Strategy Performance Chart
Over time, I expect the live equity curve to hover around the expected results line. In the chart above, the equity curve mainly consists of series of small losers, interspersed by a few large winners. This is typical of trend strategies. The opposite should be expected for countertrend strategies.
The distance between your upper and lower bands is dictated by the value of the standard deviation multiplier; I previously mentioned I use a value of 2. For tracking purposes, I assume my trading returns follow a normal distribution, which is a reasonable assumption if your backtest contains hundreds of trades.
With this assumption, and a multiplier of 2, I can interpret that the live results should fall within the upper and lower bands 95% of the time. If the equity curve extends beyond these bands (even the top band) and stays there, it means my backtest results are probably not representative of the strategy. If this happens, I may decide to demo trade the strategy, or discard it entirely.
It is important to remember that trading is probability-based; it will take time for your edge to play out. I prefer to give each strategy some breathing room, about 30 trades or so, before deciding whether to keep trading it.
Deciding When to Quit
Trading is difficult, and very few strategies will work indefinitely. At some point, you will likely ask yourself whether it’s time to quit trading a strategy. There are countless ways to determine this, but what matters is that your quit point is:
- Determined before you start trading, otherwise emotions may get in the way
- Determined using your historical backtest as a reference
- Adhered to
Some possible quit points are listed below.
Lower Band of the Strategy Performance Chart
With a standard deviation multiplier of 2, there is only a 2.5% probability that your actual results will fall below the lower band. If you use a multiplier of 1 instead, the corresponding probability is 16%.
If your results fall below the lower band, and show no immediate signs of rebounding, it’s probably best to quit. Without the benefit of hindsight, however, this can be difficult to execute in real time. Let me give a personal example.
The performance chart below is from a GBPCAD countertrend strategy I traded in 2020. I updated this chart at the end of each month.
After August 2020, the strategy had come close to the lower band, but quickly rebounded. Since only 25 trades had elapsed, I decided to give the strategy more time.
A month and 10 trades later, the strategy had once again fallen to the lower band, and showed no signs of improvement. I decided to discard the strategy at this point.
The maximum drawdown in your historical backtest can be used as a quit point. An alternative is to use a multiple of the average or root-mean-square drawdown.
Number of Consecutive Losing Days/Weeks/Months
Having a time-based quit point may be crucial if you trade for income, or you have limited capital to go around.
Even if your strategy makes money, you may prefer to allocate your capital to a better performing strategy.
If the quit point is hit, it does not necessarily mean that the strategy lacks a trading edge; sometimes the current market conditions are simply unfavourable. Nonetheless, my preference is to discard the strategy permanently.
You can also decide to demo trade the strategy for the time being, in hopes of eventually having it reinstated in your portfolio, perhaps with a reduced position size.
Apart from tracking strategy performance, I periodically perform the following maintenance activities on my portfolio. I usually do these every 6 months, or when I sense a significant shift in market conditions.
As mentioned in the ‘Portfolio Trading‘ article, strategy correlations do shift over time. If some strategies become too correlated for your liking, you may need to remove them from the portfolio, or minimize their position sizes.
Rebalance Position Sizing
When there is great uncertainty in the markets, like what we witnessed in early 2020, I tend to rebalance my position sizes to favor my trend strategies.
Strategies that have displayed strong live performance are also candidates to receive larger sizes.
Check for Better Strategies
As your strategy development process evolves, you will likely obtain strategies which exhibit better performance, or are more closely aligned with your preferences. I usually add these improved strategies to my portfolio, as long as they do not cause any capital or correlation issues.
Live trading your automated strategy should be the easiest part of the process. Knowing how to track your strategy performance, and establishing a predetermined quit point, will help allay any anxieties you have.
Performance tracking can be accomplished using simple statistical tests, although I prefer to graphically track my strategies on a trade-by-trade basis. The performance chart presented above lets you know at a glance how your live performance compares to your backtest results. If your strategy underperforms and hits your predetermined quit point, remove it promptly and live to fight another day.
Through this series of articles, I have introduced some common strategy development tools to you, and hopefully managed to convince you that algorithmic trading is within the capabilities of the average retail trader.
With these tools at your disposal, you can customize your development roadmap to suit your trading markets and preferences.