Release note
Stops now fill inside the day, and tests charge more for trading
Two things changed in how a backtest trades. Both make a test closer to what a person could really have done. Both change results: a test you run today will not match the same test run last week.
Most results will come out a little lower than before. Every order in a test now pays 0.05% of its value in trading costs, so a buy and a sell together cost 0.1% (10 basis points). Until today it was 0.015% an order, 0.03% for a buy and a sell (3 basis points). That was lower than real investors usually pay once the gap between the buying and selling price is counted, and lower than the 5 to 15 basis points our own guides describe. A rule that trades a few times a year loses a few hundredths of a percentage point a year. A rule that trades often loses more. In our own set of 98 test cases the typical rule lost under a tenth of a point a year, a rule that trades about every two weeks lost a little over one point, and one that trades more than once a week lost a little over two. Buy and hold barely moves, and the comparison it gives every rule is charged the same new costs.
A stop-loss or a profit target now works like a real order. Until today a test only looked at each day's closing price. A stop at 90 that the price fell through during the day was sold at that day's close, wherever it was, and a fall and recovery inside one day was not seen at all. Now a stop is an order waiting at its price:
- If the day's lowest price reaches the stop, it sells at the stop price. - If the day opens already below the stop (the price fell overnight), it sells at that day's opening price, which is worse than the stop. Real stops do this too. - A profit target is the mirror image: it sells at the target when the day's highest price reaches it, or at the opening price when the day opens above it. - A trailing stop for a day is set from prices before that day. A day's own high never lifts the stop it is checked against. - A position bought at a day's close is not checked on that day. - Daily prices do not show what happened first inside a day. On a day that reached both a stop and a target, the test takes the stop, and the result counts how many such days there were.
Results with a stop or a target will differ from before, in both directions. A stop that is hit inside the day now sells that day at the stop price, not at a close that may have been much lower or may have recovered. Stops are also hit more often, because a brief fall inside a day now counts. Each result says how many of its stops sold at the stop price and how many at a day's opening price.
Each result now says when its trades were made, in one sentence. For most rules: every trade is made at a day's closing price, one trading day after the closing prices that decided it, except a stop or a target.
Each result now says how big its orders were. Every order is compared with the average value of that share traded on the 20 trading days before it. The full report states the largest. If any order was more than 1% of an average day, the result says so in plain words: a real order that size would have moved the price, and the costs shown do not allow for that. Ordinary small accounts are nowhere near this. Where our data has no trading volume for a share (some funds), the result says the size could not be measured. It never assumes a figure.
What has not changed. UK stamp duty, currency conversion costs and a broker's own fees are as they were. A rule with no stop and no target trades on the same days as before.
Results you have already saved keep their figures. A saved result still shows the costs and the stop rule it was tested with, and says so. To see an idea under the new rules, run it again.