Search This Blog
A practical journal on algorithmic trading, market analysis, and building automated systems. Written by an independent developer and active trader.
Featured
- Get link
- X
- Other Apps
When a Market Nearly Doubles in a Month, Fixed Stop Widths Fail Twice
A Four-Month Climb, Then One Month That Redrew the Chart
Between August 2025 and December 2025 the Henry Hub natural gas spot price did exactly what a trend-following rule is built to catch. Monthly averages ran 2.91, 2.97, 3.19, 3.79 and 4.26 dollars per million Btu — four consecutive higher months, with monthly gains accelerating from 2.1% to 7.4% to 18.8% to 12.4%. Cumulative move across those four months: +46.4%. A moving-average crossover, a breakout channel, or a monthly-close momentum filter would all have been positioned long by November at the latest.
Then January 2026 printed 7.72. That is +81.2% in a single month, and in absolute terms the January move of +3.46 was 2.6 times the size of the entire four-month climb that preceded it (+1.35). February printed 3.62 — a 53.1% giveback that erased the spike and kept going, landing below the November 2025 average of 3.79. The five months after that settled into a narrow band: 3.04, 2.77, 2.94, 3.15, 2.89. High to low, that band is 0.38 wide. The January move alone was 9.1 times the width of the range the market spent the following five months inside.
Whatever caused the January spike sits outside the scope of this piece; the price series is the only input here, so the argument runs entirely on price behaviour. What matters for rule design is the shape of the round trip: eleven months from August 2025 to July 2026, a peak at 2.65 times the starting level, and a net change of two cents. From 2.91 to 2.89. Minus 0.7%. A chart of those twelve monthly values appears further down, and the feature to look for in it is not the height of the January bar but how completely the months after February re-occupy the level held before the climb started.
| Month | Spot ($/MMBtu) | Change |
| 2025-08 | 2.91 | — |
| 2025-09 | 2.97 | +2.1% |
| 2025-10 | 3.19 | +7.4% |
| 2025-11 | 3.79 | +18.8% |
| 2025-12 | 4.26 | +12.4% |
| 2026-01 | 7.72 | +81.2% |
| 2026-02 | 3.62 | -53.1% |
| 2026-03 | 3.04 | -16.0% |
| 2026-04 | 2.77 | -8.9% |
| 2026-05 | 2.94 | +6.1% |
| 2026-06 | 3.15 | +7.1% |
| 2026-07 | 2.89 | -8.3% |
The First Break: A Volatility Estimate Is Always a Report on the Past
Fixed-parameter rules are not calibrated out of thin air. A stop width of 8%, 10% or 15% gets chosen because it looked reasonable against recent behaviour, which means it encodes a volatility estimate taken from a trailing window. That estimate is a report on the past, and in this series the past stopped describing the present twice within ninety days.
Take the estimate as it stood at the end of October 2025. The two observed monthly changes were 2.1% and 7.4%, a mean absolute move of 4.75%. A stop set at 1.5 times that figure is 7.1% wide. November then moved 18.8% on the monthly average alone. A stop of that width is not protecting a trend position in a market whose own step size is over two and a half times the stop. The rule exits, the trend continues, and the exit reads as bad luck rather than as a parameter set from a window containing only calm months.
Push the estimate forward to the end of December. Four observed changes — 2.1%, 7.4%, 18.8%, 12.4% — give a mean absolute monthly move of 10.2%. Stop width at 1.5 times: 15.3%. January delivered 81.2%. This time the direction was favourable, so the stop was never the problem. The problem moved to the other half of the configuration. Position size in a risk-budgeted system is derived from stop width: risk a fixed fraction of equity, divide by stop distance, and the quotient is the size. Too narrow a stop produces too large a position. Going into January the sizing arithmetic assumed a 15.3% adverse move was the bad case. February produced 53.1%, which is 3.47 times the assumed bad case.
The Second Break: The Estimate Stays Wrong After the Regime Ends
The obvious repair is to update the volatility estimate faster. That repair fails in the other direction, visibly, in the same twelve numbers.
Recompute the trailing mean absolute monthly change at the end of May 2026 using the last five observations — 81.2%, 53.1%, 16.0%, 8.9%, 6.1%. The mean is 33.1%. The move actually realised in May was 6.1%. The estimate driving stop width and size was 5.4 times the market's realised behaviour. A rule obeying that estimate sets a stop roughly five times too wide and therefore a position roughly five times too small, in a market that had already been back inside a 0.38-wide band for three consecutive months. Every trade taken in that window is correctly stopped and pointlessly tiny.
Grouping the eleven monthly changes by regime makes the size of the mismatch explicit. The four pre-spike months averaged 10.2% absolute change. The two spike months averaged 67.2%. The five post-spike months averaged 9.3%. Volatility rose by a factor of 6.6 relative to the pre-spike regime, then returned to within nine percent of where it started, and the whole excursion lasted two monthly bars. Any estimator with a window longer than two months carries the spike forward into a regime it no longer describes; any estimator with a window shorter than two months is being set by the spike itself.
Shortening the window does not rescue the estimate either; it only moves the error. A three-month window measured at the end of March 2026 contains January, February and March — 81.2%, 53.1% and 16.0% — for a mean of 50.1%, against a March that actually moved 16.0%. The estimate is 3.1 times realised behaviour. The same three-month window measured at the end of May contains 16.0%, 8.9% and 6.1%, a mean of 10.3% against a realised 6.1%, which is 1.7 times and roughly usable. A fast estimator is wrong by a factor of three for one quarter and acceptable the next, while a twelve-month mean stays wrong for most of a year. The chart below shows the price path all of these regime numbers were computed from.
Two features of that chart carry the argument. The January bar at 7.72 is not merely the highest point; it is disconnected from its neighbours, sitting 81% above December and 113% above the February that follows. The second feature is the flatness on the right. March through July — 3.04, 2.77, 2.94, 3.15, 2.89 — trace a line that would be hard to distinguish from September and October 2025, which printed 2.97 and 3.19. Read left to right, it is a market that left a range for eight weeks and came back to it. A rule treating the January bar as information about February's volatility is reading a two-bar excursion as a regime change.
The Principle: Estimate With a Median, Size With the Worse of Two Windows
The correction has two independent parts, solving different halves of the problem.
The first part is the choice of statistic. Across the eleven monthly changes, the mean absolute move is 20.1% and the median is 8.9%. The mean is dragged upward by two observations out of eleven; the median barely notices them, and at 8.9% it sits within five percent of the 9.3% the post-spike regime actually delivered. A median-based estimate needs no special rule to forget the spike, because it never absorbed it. Using M = median(|monthly change|, trailing 12) as the sizing input is the single highest-value change available here.
The second part is asymmetry. For stop width, take the larger of the median-based estimate and the largest single move in the trailing three months; for position size, divide by that same larger figure. This makes the system slow to grow and quick to shrink. Going into January the trailing three-month maximum was 18.8%, above the 9.9% median, so the stop widens and size falls before the spike rather than after it.
The arithmetic of what that buys is checkable. Set risk per position at 0.5% of equity. With a median-based estimate of 8.9% and a stop multiple of 2.5, stop width is 22.3%, so notional exposure is 0.5 / 0.223 = 2.24% of equity. A 53.1% adverse move on 2.24% notional costs 1.19% of equity — 2.4 times the intended risk budget, unpleasant but survivable in a single account. Contrast a conviction-sized position at 20% of equity notional: the same 53.1% move costs 10.6% of equity, roughly nine times as much. Neither rule avoids the February loss. Sizing does not change whether a bad month arrives, only what it costs.
The Cooldown: Ten Sessions of Silence After an Off-Distribution Month
Sizing limits the damage of a position already held. It does nothing about the more common error: entering after the spike, either chasing the move up or selling the first sharp giveback into what turns out to be a range. A separate screen handles that.
Let M be the trailing 12-month median absolute monthly change and X the latest monthly change in absolute terms. If X >= 3M, take no new entries for ten trading sessions and reduce any existing position to half size at the next session open. Re-entry at full size requires the most recent 20-session realised range to fall below 1.5 times its pre-event median.
Run that against the data. At the end of December 2025 the observations were 2.1%, 7.4%, 12.4% and 18.8%, a median of 9.9% and a threshold of 29.7%. January's 81.2% clears it easily, so the screen fires at the January close. Ten sessions without new entries covers roughly half of February, the month of the -53.1% giveback. The screen does not predict February. It refuses to add exposure immediately after a bar the trailing distribution says should not exist, and here that refusal separated holding a reduced legacy position from building a new one into the giveback.
Where This Transfers and Where the Numbers Have to Be Rebuilt
The structure generalises further than the parameters do. Any market that can produce a single bar several multiples of its own trailing median — power, freight rates, volatility products, some agricultural contracts — breaks a fixed-parameter trend rule in the same two directions and the same order: the estimate lags upward while volatility rises, then lags downward for as long as the window keeps the spike inside it.
The parameters are a different matter. The 3M trigger, the 2.5 stop multiple, the ten-session pause and the 0.5% risk budget were fitted to a series whose typical absolute move is 8.9%. On an index whose median monthly move is 2%, a 3M trigger fires at 6% — an ordinary month, and one that would force cooldown several times a year. Transfer the ratio, not the number.
One Winter Is Not a Sample, and Monthly Averages Hide the Path
Three limits deserve stating plainly, because the case above reads more cleanly than the evidence supports.
The first is sample size. This is one spike, in one market, in one winter. Everything derived here — the 3M threshold, the ten-session pause, the preference for a median over a mean — is consistent with these twelve observations and cannot be validated by them. A rule tuned to have behaved well through January and February 2026 is fitted to a single event, and the honest description of its expected performance is unknown rather than improved.
The second is granularity. Every figure here comes from a monthly series, an average of daily prices within each month, which cannot show the path inside a month. The daily high in January may have exceeded 7.72 substantially, February's decline may have been a single gap rather than a slide, and a stop at any particular level may have been hit on a day the monthly average does not reveal. Statements above about what a stop would have done are monthly-scale arithmetic, not claims about fills.
The third is the regime assumption itself. The cooldown rule is built on the premise that an extreme bar is more likely to be followed by mean reversion toward the prior range than by continuation. That premise held here — February gave back 53.1% and the following five months stayed inside a 0.38 band — but it does not hold universally. A market repricing on a durable structural change can spike and keep going, and against that path a cooldown rule halves the position at the worst moment and then refuses to re-enter for ten sessions. The rule trades a large tail loss for a moderate opportunity cost, and that trade only suits an account for which the tail loss is the binding constraint.
Concrete Framework
Each step carries its parameters and the condition under which it fails.
- Build the estimator. Compute
M = median(|monthly percentage change|)over the trailing 12 months. For this series through July 2026, M = 8.9%. Fails when fewer than 12 observations exist; with 6 to 11, use the available median and widen stops by 20% until the window fills. - Set stop width. Stop = 2.5 times the larger of M and the maximum absolute monthly change in the trailing 3 months. At the December 2025 close that maximum was 18.8%, so the stop widens to 47% rather than the 24.8% that December's 9.9% median alone would give. Fails when a hard price boundary sits near the stop level, leaving it unreachable; cut size instead.
- Derive size, never choose it. Notional = (risk budget as a fraction of equity) / (stop width). At 0.5% risk and a 22.3% stop, notional is 2.24% of equity. Fails when the size rounds below the minimum tradeable unit — the correct position is then zero, not the minimum.
- Run the monthly screen. At each monthly close compute X. If X is at or above 3M, enter cooldown: no new entries for 10 trading sessions and existing exposure halved at the next open. January 2026 gave X = 81.2% against a 29.7% threshold. Fails when a market prints consecutive extreme bars, since exposure is halved repeatedly into a continuing move.
- Gate re-entry. Return to full size only when the trailing 20-session realised range is below 1.5 times its pre-event median. Retest at each monthly close; stay flat until it passes. Fails when volatility decays slowly — cap the gate at 6 months and resume at half size regardless.
- Cap aggregate risk. Sum stop-distance risk across all open positions and hold the total at or below 2% of equity. Fails when positions are correlated, in which case count correlated exposures as one and halve the cap.
- Recalibrate quarterly, not after losses. Recompute M and the thresholds on a fixed quarterly schedule. Fails as a discipline the moment a parameter is changed within a week of a loss, which is the most common way volatility-scaled systems degrade into discretionary ones.
None of this is investment advice or a recommendation to buy or sell any instrument; it describes how position-sizing arithmetic behaves across one documented volatility episode.
- Get link
- X
- Other Apps
Popular Posts
Trading Value vs. Market Cap — What the Numbers Actually Tell You About Who's Driving the Market
- Get link
- X
- Other Apps
The Hidden Flaw in a 25-Step Grid — Why Losses Exploded in Later Stages
- Get link
- X
- Other Apps
Comments
Post a Comment