The Delay You Remove
Lesson 68 left this page a figure. In the small cap, five minutes between the signal and the order moves the price a typical 32.10 basis points, which is 2.41 times the impact lesson 68 spent itself minimising and 1.60 times the whole twenty basis point edge. That reads as the case for automation and it is not one, because the move is symmetric and costs nothing on average. What it costs is sample. Enter five minutes into a position you meant to hold for a session and you collect the edge only for the time you were actually in, while the noise falls by the square root of that time, so the trades you need to establish the same edge rise by 1.30 per cent, which is eight more on top of lesson 67’s 589. Eight trades is what the hesitation costs. It is also the only thing that has ever stopped you placing the fiftieth order.
Prerequisites: Lesson 68, for the small cap and the 13.33 basis points of impact this page measures the delay against, lesson 67, for the 589 trades that are the currency of the first table, and lesson 20, for the per-trade risk that turns an account into a number of R.
What the person between the signal and the order costs
Start by making the delay into a quantity. Over t minutes of a 390-minute session a price moves, typically, its daily standard deviation multiplied by the square root of t over 390. Lesson 68’s small cap has a daily standard deviation of 2.8347 per cent, so one minute is 14.35 basis points, five minutes is 32.10, and thirty minutes is 78.62. Those are the numbers people quote when they want you to automate, and every one of them is larger than the edge.
They are also beside the point, and the reason is that a move with no direction is not a cost. Half the time the five minutes are in your favour. What the delay does is take time off the position, and the arithmetic of that is worth doing carefully, because it is the arithmetic nobody prints.
State the convention first. The signal names a price and an exit. Entering t minutes late means you collect the move from your entry to that same exit rather than from the signal to it, so you are in the position for T minus t of the T minutes you intended. Under a random walk the edge you collect is proportional to the time you are actually in, and the noise to the square root of it. Divide: the ratio you are trying to measure falls by the square root of one minus t over T. Square that, because the trades a measurement needs go as the square of its noise-to-signal ratio, and the trade count rises by one over one minus t over T.
Nothing else is in it. Not the volatility, not the instrument, not your size, not the 32.10 basis points. The only quantity that survives is the delay as a share of the holding period, which is why the table below has no prices in it at all.
| How long you hold | Minutes | Share of the position a five-minute delay takes | Trades needed, as a multiple | Extra trades on lesson 67’s 589 |
|---|---|---|---|---|
| Five minutes | 5 | all of it | — | — |
| Half an hour | 30 | 16.67% | 1.200 | 118 |
| One session | 390 | 1.28% | 1.013 | 8 |
| One week | 1,950 | 0.26% | 1.003 | 2 |
| One month | 8,190 | 0.06% | 1.001 | 0 |
Read the first row and then the third. Wait as long as you meant to hold and there is nothing left to collect, which is the honest form of the warning about hesitating on a scalp. Hold for a session and the same five minutes costs eight trades out of 589, which at the forty trades a month lesson 65 fixed is six days added to a fifteen-month test. Hold for a month and it costs nothing measurable. The delay that every piece of writing about automation opens with is, at the holding periods most people actually trade, worth about a week.
Almost nobody who has automated a strategy has divided their own delay by their own holding period. It is two timestamps off your own record and one division, and it decides whether the rest of this page applies to you at all.
So if the hesitation is worth eight trades, the interesting question is what it was doing for you besides costing them. It was doing one thing, and it was doing it every time. Lesson 20 puts one R at your risk per trade, so an account risking two per cent a trade is fifty R. A rule that re-enters whenever its condition is true adds one R of exposure each time it looks. A person looks a few times an hour and gets bored. A loop looks on a timer, and the number of looks it takes to have the whole account at risk is not an estimate, it is a division: one divided by your risk per trade.
| How often the loop looks | Orders to put the whole account at risk | Wall clock |
|---|---|---|
| Every second | 50 | 50 seconds |
| Every 5 seconds | 50 | 4 minutes 10 seconds |
| Every 15 seconds | 50 | 12 minutes 30 seconds |
| Every 30 seconds | 50 | 25 minutes |
| Every minute | 50 | 50 minutes |
Every row is the same fifty orders. What changes is only how long you have, and none of these is long enough to be noticed by somebody who is doing something else. The manual version of this mistake needs you to place fifty orders by hand, and somewhere around the fourth you would have stopped. That stopping was never judgement. It was the delay.
The sheet this module has been building since lesson 62 gains an eighth column, and it is the hard cap on how much the rule may hold at once, written in R, beside the interval at which the cap is checked. Lesson 70 is where the whole sheet gets spent at once.
Fifty orders on a fifty-thousand-dollar account
Take a 50,000 dollar account risking two per cent a trade, so one R is 1,000 dollars and the account is fifty R. Put the loop on a five-second timer, which is an ordinary thing to want, and give it a condition that stays true: a level that has been breached, an indicator pinned at an extreme, a flag that was never cleared. Then watch two numbers at once, the exposure the loop is building and the daily-loss switch that is supposed to catch it.
The switch is the standard one, three per cent of the account, which at two per cent a trade is 1.5R of loss. It trips when the exposure on the book multiplied by the adverse move per position reaches that, so at n R of exposure it needs a move of 1.5 divided by n.
Poll 1, five seconds in: 1R on the book, 1,000 dollars at risk. The switch needs a 1.500R move to trip.
Poll 10, fifty seconds in: 10R, 10,000 dollars. The switch needs 0.150R.
Poll 25, two minutes five seconds in: 25R, 25,000 dollars. The switch needs 0.060R.
Poll 50, four minutes ten seconds in: 50R, 50,000 dollars. The switch needs 0.030R.
Now read that column upwards rather than downwards, because the direction it runs in is the surprise. The switch gets more sensitive as the position grows, which sounds like protection and is the opposite of it. At poll one, when stopping would have cost you a thousand dollars, it needs a move fifty times larger than the one it will act on at poll fifty. It says nothing at all while the exposure is being built, because it is watching loss and loss only exists after exposure does. And when it finally speaks, what it does is stop you adding to a position that is already the entire account, on which a single one-R move against you is one hundred per cent.
A loss limit bounds a bad day. Only a position cap bounds a bad line of code.
The number of polls is an identity and it is worth having: it is one divided by your risk per trade, so it is fifty at two per cent, a hundred at one per cent and twenty at five per cent. Sizing smaller does buy you time against your own code, which is the only sense in which position sizing is a defence against software, and it buys it in the least useful currency there is, because the thing that runs out first is not your money but your attention.
What acts in time is a precondition rather than a postcondition. Before sending anything, ask the broker what you already hold and refuse the order if it would take you past the cap. That check runs at poll one, when the exposure is 1R and the answer is cheap, and it does not care whether the market has moved. Every control that reads a profit-and-loss figure is downstream of the mistake; only the ones that read the position are upstream of it.
So write your cap in R before you write the entry condition, and check it against the broker rather than against your own variable.
What this does not settle
That the delay is a random walk. It is the neutral case, and the neutral case is the friendly one. If your signal predicts anything about the next five minutes then those five minutes are exactly the part you predicted, and waiting hands it back rather than merely shortening the position. This page cannot tell you how much, because the answer is a property of your signal and not of the arithmetic, and a reader whose edge lives in the first bar after the trigger should treat every figure in the first table as a floor.
That the trade count is a fair currency for it. Multiplying a required sample by 1.013 is only a cost if you are sample-limited, and at forty trades a month you are, which is the pace lesson 67 turned into 14.7 months. A desk taking four hundred trades a month is not, and for them the same delay is genuinely free. The first table is priced in the unit that binds a private trader and in no other.
That the fifty polls describe how software actually fails. It is one specific failure, a condition that stays true feeding a loop with no memory, and it was chosen because it is the one that has ended accounts rather than because it is the most common. A bug that fires once is harmless. A bug that fires while a condition clears is bounded by the condition. This page has priced the worst case of the failure mode that has a regulatory record attached to it, and it has priced nothing else.
That a position cap is sufficient. It is not, and the gap is the one lesson 68 opened. A cap on one instrument says nothing about four correlated ones, and a rule scanning fifty symbols with a per-symbol cap can assemble the same aggregate exposure across twenty of them without breaching any single limit. The check that catches that is a portfolio-level one, and this page does not write it.
That this arithmetic decides whether to automate. It gives you two numbers, one for what the delay costs and one for what removing it exposes you to, and it prices neither the coding, nor the hosting, nor the maintenance, nor the thing that costs most: a rule specific enough to be executed by software is a different rule from the one you have been trading, and the difference has never been measured by anybody who has made the switch.
And the concession that costs most: everything here assumes the rules are worth executing at all. Lesson 63’s search, lesson 67’s test and lesson 68’s ceiling all apply before any of it, and a rule with no edge executed perfectly is a rule with no edge, arriving faster. That is the one claim the marketing gets right, and it is not a compliment. Lesson 70 closes the module by turning lesson 64’s counting on a model instead of a rule, and finds that six hyperparameters at five values each is 15,625 configurations, a grid a beginner would call modest, which manufactures 0.318 of an R a trade before the market has done anything at all.
Problems
- Time your own delay. Take your last twenty trades and, for each, the timestamp of the condition that triggered it and the timestamp of the fill. Take the median difference in minutes. Ten minutes with two columns of your own record, and you end holding one number, your own delay, which is the t every figure in the first table is a function of.
- Price it against your own holding period. Take the median minutes between your entries and your exits, which is your T, and compute one over one minus your t over your T. Multiply that by the trades your edge needs, from lesson 67 if you have run it and from lesson 19 if you have not. Half an hour, and you end holding one number, the extra trades your hesitation costs, which you should compare against what you assumed before you started.
- Count the times it has already happened. Go through your last two hundred fills and mark every one that arrived while an earlier position from the same condition was still open. An evening, and you end holding one number, that count, which is how often your own process has already done a small version of the thing that puts the whole account on in fifty orders.
Sources. Robert Kissell, The Science of Algorithmic Trading and Portfolio Management (Academic Press, 2013), for delay cost as a named and separately measurable component of the gap between a decision price and a realised one, which is the quantity the first half of this page reduces to a share of the holding period. Nancy G. Leveson, Engineering a Safer World: Systems Thinking Applied to Safety (MIT Press, 2011), for the argument that safety comes from constraints enforced before an action rather than from detecting bad outcomes after one, which is the distinction between the position cap and the loss limit and is the whole of the worked example. Securities and Exchange Commission, “In the Matter of Knight Capital Americas LLC” (Administrative Proceeding File No. 3-15570, 2013), for the documented case of a running process sending orders against a condition nothing in the code was reconciling against the positions it already held, which is the failure the second table counts in polls.
How Much the Trade Holds
The small cap and the 13.33 basis points of impact the delay is measured against.
Read Lesson →The Drawdown You Should Expect
The 589 trades that are the currency of the first table.
Read Lesson →Position Sizing
The per-trade risk that turns an account into a number of R.
Read Lesson →Educational only. Trading involves substantial risk of loss. Not financial advice. Past performance does not guarantee future results.
💬 Discussion (0 comments)
Loading comments...
Ready to Trade with Signal Pilot?
Apply your trading education with professional indicators and real-time market analysis tools.
Back to Signal Pilot →