A plan, a journal and a backtest
What each written record has to contain to be worth keeping
A plan that says only "buy low, sell high" cannot be checked. It needs a number for entry, a number for the stop, a number for the target and a size in units. On USD/ZAR at 18.4100, a stop 0.0500 away on 10,000 units is a risk of R500. Write that figure in the plan before the trade, not after.
A journal entry needs five things: date, direction, entry price, exit price and size. Add one line on why the trade was taken and one on why it was closed. Without the reason lines, the numbers cannot tell you whether the rule was followed or abandoned.
A backtest record needs the rule written in full, the period tested and the result in rands per unit. If the rule is "enter when price closes 0.0200 above the previous day's high", write exactly that. A rule that changes between tests is not one rule, and its result means nothing.
How to run a backtest without fooling yourself
Pick a period and write its start and end dates before you look at the prices. If you choose the period after seeing where the big moves were, the result describes your memory rather than the rule. A rule tested on a quiet month and a busy month gives two different pictures, and both belong in the record.
Count every signal the rule gives, including the ones that lost. A common error is to skip trades that look obviously bad in hindsight. Those skipped trades are the ones that would have been taken in real time, so leaving them out inflates the result.
Write the gross result and then subtract the costs you can estimate. The spread on USD/ZAR varies between brokers, and commission or swap varies too, so the net figure cannot be stated as one number for everyone. Record the gross result and note that costs would reduce it.
What to do when the journal and the plan disagree
A disagreement is information, not failure. If the plan said ten trades and the journal shows thirty, the behaviour changed, and the cause is worth writing down. It may be boredom, a news day, or a rule that was too slow to give signals.
Change one thing at a time and date the change. If you alter the entry, the stop and the size together, the next journal cannot tell you which change helped. One change, then twenty trades, then read the record again.
If the plan is the problem, rewrite the plan and backtest the new version before using it with money. If the behaviour is the problem, the plan stays and the journal becomes the evidence. Either way, the written record is what you act on, not the memory of how the month felt.
50 trades on one rule: what the journal showed
| Step | Amount | Note |
|---|---|---|
| Rule tested | Buy USD/ZAR at 18.4100, sell at 18.4200, stop at 18.4050 | One written rule, one entry, one exit, one stop. |
| Number of trades in the backtest | 50 | The rule was applied to 50 past price points. |
| Wins | 28 | Trades that reached 18.4200 first. |
| Losses | 22 | Trades that reached 18.4050 first. |
| Gain per win | R0.0100 per unit | 18.4200 minus 18.4100 = 0.0100. |
| Loss per loss | R0.0050 per unit | 18.4100 minus 18.4050 = 0.0050. |
| Size used | 10,000 units | A chosen size for the example, not a recommendation. |
| Gross wins | R2,800 | 28 wins x R0.0100 x 10,000 units = R2,800. |
| Gross losses | R1,100 | 22 losses x R0.0050 x 10,000 units = R1,100. |
| Gross result before costs | R1,700 | R2,800 minus R1,100 = R1,700. |
The broker may round prices, charge a spread and add commission or swap on top. These vary between brokers, so the gross result above is not the amount that would reach your account.
Doing it once, step by step
Work through these six steps once, using USD/ZAR around 18.4100 and a size you choose, so that each of the three records exists in writing before any money is involved.
- 01
Write the rule in one sentence
State the entry, the stop and the target as prices or distances, not as feelings. For example: enter when price closes 0.0200 above the previous day's high, stop 0.0500 below entry, target 0.1000 above entry. Add the size in units. If the sentence needs a second page, it is not yet one rule.
- 02
Choose the test period and write the dates down
Pick a start date and an end date before opening any chart. Write both in the backtest record. Do not move them later, even if the result is poor. A moved period turns the test into a search for a good answer.
- 03
Count every signal and record each one
List each signal with its date, entry price and exit price. Include the losses. Multiply the price movement by the size in units to get rands: 0.0100 on 10,000 units is R100. Add the winning rands, subtract the losing rands, and write the gross total.
- 04
Note the costs that are not in the gross figure
Write one line saying that spread, commission and swap are excluded and that they vary between brokers. Do not put a rand figure on them unless your own broker has given you one. The gross result is a test of the rule, not a forecast of an account.
- 05
Open the journal and record the first live trade
Write the date, direction, entry price, exit price, size and the reason for each decision. Record the trade on the day it happens, not at the end of the month. Memory rewrites losses as near-misses within days.
- 06
Compare the journal with the plan after twenty trades
Count how many trades followed the rule and how many did not. If the number differs from the plan, write down why in one sentence. Then change either the plan or the behaviour, one at a time, and date the change.
The mistake most people make here
The common mistake is to write a plan after trading, or to keep no journal at all, so the rule is never tested against real behaviour. People then remember the wins and forget the losses. Instead, write the rule first, record every trade with its date and price, and run the backtest before using money. If the journal does not match the plan, change the plan or the behaviour, not the record.Check yourself
If 28 wins gain R0.0100 per unit and 22 losses lose R0.0050 per unit on 10,000 units, what is the gross result before costs?
28 x R0.0100 x 10,000 = R2,800. 22 x R0.0050 x 10,000 = R1,100. R2,800 minus R1,100 = R1,700.
If the same rule had 20 wins and 30 losses, what would the gross result be before costs?
20 x R0.0100 x 10,000 = R2,000. 30 x R0.0050 x 10,000 = R1,500. R2,000 minus R1,500 = R500.
Questions that come up next
1. How long should I test one rule before I trust it?
There is no fixed number. A rule tested on twenty trades tells you very little. A rule tested on two hundred trades over several market conditions tells you more. The record should state the number of trades and the period. If the rule only works in one quiet month, you have not tested it enough.
2. What if I cannot remember why I took a trade?
Write the reason at the time or straight after. If you cannot remember, write that you cannot remember. A journal with missing reasons is still useful. It shows you where your record keeping broke down. That is a fact about your process worth knowing.
3. How do I record costs in a backtest when they vary by broker?
Record the gross result first. Then note that the spread, commission and swap would reduce it. You can estimate a cost per trade if your broker publishes one. But the exact net figure belongs to your broker, not to a general course. Write the gross figure and the note together.
4. My backtest shows a profit but my journal shows a loss. What does that mean?
It means the rule and your behaviour are not the same thing. The backtest followed the rule exactly. Your journal shows what you actually did. Look for the trades where you did not follow the rule. The gap between the two records is where the answer sits.
5. How often should I update the plan?
Change the plan only after the journal gives you a reason. One change at a time. Then run twenty trades and read the journal again. If you change the plan after every loss, you are not testing a rule. You are reacting to the last trade.
6. Do I need a backtest if I am only trading small amounts?
Yes. The size of the trade does not change whether the rule works. On USD/ZAR, one rand of movement per unit is R1 whether you hold 1,000 units or 100,000. A small account still needs a rule that has been checked. The backtest is how you check it before money is at risk.
The words used on this page
- backtest
- A record of what one rule would have done on past prices. You write the rule in full, pick a period and count every signal. The result is in rands per unit, before costs.
- journal
- A written record of what you actually did. Each entry has date, direction, entry price, exit price and size. Two extra lines give the reason for entering and the reason for closing.
- plan
- A written record of what you will do before you trade. It gives a number for entry, a number for the stop, a number for the target and a size in units. Without numbers it cannot be checked.
- gross result
- The result before any costs are taken off. On USD/ZAR, if 28 wins gain R0.0100 per unit and 22 losses lose R0.0050 per unit on 10,000 units, the gross result is R1,700. Spread, commission and swap would reduce it.
- spread
- The gap between the buying price and the selling price. It varies between brokers. It is one of the costs that turns a gross result into a smaller net result.
- FSCA
- The Financial Sector Conduct Authority. It is the South African regulator for financial services. A broker's registration can be checked with the FSCA.
What to take away
- Write the plan before the trade, the journal during or straight after, and the backtest before any money is used.
- A journal entry needs five numbers and two reasons. Without the reasons, the numbers cannot show whether the rule was followed.
- A backtest must count every signal, including the losses. Skipping trades that look bad in hindsight inflates the result.
- The gross result is not the amount that reaches your account. Spread, commission and swap vary between brokers and reduce it.