Before the algorithm goes live, trading on a small account is the testing phase closest to real trading. This phase has the following benefits.
Hypothesis Testing
All assumptions in the previous testing stages like price slippage, algorithm activations per day, and order matching rate will be revealed in the real environment. However, some specific assumptions can only be tested with large capital accounts and not at this stage.
Test the Trading System
All other testing phases do not involve the automated trading system directly. This is the phase to fix any remaining bugs and to check how well the algorithm works with the operating infrastructure and the algorithmic trading system. The trading system is considered to be working properly when the operating algorithm is 99% stable compared to the ideal assumption. In principle, a small account test should match the results of paper trading. The following are some key differences to consider when evaluating algorithm performance at this stage.
-
Order matching time. The previous tests assume that the orders are executed as soon as a signal appears. They do not account for price delays, data processing, and order placements. Comparing order matching time to ensure low deviation (less than 02 seconds) is a very important criterion at this stage to ensure low deviation. For some strategies that require high speed, code execution optimization can improve performance. It reduces execution latency and the possibility of price slippage, maximizing performance and taking more opportunities.
-
Order execution price. The execution price is usually assumed at the current price minus slippage. If calculated correctly, this assumption will be reasonable in the long run. If there are 30 or more trades with matched prices higher than the expected 0.3 points in future contracts, traders should verify their assumptions.
-
Partial or no match. This case is often overlooked in a trading simulation. However, it’s inevitable in real life with a sufficiently large account.
-
Matching ratio vs assumption. Compare the order matching statistics in small account tests with previous tests. It’s especially important for algorithms using limit orders.
-
Operating time (uptime). Check system stability. If the system works under 99% of the trading time, it should not proceed to real trading.
Keep in mind that, for trading multiple algorithms, the trading system has its own testing method. A small account test is only to check how well the algorithm fits with the existing system. It’s not a test for the trading system itself.
Prevent Overfitting in Sufficiently Long Operations
This is the most crucial point in small account tests: any overfit algorithm will likely fail at this stage. 30 transactions are sufficient to evaluate an algorithm’s operation.
To determine whether poor outcomes of small account tests stem from randomness or faulty assumptions, the algorithmic trader must analyze the situation carefully. More than 95% of the time, the problem lies in making incorrect hypotheses. Pinpointing the root cause will enhance algorithmic thinking greatly.
The example below shows how to use an algorithmic benchmark to evaluate a small account test.
If the test meets either of the criteria above, we can proceed to real trading.