<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Past Performance]]></title><description><![CDATA[…is no guarantee of future results. We check anyway.]]></description><link>https://www.pastperformancelab.com</link><image><url>https://substackcdn.com/image/fetch/$s_!jDh6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0939f4d1-f253-496c-919e-84b675c82eed_512x512.png</url><title>Past Performance</title><link>https://www.pastperformancelab.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 24 Sep 2026 07:34:01 GMT</lastBuildDate><atom:link href="https://www.pastperformancelab.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Antoni Gaudi]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pastperformancelab@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pastperformancelab@substack.com]]></itunes:email><itunes:name><![CDATA[Antoni Gaudi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Antoni Gaudi]]></itunes:author><googleplay:owner><![CDATA[pastperformancelab@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pastperformancelab@substack.com]]></googleplay:email><googleplay:author><![CDATA[Antoni Gaudi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Not a Winner. Maybe a Sidekick.]]></title><description><![CDATA[Twelve fixes for four failed strategies. One breakout came back: it trails QQQ alone and helps beside it, on borderline evidence.]]></description><link>https://www.pastperformancelab.com/p/opening-range-breakout-backtest-gap-filter</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/opening-range-breakout-backtest-gap-filter</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Mon, 21 Sep 2026 01:54:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YVUl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Issue 08 &#183; 22 September 2026 &#183; 4 strategies &#183; 12 fixes &#183; 13 years of 1-minute data</em></p><p>In Issue 01, four popular strategies failed our tests. We could have left them there. But a failed backtest sometimes hides a decent idea behind one bad rule, so we tried to fix each one before calling it dead.</p><p>We tried twelve fixes. Most did nothing. One brought a strategy back. Then we asked the question that matters for your account: would it have beaten simply owning QQQ?</p><p><strong>One rescue works in the lab. On its own it trails QQQ. Added on top of QQQ it helps, but the evidence is borderline and weakens with every second of delay.</strong><br><em>Method: 1-minute Nasdaq-100 data from October 2013 to August 2026, costs included, account-level returns against QQQ and SPY with dividends.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YVUl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YVUl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 424w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 848w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 1272w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YVUl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: t-statistic, yearly return, Sharpe ratio, worst drop and verdict for seven strategy versions, with QQQ at 19.4% a year and SPY at 14.2% a year.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: t-statistic, yearly return, Sharpe ratio, worst drop and verdict for seven strategy versions, with QQQ at 19.4% a year and SPY at 14.2% a year." title="Table: t-statistic, yearly return, Sharpe ratio, worst drop and verdict for seven strategy versions, with QQQ at 19.4% a year and SPY at 14.2% a year." srcset="https://substackcdn.com/image/fetch/$s_!YVUl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 424w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 848w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 1272w, https://substackcdn.com/image/fetch/$s_!YVUl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be2017a-3029-4bdc-afb6-3de3c4149282_1280x1516.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><strong>01 / THE FIXES</strong></p><h2>Three of the four could not be saved</h2><p><strong>UT Bot.</strong> It flips long and short on an ATR trailing stop. We let it trade only with the 200-day trend. It traded half as often and earned less, because the filter threw out good and bad trades alike.</p><p><strong>Nadaraya-Watson envelope.</strong> It wins most of its trades and still loses money, because its losers are bigger than its winners. The obvious fix is to flip it. Flipped, the average trade is zero after costs: a friction machine in both directions.</p><p><strong>TTM Squeeze.</strong> There was nothing to fix. On 10-minute bars it has no edge to rescue. Use it, if at all, as one input to another signal, not as a strategy.</p><p><strong>02 / THE ONE THAT WORKED</strong></p><h2>Only a gap filter lifted the breakout</h2><p>The 5-minute opening-range breakout is simple. At 9:35 in New York, buy if the first 5-minute candle closed up and sell if it closed down. The stop sits at the other end of that candle, the target is ten times the risk, and anything still open goes at the close.</p><p>As published, it trades every day, and the edge is too thin to tell from luck. We tried ten versions. Filters on the size of the first candle did nothing, and neither did the 200-day trend. One idea worked: trade only on days that open with a gap of at least a fifth of a normal day's range. The average trade more than doubled.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vi9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vi9S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 424w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 848w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vi9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Horizontal bar chart: t-statistics for eleven versions of the opening-range breakout. Only gap-filter versions clear t = 2, though not every gap setting does; none reaches 2.81.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Horizontal bar chart: t-statistics for eleven versions of the opening-range breakout. Only gap-filter versions clear t = 2, though not every gap setting does; none reaches 2.81." title="Horizontal bar chart: t-statistics for eleven versions of the opening-range breakout. Only gap-filter versions clear t = 2, though not every gap setting does; none reaches 2.81." srcset="https://substackcdn.com/image/fetch/$s_!vi9S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 424w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 848w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!vi9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc50401c-8854-43c8-8d94-826f1dc95bc6_1280x1148.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Here is the catch most backtests skip. Try ten versions and one will look good by chance. With ten tries, the bar for "probably not luck" rises from t = 2 to about 2.8. The gap filter reaches 2.7. Close, but not over.</p><p><strong>03 / THE LUCK CHECK</strong></p><h2>It is not one lucky setting</h2><p>A lucky setting works at one value and nowhere near it. This one works across a range: any gap requirement from a tenth to a quarter of a normal day's range lifts the average trade.</p><p>The average trade is also positive in both halves of the data, 2013&#8211;2019 and 2020&#8211;2026. Most of the evidence comes from the second half.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2p8L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2p8L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 424w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 848w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2p8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart: average trade in basis points by gap size required, for 2013&#8211;2019 and 2020&#8211;2026. In both periods the average trade is higher than with no filter for every gap setting from 0.10 to 0.25 ATR.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart: average trade in basis points by gap size required, for 2013&#8211;2019 and 2020&#8211;2026. In both periods the average trade is higher than with no filter for every gap setting from 0.10 to 0.25 ATR." title="Line chart: average trade in basis points by gap size required, for 2013&#8211;2019 and 2020&#8211;2026. In both periods the average trade is higher than with no filter for every gap setting from 0.10 to 0.25 ATR." srcset="https://substackcdn.com/image/fetch/$s_!2p8L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 424w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 848w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!2p8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3733901-6e66-41ae-afdb-774fb27f76f7_1280x1010.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>04 / THE ACCOUNT</strong></p><h2>Alone it trails QQQ. On top of QQQ it pulls ahead</h2><p>From this issue on, every verdict is measured at the account level against QQQ, the bar, and SPY, the floor: same money, same years, dividends included.</p><p>On its own, the rescued breakout turned $10,000 into a fraction of what either index made. It trades on about three days in five, and a typical trade lasts under half an hour. Meanwhile the account's cash earns T-bill interest.</p><p>But its returns do not move with the Nasdaq. It made money in 2018, when QQQ went nowhere, and in 2022, when QQQ lost a third. So we tested the version a futures trader could run: keep all the cash in QQQ and trade the breakout with futures on top. That account beat QQQ by several points a year, with a smaller worst drop.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-0Y1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-0Y1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 424w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 848w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-0Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart on a log scale: growth of $10,000 in QQQ, SPY, the gap-filtered breakout alone and QQQ with the breakout added on top.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart on a log scale: growth of $10,000 in QQQ, SPY, the gap-filtered breakout alone and QQQ with the breakout added on top." title="Line chart on a log scale: growth of $10,000 in QQQ, SPY, the gap-filtered breakout alone and QQQ with the breakout added on top." srcset="https://substackcdn.com/image/fetch/$s_!-0Y1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 424w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 848w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!-0Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe56d1bfe-bece-4b58-a435-65f7bfa92667_1280x1166.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>05 / THE CATCH</strong></p><h2>The evidence fades before the extra return does</h2><p>Those are best-case numbers: instant fills and one-point costs. Our own automated orders fill about 47 seconds after the signal (Issue 07). At that speed the t-statistic drops to 2.2. At two minutes it is 1.6, and at double costs 1.9.</p><p>The add-on still shows extra return at every speed in the table. That is the trap. Any add-on that is uncorrelated with QQQ and positive on average lifts the backtest, even when that average is luck. The published breakout, the version that failed, would also have "beaten" QQQ as an add-on. What decides it is the evidence, and here the evidence is borderline at best.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BCfx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BCfx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 424w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 848w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BCfx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: the gap-filtered breakout at fill delays from zero to five minutes and at two and three times costs, alone and added to QQQ. At 47 seconds its t-statistic is 2.21.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: the gap-filtered breakout at fill delays from zero to five minutes and at two and three times costs, alone and added to QQQ. At 47 seconds its t-statistic is 2.21." title="Table: the gap-filtered breakout at fill delays from zero to five minutes and at two and three times costs, alone and added to QQQ. At 47 seconds its t-statistic is 2.21." srcset="https://substackcdn.com/image/fetch/$s_!BCfx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 424w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 848w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!BCfx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50a9658e-46bc-4675-90c2-8ae60d813877_1280x1210.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>The transferable part</h2><ol><li><p><strong>Count your tries.</strong> Ten versions tested means the bar sits near t = 2.8, not 2.</p></li><li><p><strong>Split the years and nudge the setting.</strong> A real filter helps in both halves of the data and at neighbouring values.</p></li><li><p><strong>Test it against QQQ twice: alone and as an add-on.</strong> Then ask whether the add-on's own average survives real fills.</p></li></ol><h2>Your turn</h2><p>Send us the strategy you are about to risk money on. Reply to this email or write to <a href="mailto:pastperformancelab@protonmail.com">pastperformancelab@protonmail.com</a>. We test it and publish what we find.</p><h3>Method</h3><ul><li><p><strong>Data.</strong> Dukascopy 1-minute Nasdaq-100 (US Tech 100) bid prices, 18 October 2013 to 28 August 2026, priced as NQ futures at $20 a point with a 1-point round-trip cost. Signals on the bar close, fills at the next bar's open. Delayed fills are re-priced on the same tape, as in Issue 07.</p></li><li><p><strong>Calendar.</strong> Daily filters (ATR(14), the 200-day average) use NYSE trading days only, and trades on days the US market was closed are excluded. Issue 07 used the tape's own calendar and dollar t-statistics, which gave the gap filter t = 2.60; on NYSE days and percentage returns it is 2.73.</p></li><li><p><strong>Account level.</strong> Each trade controls notional equal to the account. Cash earns the 4-week T-bill rate (FRED) every day. The add-on holds QQQ with all the cash and adds the strategy's trade returns. QQQ and SPY returns include reinvested dividends.</p></li><li><p><strong>Statistics.</strong> t-statistics use per-trade percentage returns. The bar for ten tries is a Bonferroni-adjusted 5% two-sided threshold (t = 2.81).</p></li><li><p><strong>Versions.</strong> UT Bot: a = 3, ATR 10, 10-minute bars, regular hours. Nadaraya-Watson: the non-repainting endpoint estimator, regular hours. TTM Squeeze: 10-minute bars, as in Issue 01.</p></li><li><p><strong>Sources.</strong> 5-minute ORB: Carlo Zarattini and Andrew Aziz, <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4416622">Can Day Trading Really Be Profitable?</a> (2023). <a href="https://www.tradingview.com/script/n8ss8BID-UT-Bot-Alerts">UT Bot Alerts</a> on TradingView. <a href="https://www.tradingview.com/script/Iko0E2kL-Nadaraya-Watson-Envelope-LuxAlgo/">Nadaraya-Watson Envelope [LuxAlgo]</a> on TradingView. TTM Squeeze: John Carter, <em>Mastering the Trade</em>.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8QJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8QJN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 424w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 848w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8QJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: trades, win rate, profit factor, t-statistic, average trade, yearly return, Sharpe ratio and maximum drawdown for every version tested.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: trades, win rate, profit factor, t-statistic, average trade, yearly return, Sharpe ratio and maximum drawdown for every version tested." title="Table: trades, win rate, profit factor, t-statistic, average trade, yearly return, Sharpe ratio and maximum drawdown for every version tested." srcset="https://substackcdn.com/image/fetch/$s_!8QJN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 424w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 848w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!8QJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feee73869-49ab-43d7-baef-d49e50ac5a48_1280x1562.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Past performance is no guarantee of future results. We check anyway. This is research, not investment advice.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pastperformancelab.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Past Performance! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The 47-Second Tax]]></title><description><![CDATA[Every backtest fills the instant a bar closes. Real systems cannot. We re-priced three strategies at the speed you can actually trade.]]></description><link>https://www.pastperformancelab.com/p/backtest-vs-live-trading-47-second-delay</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/backtest-vs-live-trading-47-second-delay</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Wed, 16 Sep 2026 13:54:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vPL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Issue 07 &#183; September 2026 &#183; 3 backtests &#183; 7 delays &#183; 3,096 trades re-priced</em></p><p>There is one number in every backtest that almost nobody questions: the fill price. The backtest trades at the next bar's open, the instant its signal appears. Nobody trades that fast. Not a person at a screen, and not a retail trading bot.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pastperformancelab.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Past Performance! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>So we asked a simple question about three strategies from earlier issues. What happens to them at the speed a real system can actually trade?</p><p><strong>A 47-second delay costs 9&#8211;16% of profit &#183; At two minutes the breakout's edge stops looking real</strong><br><em>Same signals, same trades, same exits. Only the fill time changes.</em></p><p><strong>01 / THE ASSUMPTION</strong></p><h2>The fill that never happens</h2><p>A backtest sees the bar close and fills on the spot. A live system has to wait for its broker to publish that bar, decide, and send the order. On our own automated service the whole trip takes about 47 seconds.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vPL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vPL3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 424w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 848w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 1272w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vPL3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeline from a 10-minute bar close to a live fill: about 35 seconds waiting for the broker to publish the bar, then about 12 seconds for the order, filled at about 47 seconds.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeline from a 10-minute bar close to a live fill: about 35 seconds waiting for the broker to publish the bar, then about 12 seconds for the order, filled at about 47 seconds." title="Timeline from a 10-minute bar close to a live fill: about 35 seconds waiting for the broker to publish the bar, then about 12 seconds for the order, filled at about 47 seconds." srcset="https://substackcdn.com/image/fetch/$s_!vPL3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 424w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 848w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 1272w, https://substackcdn.com/image/fetch/$s_!vPL3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463ed310-14b6-421c-ad70-90b47454bac4_1280x562.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Forty-seven seconds sounds harmless. For a strategy that trades momentum, it can be a good part of the move.</p><p><strong>02 / THE TEST</strong></p><h2>Same trades, later fills</h2><p>We changed exactly one thing: the moment each market order fills. The signals, the trades and the exits all stayed where they were. Then we stepped the delay from zero to five minutes and re-priced every order on one-minute data.</p><p><strong>The strategies:</strong> the Saty Phase Oscillator on Nasdaq-100 futures, split into the years it was built on and the years before (Issue 06), and the opening-range breakout with a gap filter, the one strategy from Issue 01 we managed to rescue.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BtGP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BtGP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 424w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 848w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 1272w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BtGP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: net profit with instant fills versus fills 47 seconds later for two Saty oscillator windows and the opening-range breakout with a gap filter.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: net profit with instant fills versus fills 47 seconds later for two Saty oscillator windows and the opening-range breakout with a gap filter." title="Table: net profit with instant fills versus fills 47 seconds later for two Saty oscillator windows and the opening-range breakout with a gap filter." srcset="https://substackcdn.com/image/fetch/$s_!BtGP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 424w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 848w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 1272w, https://substackcdn.com/image/fetch/$s_!BtGP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf1d8c6-3e0f-456a-be05-402f1bd23291_1280x896.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>03 / THE RESULTS</strong></p><h2>Profit leaks, and it leaks early</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uSC7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uSC7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 424w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 848w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uSC7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart: share of instant-fill profit kept at delays from 0 seconds to 5 minutes for three strategies.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart: share of instant-fill profit kept at delays from 0 seconds to 5 minutes for three strategies." title="Line chart: share of instant-fill profit kept at delays from 0 seconds to 5 minutes for three strategies." srcset="https://substackcdn.com/image/fetch/$s_!uSC7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 424w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 848w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!uSC7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4673b4e0-80ec-454e-bda2-a0572e98acf3_1280x1002.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>The out-of-sample Saty line runs almost exactly under the breakout until 47 seconds. Past one minute the Saty figures bounce around: at that horizon the noise is bigger than the effect.</em></p><p>The first fifteen seconds already cost something. By our real delay, every version has given back between a tenth and a sixth of its profit. The breakout keeps sliding from there, and five minutes late most of its profit is gone.</p><blockquote><p>This is not noise. Across all 3,096 trades the cost of waiting is consistent: these strategies trade moves that keep going for about a minute, and a slow system simply buys them later.</p></blockquote><p><strong>04 / THE EDGE</strong></p><h2>When a real edge stops being real</h2><p>Losing some profit is survivable. Losing the evidence is not. The t-statistic tells you whether a result stands out from luck, and 2 is the usual bar.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TWCL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TWCL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 424w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 848w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TWCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart: t-statistic of the average trade at delays from 0 seconds to 5 minutes, with a dashed line at t = 2.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart: t-statistic of the average trade at delays from 0 seconds to 5 minutes, with a dashed line at t = 2." title="Line chart: t-statistic of the average trade at delays from 0 seconds to 5 minutes, with a dashed line at t = 2." srcset="https://substackcdn.com/image/fetch/$s_!TWCL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 424w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 848w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!TWCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32574d8-a553-45ad-bd78-9e4f7bc36faa_1280x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The breakout clears that bar with a one-minute delay and fails it at two minutes. The in-sample Saty result survives every delay we tried. The out-of-sample one never cleared the bar, even at zero seconds, which is what Issue 06 was about.</p><p><strong>05 / ON ONE TRADE</strong></p><h2>What the wait looks like in points</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-1dG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-1dG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 424w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 848w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 1272w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-1dG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: the cost backtests charge per round trip compared with the average cost and typical price swing of a 47-second wait, in index points.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: the cost backtests charge per round trip compared with the average cost and typical price swing of a 47-second wait, in index points." title="Table: the cost backtests charge per round trip compared with the average cost and typical price swing of a 47-second wait, in index points." srcset="https://substackcdn.com/image/fetch/$s_!-1dG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 424w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 848w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 1272w, https://substackcdn.com/image/fetch/$s_!-1dG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a658cd4-809d-46c8-864b-c1ce034fad30_1280x886.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Our backtests charge one point per round trip for commissions and slippage. The wait alone swings a round trip by more than twenty times that, in either direction. On average the swing lands against you, at almost four times the cost we charge.</p><p><strong>06 / THE TRANSFERABLE PART</strong></p><h2>Three checks before you trust a backtest</h2><p><strong>Time your own delay.</strong> Measure it on your own setup, from the bar close to the fill. It is never zero.</p><p><strong>Re-price the backtest at that delay.</strong> If your platform cannot, fill at the close of the next one-minute bar instead of its open. It is a crude but honest stand-in for a one-minute delay.</p><p><strong>Prefer edges that survive a minute.</strong> A strategy that only works at zero seconds is a feature of the backtest, not of the market. Or get faster: at 15 seconds, the Saty strategy's delay cost falls to less than a third of what it is at 47.</p><p><strong>YOUR TURN</strong></p><h2>Send us the strategy you are about to risk money on</h2><p>Leave a comment with a link to the rules, the video or the paper. We read every one. The strongest go into the testing queue, and each is tested the same way: with costs, at the account level, out of sample and at a realistic delay.</p><h3>Method</h3><p><strong>Data:</strong> Dukascopy one-minute bid prices for the Nasdaq-100, a CFD proxy for NQ futures. One NQ contract at $20 per point, with 1.0 point of round-trip friction on top of every delay.</p><p><strong>Re-pricing:</strong> below 60 seconds, each fill is interpolated inside its one-minute bar. At 60 seconds it is that bar's close. At two and five minutes it is the close of the one-minute bar ending at that time. The breakout's stops and targets are resting orders and stay unchanged.</p><p><strong>Controls:</strong> at zero delay every re-priced entry matches the original backtest, and profits reproduce to the dollar. Interpolation understates the swing inside a minute, so these costs are conservative. The delay cost is statistically solid, with t-statistics between 2.8 and 4.1.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jE25!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jE25!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 424w, https://substackcdn.com/image/fetch/$s_!jE25!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 848w, https://substackcdn.com/image/fetch/$s_!jE25!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!jE25!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jE25!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Table: net profit and t-statistic for every delay and strategy.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Table: net profit and t-statistic for every delay and strategy." title="Table: net profit and t-statistic for every delay and strategy." srcset="https://substackcdn.com/image/fetch/$s_!jE25!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 424w, https://substackcdn.com/image/fetch/$s_!jE25!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 848w, https://substackcdn.com/image/fetch/$s_!jE25!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!jE25!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66d83f66-696a-419a-b449-b5d75695d0d1_1280x1242.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Backtested results are hypothetical and do not represent returns any investor achieved. This is research, not investment advice.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pastperformancelab.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Past Performance! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[We Broke Our Own Strategy]]></title><description><![CDATA[The Saty Phase Oscillator beats the index in sample and loses out of sample. No threshold fixes it.]]></description><link>https://www.pastperformancelab.com/p/saty-phase-oscillator-backtest-out-of-sample</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/saty-phase-oscillator-backtest-out-of-sample</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1c7a5c3c-02c1-4cce-b3c5-17c0e16febb2_1888x1088.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Issue 06 &#183; 3 September 2026 &#183; Addendum added the same day &#183; 941 trades &#183; 13.6 years</em></p><p><em>We spent a week taking other people's backtests apart. Then we pointed the same method at the strategy running live in our own account, and found exactly the flaw we had been criticising in everyone else.</em></p><p><strong>Real in sample &#183; Fails out of sample &#183; Verdict, revised: does not beat the index</strong><br><em>t = 3.27 in sample &#183; t = 1.60 out of sample &#183; addendum: no threshold from 50 to 150 beats buy-and-hold out of sample</em></p><p><strong>01 / WHY THIS ONE IS DIFFERENT</strong></p><h2>This is the strategy we have money on</h2><p>Every other issue has examined somebody else's work. This one examines ours. The Saty Phase Oscillator is the strategy running in our live paper-trading account right now &#8212; one Nasdaq contract, an entry window between 09:40 and 11:00 New York time, flat by the close. It is the reason the lane exists.</p><p>A reader asked a simple question that we had never asked of it: <strong>is it more profitable than just buying the index?</strong> We had asked that of Connors RSI(2) a day earlier and the answer reversed our verdict. We had never turned it on ourselves.</p><p>Across the full history the answer looked good. 941 trades since January 2013, 55.3% of them winners, and at the account level &#8212; capital in one-month Treasury bills when flat, buying the index when the signal fires &#8212; it returns 6.84% a year at 6.2% volatility with a worst drawdown of 11.3%. Buying and holding the Nasdaq 100 over the same period returns 15.07% at 18.8% volatility and draws down 35.6%.</p><p>Less money, much less risk. A Sharpe ratio of 0.81 against the index's 0.75. We nearly published that.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BVhx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BVhx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 424w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 848w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BVhx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Saty Phase Oscillator versus buying and holding the Nasdaq 100&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Saty Phase Oscillator versus buying and holding the Nasdaq 100" title="Saty Phase Oscillator versus buying and holding the Nasdaq 100" srcset="https://substackcdn.com/image/fetch/$s_!BVhx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 424w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 848w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 1272w, https://substackcdn.com/image/fetch/$s_!BVhx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a4f6dbe-4c47-401e-a245-d371d6b138f1_1888x1088.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Growth of one unit of capital, with the drawdown of each series below. The strategy is in the market on 22% of sessions and in cash the rest of the time, which is what produces the shallow drawdown profile and the shortfall in total return. Both series are gross of tax.</em></p><p><strong>02 / THE SPLIT</strong></p><h2>Then we cut it in half</h2><p>The strategy was developed on data from December 2018 onward. Everything before that &#8212; January 2013 to November 2018 &#8212; is data it never saw. That is a genuine out-of-sample window, and it is the first thing we check on anyone else's work.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KWu_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KWu_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KWu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Account level, Nasdaq 100, one contract, idle capital in 1-month T-bills. The out-of-sample window is data the strategy was never developed on; the in-sample window is the one it was built in.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Account level, Nasdaq 100, one contract, idle capital in 1-month T-bills. The out-of-sample window is data the strategy was never developed on; the in-sample window is the one it was built in." title="Account level, Nasdaq 100, one contract, idle capital in 1-month T-bills. The out-of-sample window is data the strategy was never developed on; the in-sample window is the one it was built in." srcset="https://substackcdn.com/image/fetch/$s_!KWu_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!KWu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b42d6f2-9b56-4de7-af6f-bdaccc5d6dbc_1888x496.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!arSv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!arSv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!arSv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!arSv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!arSv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!arSv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;465 out-of-sample trades at 52.5% win, per-trade t = 1.60, top five trades 48% of net profit. 476 in-sample trades at 58.0% win, t = 3.27, top five 23% of net.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="465 out-of-sample trades at 52.5% win, per-trade t = 1.60, top five trades 48% of net profit. 476 in-sample trades at 58.0% win, t = 3.27, top five 23% of net." title="465 out-of-sample trades at 52.5% win, per-trade t = 1.60, top five trades 48% of net profit. 476 in-sample trades at 58.0% win, t = 3.27, top five 23% of net." srcset="https://substackcdn.com/image/fetch/$s_!arSv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!arSv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!arSv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!arSv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc154e3e3-1f1e-4cbb-97cf-07792398afb5_1888x496.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><blockquote><p>The average trade is three times larger in the window the strategy was built in. +0.145% against +0.048%.</p></blockquote><p>Win rate 58.0% in sample against 52.5% out. Per-trade t-statistic 3.27 against <strong>1.60</strong>, which is not significant at any conventional threshold. Out of sample the top five trades account for 48% of all profit &#8212; the same concentration that failed the opening range breakout in our first batch.</p><p>And the direction of the comparison flips. In sample, Saty beats the index on Sharpe by a wide margin, 0.97 to 0.67. Out of sample it loses, 0.57 to 0.95. <strong>The full-history figure that looked like a win is the average of a strong half and a weak half.</strong></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!49J8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!49J8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 424w, https://substackcdn.com/image/fetch/$s_!49J8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 848w, https://substackcdn.com/image/fetch/$s_!49J8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!49J8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!49J8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Monthly returns, account level&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Monthly returns, account level" title="Monthly returns, account level" srcset="https://substackcdn.com/image/fetch/$s_!49J8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 424w, https://substackcdn.com/image/fetch/$s_!49J8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 848w, https://substackcdn.com/image/fetch/$s_!49J8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!49J8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7af070e0-44c2-4b62-85cd-c05b548906ef_1888x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Green is a positive month, red negative, intensity scaled to magnitude. The Bench column is the Nasdaq 100 over the same year. The pre-2019 rows are the out-of-sample period: consistently positive, consistently small, and consistently behind an index that was compounding at 13% a year with a 0.95 Sharpe.</em></p><p><strong>03 / THE COUNTER-ARGUMENT</strong></p><h2>The case that this is regime, not overfitting</h2><p>We want to put this as strongly as the finding, because we think it is genuinely unresolved and because we would demand the same fairness if we were the ones being examined.</p><p>2013 to 2018 was an extraordinarily smooth Nasdaq melt-up. Buying and holding posted a <strong>0.95 Sharpe ratio</strong> over those six years, which is an exceptional number for an equity index and a brutal benchmark for anything defensive. 2018 to 2026 contained the COVID crash and the 2022 bear market, and buy-and-hold's Sharpe fell to 0.67 while Saty's shallow-drawdown profile did exactly what it is designed to do.</p><p>A defensive intraday strategy <em>should</em> look bad against a melt-up and good against a decade with two crashes in it. That pattern is what you would expect from a real strategy running through different weather, and it is also what you would expect from an overfitted one. The two explanations predict the same data.</p><p>465 out-of-sample trades at a t-statistic of 1.60 cannot separate them. That is the honest state of knowledge, and anyone who tells you they can resolve it from this sample is selling something.</p><p><em>Update, same day: the split alone cannot separate them. The parameter neighbourhood can, and it does &#8212; see the addendum that follows.</em></p><p><strong>ADDENDUM &#183; SAME DAY</strong></p><h2>The test we said we could not run</h2><p>A few hours after publishing, we found the test. Section 03 says 465 out-of-sample trades cannot separate regime from overfitting, and that is true of the split on its own. The parameter neighbourhood can, and we owe it to you to show it.</p><p>The strategy enters when its oscillator crosses &#177;100. We re-ran it at every threshold from 50 to 150 in steps of ten, in both windows, at the account level, against the same buy-and-hold benchmark. The logic is simple. <strong>If the in-sample advantage were regime, every threshold should show it.</strong> If it were parameter selection, 100 should sit on a peak that the out-of-sample window does not share.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TywD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TywD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 424w, https://substackcdn.com/image/fetch/$s_!TywD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 848w, https://substackcdn.com/image/fetch/$s_!TywD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 1272w, https://substackcdn.com/image/fetch/$s_!TywD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TywD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sharpe ratio by entry threshold, in both windows&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sharpe ratio by entry threshold, in both windows" title="Sharpe ratio by entry threshold, in both windows" srcset="https://substackcdn.com/image/fetch/$s_!TywD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 424w, https://substackcdn.com/image/fetch/$s_!TywD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 848w, https://substackcdn.com/image/fetch/$s_!TywD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 1272w, https://substackcdn.com/image/fetch/$s_!TywD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598239a1-61d8-4908-b8ab-7e2dfd8c2bcb_1888x874.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Fixed calendar windows: 2013-01 to 2018-11 and 2018-12 to 2026-08. Cells at 130 to 150 hold fewer than 200 trades each and are too thin to read on their own. Buy-and-hold reads 0.98 here and 0.95 in section 02 because the fixed window counts the first session of 2013, a +3.1% day; the strategy's own figures are identical in both.</em></p><p>In sample, 100 is the peak of a hump that runs from 90 to 120: <code>0.49</code> at 80, <code>0.76</code> at 90, <code>0.96</code> at 100, <code>0.89</code> at 110, <code>0.72</code> at 120. The published figure is the best of the eleven thresholds we tested. Out of sample there is no peak at 100. The curve drifts upward to 140 and <strong>no threshold reaches buy-and-hold's 0.98</strong>.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y--C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y--C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 424w, https://substackcdn.com/image/fetch/$s_!y--C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 848w, https://substackcdn.com/image/fetch/$s_!y--C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!y--C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y--C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93300277-5dee-493f-9d52-34833eab509c_1888x1358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Per-trade t-statistic and account-level Sharpe by threshold. Green marks a Sharpe above buy-and-hold in that window (0.98 out of sample, 0.67 in sample). Greyed rows hold fewer than 200 trades.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Per-trade t-statistic and account-level Sharpe by threshold. Green marks a Sharpe above buy-and-hold in that window (0.98 out of sample, 0.67 in sample). Greyed rows hold fewer than 200 trades." title="Per-trade t-statistic and account-level Sharpe by threshold. Green marks a Sharpe above buy-and-hold in that window (0.98 out of sample, 0.67 in sample). Greyed rows hold fewer than 200 trades." srcset="https://substackcdn.com/image/fetch/$s_!y--C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 424w, https://substackcdn.com/image/fetch/$s_!y--C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 848w, https://substackcdn.com/image/fetch/$s_!y--C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!y--C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93300277-5dee-493f-9d52-34833eab509c_1888x1358.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Then the walk-forward, which is the only fair way to choose a parameter. Pick the threshold on 2013 to 2018 without looking at what came after and you pick 140. Run 140 on 2018 to 2026 and you get a Sharpe of <code>0.68</code> against buy-and-hold's <code>0.67</code>, at a third of the return (5.2% a year against 16.3%), on 133 trades in eight years. Pick on 2018 to 2026 and you pick 100, which then loses <code>0.57</code> to <code>0.98</code>. <strong>Neither direction beats the index.</strong></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vwcn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vwcn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 424w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 848w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 1272w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vwcn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Choose the threshold on one window, score it on the other. The forward-chosen threshold ties buy-and-hold on Sharpe at a third of the return; the backward-chosen one is the published strategy.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Choose the threshold on one window, score it on the other. The forward-chosen threshold ties buy-and-hold on Sharpe at a third of the return; the backward-chosen one is the published strategy." title="Choose the threshold on one window, score it on the other. The forward-chosen threshold ties buy-and-hold on Sharpe at a third of the return; the backward-chosen one is the published strategy." srcset="https://substackcdn.com/image/fetch/$s_!vwcn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 424w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 848w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 1272w, https://substackcdn.com/image/fetch/$s_!vwcn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a676bc1-7c06-47ec-a500-4a0116c76beb_1888x398.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><blockquote><p>Trades entered between 100 and 110 on the oscillator earned $540 each in the window the threshold was chosen in, and $1 each outside it.</p></blockquote><p>Regime is real, and we are not withdrawing section 03. At every threshold the average trade is larger after 2018 &#8212; two to three times larger across the readable range &#8212; and about 1.5&#215; of that is simply the volatility difference between the two periods (21.7% against 14.0%). But regime lifts the whole family a little. It does not explain why one threshold, the one we chose, beats the thresholds twenty points either side of it by a quarter to half a Sharpe point in the window we chose it in. A year-block bootstrap puts the gap between 100 and its immediate neighbours inside noise, which is the point: the hump is real, its height at 100 is inflated by selection, and the whole hump is absent out of sample.</p><p><strong>So the verdict changes.</strong> Not "unproven". The strategy does not beat holding the index on any threshold it did not get to choose after the fact. The paper lane keeps running at 100, because re-tuning it on this test would be the exact sin the test describes, and its job was never validation. And the parameter neighbourhood in both windows becomes a standard gate here, applied to everyone we examine, before any in-versus-out-of-sample claim is published.</p><p><strong>04 / THE ARITHMETIC OF WAITING</strong></p><h2>What six months of live trading can and cannot prove</h2><p>The obvious answer is to run it forward and find out. We looked at what that would actually deliver, and the answer is sobering.</p><p>The signal fires on 22% of sessions &#8212; about 69 trades a year, a median of five a month, and across 164 months of history <strong>there has never been a month with zero trades</strong>. So the lane is healthy; a couple of quiet sessions means nothing. A six-month run contains a median of 31 trades, ranging from 20 in the quietest stretch to 94 in the busiest.</p><p>Now the problem. Thirty-one trades at a 55% win rate has a standard deviation of 2.8 wins. Two standard deviations either side puts the observed win rate anywhere between <strong>37% and 73%</strong> on luck alone. A six-month paper run cannot distinguish a working strategy from a broken one. It cannot even distinguish either from a coin.</p><p>So we are changing what we claim the lane is for. It is not validating the edge, because it mathematically cannot. It is proving the machinery &#8212; that orders fill where the backtest says they fill, that the entry window is respected, that positions flatten &#8212; and it is accumulating forward out-of-sample evidence that will be worth something in three years and nothing in six months. We will keep running it, and we will stop describing it as a test.</p><p><strong>05 / THE TRANSFERABLE PART</strong></p><h2>The test you should run on us</h2><p>Three questions, and they are the ones we now apply to everything including ourselves.</p><p><strong>Where does the sample end and the tuning begin?</strong> Almost every published strategy has a window in which it was developed. Ask which one it is, then ask to see the result outside it. If the author cannot tell you where that boundary sits, the whole result is in sample.</p><p><strong>What did the benchmark do in each half?</strong> A strategy that beats a 0.67-Sharpe market and loses to a 0.95-Sharpe market has told you something about itself, but not what the headline says. Compare within each regime, not across the average.</p><p><strong>How many trades would it take to know?</strong> Run the arithmetic before you run the strategy. If the sample you are going to collect cannot separate the hypotheses, waiting is not evidence-gathering, it is just waiting.</p><p>We are not retiring this strategy. It has a real and statistically strong result in one half of its history, a weak but positive one in the other, and a defensive profile that is genuinely useful. What it does not have is proof that it beats holding the index, and we are not going to write that it does. The addendum sharpens this: the strong half is the half the threshold was chosen in, and no threshold beats the index in the other.</p><h3>Method</h3><p>Data: Dukascopy 1-minute bid, resampled to 10-minute bars, gap-repaired to zero missing weekdays. 4,253 sessions, 2 January 2013 to 21 August 2026. Signal computed on bar close, filled at the next bar's open, flat at 16:00 New York. Friction one index point per round trip.</p><p>Account construction: each trade expressed as a percent of the notional it controlled at entry (index level &#215; $20 per Nasdaq point), compounded daily, with idle capital earning the one-month Treasury bill rate from the Ken French data library. Benchmark is the total return of holding the index over the identical sessions.</p><p>On leverage: the 3&#215; rows are priced without a borrowing charge, which is defensible only because this strategy is flat by the close every day &#8212; there is no overnight financing, and futures embed the risk-free rate in the basis. A cash-equity strategy carrying positions overnight would need the real margin rate charged against it, and when we did that to Connors RSI(2) it destroyed the edge. Worst single day at 1&#215; is &#8722;5.45% of notional, so &#8722;16.4% at 3&#215;.</p><p>Addendum: eleven thresholds, 50 to 150 in steps of ten, each window run on its own with the first 200 bars skipped, fixed calendar windows 2013-01-01 to 2018-12-01 and 2018-12-01 to 2026-09-01. At 100 the trade lists are identical to those behind sections 01 and 02. Walk-forward chooses the threshold by Sharpe on one window and scores it on the other. Bootstrap: 4,000 resamples of calendar years.</p><p>Backtested results are hypothetical and do not represent returns any investor achieved. This is research, not investment advice.</p>]]></content:encoded></item><item><title><![CDATA[The Winner That Doesn't Win]]></title><description><![CDATA[Connors RSI(2) has a real edge and wins 76% of its trades. It still earns 4.32% a year against buy-and-hold's 10.86%.]]></description><link>https://www.pastperformancelab.com/p/connors-rsi-2-backtest-vs-buy-and-hold</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/connors-rsi-2-backtest-vs-buy-and-hold</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Wed, 02 Sep 2026 17:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/63d96456-5593-4fa1-a3af-d59a63e602a8_1888x984.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Strategy Verification &#183; Issue 05 &#183; 2 September 2026 &#183; US500 daily, 15.5 years</em></p><p><em>Connors RSI(2) was the one strategy in our first batch of five that survived. It passes every statistical gate we can throw at it. Then you put it in an account and it loses to buying the index and going to sleep.</em></p><p><strong>Edge is real &#183; Loses to buy-and-hold &#183; Works as an overlay</strong><br><em>t = 3.43 &#183; but 4.32%/yr against the index's 10.86% &#183; invested 12% of the time</em></p><p><strong>01 / THE RULES</strong></p><h2>Five lines, and you can check them on a phone</h2><p>Larry Connors published this in <em>Short Term Trading Strategies That Work</em> and it has been reposted, repackaged and resold ever since. It is the simplest thing we have tested. It is also the only survivor of our first batch, where the 5-minute opening range breakout, UT Bot, TTM Squeeze and the Nadaraya-Watson envelope all failed.</p><h3>Connors RSI(2) &#8212; as published, as tested</h3><p><strong>Universe.</strong> One broad index. We tested the S&amp;P 500 and, separately, the Nasdaq 100.</p><p><strong>Filter.</strong> Only take trades when <code>close &gt; SMA(200)</code> &#8212; long-term uptrend only.</p><p><strong>Entry.</strong> Buy when <code>RSI(2) &lt; 10</code>. A two-period RSI hits single digits after a sharp two- or three-day drop.</p><p><strong>Exit.</strong> Sell when <code>close &gt; SMA(5)</code>. Typically four days later.</p><p><strong>Direction.</strong> Long only. No shorts, no options, no stop-loss.</p><p>Over 3,911 sessions from April 2013 to August 2026 that produces 139 trades, a 76.3% win rate, a profit factor of 2.23 after costs and a t-statistic of 3.43 on per-trade returns. By the standards of what circulates online, that is an unusually solid result. We spent the rest of the day trying to break it.</p><p><strong>02 / THE GATES</strong></p><h2>Four ways it could have died, and didn't</h2><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BnDq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BnDq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 424w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 848w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 1272w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BnDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Per-trade statistics, S&amp;P 500 daily. \&quot;Fill at close\&quot; is Connors' own convention. \&quot;Fill at next open\&quot; places the order after the close for the following session's open &#8212; what someone with a job can actually do. Costs are 3 basis points round trip.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Per-trade statistics, S&amp;P 500 daily. &quot;Fill at close&quot; is Connors' own convention. &quot;Fill at next open&quot; places the order after the close for the following session's open &#8212; what someone with a job can actually do. Costs are 3 basis points round trip." title="Per-trade statistics, S&amp;P 500 daily. &quot;Fill at close&quot; is Connors' own convention. &quot;Fill at next open&quot; places the order after the close for the following session's open &#8212; what someone with a job can actually do. Costs are 3 basis points round trip." srcset="https://substackcdn.com/image/fetch/$s_!BnDq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 424w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 848w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 1272w, https://substackcdn.com/image/fetch/$s_!BnDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47af6541-5788-48fe-beb0-ede4fe33b3a3_1888x984.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>It has a dead patch.</strong> From 2020 to 2022 the edge went to nothing &#8212; 20 trades, profit factor 1.12, t of 0.16. Three years of doing the work for no reward. Anyone running this needs to know that in advance, because three flat years is exactly how long it takes to abandon a system right before it starts working again. 2023 to 2026 is the second-strongest era in the record.</p><p><strong>You do not need to trade the close.</strong> This is the finding that matters most for anyone with a job, and it surprised us. Connors' rules assume you buy at the close of the signal day. Place the order for the next session's open instead and the profit factor falls from 2.23 to 2.02 &#8212; you give up about a fifth of the edge. In the 2023&#8211;2026 era the next-open fill is actually <em>better</em> than the close fill, 3.52 against 3.18. You can run this with an order placed the night before.</p><p><strong>It is a plateau, not a knife-edge.</strong> Every parameter we varied kept working: threshold 5, 10, 15 and 20 all produce t-statistics above 2.7; RSI periods 2, 3 and 4 all work; the 200-day filter can be a 100-day filter. Two changes are genuine improvements on the published version, and we say so below.</p><p><strong>03 / THE REVERSAL</strong></p><h2>Now put it in an account</h2><p>Everything above is a per-trade statistic. A per-trade statistic tells you how good the trades are. It does not tell you how good the <em>account</em> is &#8212; and for a strategy that is invested 12.1% of the time, those are not the same question.</p><p>So we ran the account. Capital sits in one-month T-bills when flat, buys the index at the open when the signal fires, sells at the open when the exit fires, pays three basis points a round trip. This is the number that would actually have appeared on a statement.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QyKH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QyKH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 424w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 848w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 1272w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QyKH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Account-level, S&amp;P 500, April 2013 &#8211; August 2026 (15.5 years), open-to-open fills, 3bp round trip, idle cash earning the one-month T-bill. \&quot;x\&quot; is the terminal multiple on the starting balance.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Account-level, S&amp;P 500, April 2013 &#8211; August 2026 (15.5 years), open-to-open fills, 3bp round trip, idle cash earning the one-month T-bill. &quot;x&quot; is the terminal multiple on the starting balance." title="Account-level, S&amp;P 500, April 2013 &#8211; August 2026 (15.5 years), open-to-open fills, 3bp round trip, idle cash earning the one-month T-bill. &quot;x&quot; is the terminal multiple on the starting balance." srcset="https://substackcdn.com/image/fetch/$s_!QyKH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 424w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 848w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 1272w, https://substackcdn.com/image/fetch/$s_!QyKH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06df6692-b601-4aec-909a-c98e4522a94e_1888x692.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Buy and hold turns one unit into 4.95. Connors turns it into 1.93. Over fifteen and a half years the strategy that wins 76% of its trades finishes at <strong>39% of the wealth</strong> of doing nothing at all &#8212; and loses on Sharpe too, 0.45 against 0.64.</p><p>Look at the third row. With idle cash earning zero instead of the T-bill rate, the account makes 2.72% instead of 4.32%. <strong>More than a third of the return is the money market, not the strategy.</strong> That is what "invested 12% of the time" means in practice, and it is invisible in every per-trade statistic ever posted about this system.</p><blockquote><p>A 76% win rate and a t-statistic of 3.43, and it still finishes at 39% of the wealth of doing nothing.</p></blockquote><p>What it does buy is calm. The worst account drawdown is &#8722;14.0% against the index's &#8722;32.3%, at 5.7% volatility against 14.9%. In the three worst stretches of the period it lost a fraction of what the index lost:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k445!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k445!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 424w, https://substackcdn.com/image/fetch/$s_!k445!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 848w, https://substackcdn.com/image/fetch/$s_!k445!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 1272w, https://substackcdn.com/image/fetch/$s_!k445!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k445!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Account-level total return over each window. The strategy is flat for most of every one of them &#8212; that is the mechanism.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Account-level total return over each window. The strategy is flat for most of every one of them &#8212; that is the mechanism." title="Account-level total return over each window. The strategy is flat for most of every one of them &#8212; that is the mechanism." srcset="https://substackcdn.com/image/fetch/$s_!k445!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 424w, https://substackcdn.com/image/fetch/$s_!k445!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 848w, https://substackcdn.com/image/fetch/$s_!k445!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 1272w, https://substackcdn.com/image/fetch/$s_!k445!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa72ed8a5-9763-4ed0-a762-96387b0db787_1888x458.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>04 / THREE FIXES</strong></p><h2>Two that fail, one that works</h2><p>A strategy that is right most of the time but under-deployed has an obvious remedy: deploy more. There are three ways to do it and only one of them survives contact with a borrowing cost.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bJX0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bJX0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 424w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 848w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 1272w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bJX0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/700eb84f-6436-4581-8772-54440a97aa83_1888x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Leverage financed at 5.13% &#8212; the real Interactive Brokers retail tier for balances under $100,000. \&quot;Worst day\&quot; is the largest single-session account loss at that gearing.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Leverage financed at 5.13% &#8212; the real Interactive Brokers retail tier for balances under $100,000. &quot;Worst day&quot; is the largest single-session account loss at that gearing." title="Leverage financed at 5.13% &#8212; the real Interactive Brokers retail tier for balances under $100,000. &quot;Worst day&quot; is the largest single-session account loss at that gearing." srcset="https://substackcdn.com/image/fetch/$s_!bJX0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 424w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 848w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 1272w, https://substackcdn.com/image/fetch/$s_!bJX0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F700eb84f-6436-4581-8772-54440a97aa83_1888x790.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>Fix 1 fails.</strong> Every step of leverage lowers the Sharpe ratio &#8212; 0.45 to 0.42 to 0.41. You can reach the index's return by gearing the improved version to 3&#215;, but you get there at 21.3% volatility and a &#8722;41.3% drawdown, against the index's 14.9% and &#8722;32.3%. You are buying return with borrowed money at 5.13% and the edge is not wide enough to pay for it.</p><p><strong>Fix 2, changing the parameters, is a real but partial improvement.</strong> Widening the entry to <code>RSI(2) &lt; 15</code> and slowing the exit to <code>close &gt; SMA(10)</code> lifts the account from 4.32% to 5.78% and the Sharpe from 0.45 to 0.57, with a slightly <em>smaller</em> drawdown. More trades, held longer, invested 21% of the time instead of 12%. Still behind the index.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uSqJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uSqJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 424w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 848w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 1272w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uSqJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Fix 3 &#8212; the overlay. Hold the index continuously and add extra exposure only when the signal fires, financed at 5.13%. Average gross exposure stays modest because the signal is on a fifth of the time.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fix 3 &#8212; the overlay. Hold the index continuously and add extra exposure only when the signal fires, financed at 5.13%. Average gross exposure stays modest because the signal is on a fifth of the time." title="Fix 3 &#8212; the overlay. Hold the index continuously and add extra exposure only when the signal fires, financed at 5.13%. Average gross exposure stays modest because the signal is on a fifth of the time." srcset="https://substackcdn.com/image/fetch/$s_!uSqJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 424w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 848w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 1272w, https://substackcdn.com/image/fetch/$s_!uSqJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf629eb9-e87a-4b5f-8dac-d49c9589ac05_1888x594.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>Fix 3 works, and we want to be careful about how loudly we say so.</strong> The overlay beats buy and hold on return at every setting, and it is the only configuration in this piece that also beats it on Sharpe &#8212; 0.67 against 0.64.</p><p>But read the size of that edge. Three basis points of Sharpe is not a discovery, it is a rounding error away from "leverage priced fairly". The overlay adds about three points of annual return in exchange for 4.5 points of volatility and 6.6 points of drawdown. Most of what you are being paid is compensation for risk you chose to take, and only a sliver is the signal. If someone sells you this as alpha, they are selling you margin.</p><p>Since January 2023 the overlay returned 23.18% at a Sharpe of 0.93, against the index's 18.09% at 0.91. Same story at a different scale: meaningfully more money, essentially the same risk-adjusted quality.</p><p><strong>05 / HOW TO RUN IT</strong></p><h2>Six steps, ten minutes a day, no screen time</h2><p>If you have read the section above and still want to run it, here is the whole procedure. It needs a daily close, three indicators and one order. Nothing here requires watching the market.</p><h3>1. Pick the instrument and the sizing</h3><p>A liquid broad-index ETF &#8212; SPY, VOO or IVV for the S&amp;P 500. Decide up front whether you are running the standalone version (cash when flat) or the overlay (index always held, extra exposure on signal). They are different products with different risks; do not switch between them mid-drawdown.</p><h3>2. After the close, compute three numbers</h3><p><code>RSI(2)</code>, <code>SMA(5)</code> or <code>SMA(10)</code>, and <code>SMA(200)</code> on daily closes. Any charting package gives you all three. The two-period RSI is the only unusual setting &#8212; most defaults are 14.</p><h3>3. Apply the entry test</h3><p>Flat, and <code>close &gt; SMA(200)</code>, and <code>RSI(2)</code> below your threshold &#8212; 10 for the published version, 15 for the improved one. If all three are true, you buy.</p><h3>4. Place a market-on-open order for tomorrow</h3><p>This is the step that makes the strategy compatible with a job. Our testing shows the next-open fill costs about a fifth of the edge against Connors' close fill, and nothing at all in the recent era. Submit it the evening before and go to bed.</p><h3>5. Check the exit the same way, every session</h3><p>In a position and <code>close &gt; SMA(5)</code> &#8212; or <code>SMA(10)</code> for the improved version &#8212; you sell at the next open. Median holding period is four days. There is no stop-loss in the published rules, which is the single largest risk in the system: the worst trade in the record lost 7.37% in March 2020.</p><h3>6. Automate it, or write down what you will do in the dead patch</h3><p>The whole thing is a handful of lines against the IBKR API and it is the most automatable strategy this lab has tested. If you are running it by hand, write down in advance what you will do during three flat years, because 2020&#8211;2022 will happen again and discretion is how systems die.</p><p><strong>RETAIL GATE</strong></p><h2>12 out of 12 &#8212; the first perfect score</h2><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0uFB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0uFB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 424w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 848w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 1272w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0uFB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Retail Gate scorecard&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Retail Gate scorecard" title="Retail Gate scorecard" srcset="https://substackcdn.com/image/fetch/$s_!0uFB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 424w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 848w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 1272w, https://substackcdn.com/image/fetch/$s_!0uFB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68ca9d15-1457-4821-b559-a04e9e0256e0_1888x540.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>This is the highest Retail Gate score we have recorded, and it deserves stating plainly: the barrier to running Connors RSI(2) is not access, cost, capital or complexity. It is that the thing you would be running does not beat the index unless you lever it, and levering it is most of where the extra return comes from.</p><p><strong>06 / THE TRANSFERABLE PART</strong></p><h2>Ask what the account did, not what the trades did</h2><p>The gap between "profit factor 2.23, t-statistic 3.43" and "39% of the wealth of doing nothing" is not a contradiction. Both are true. They answer different questions, and only one of them is the question you have.</p><p>Any strategy that sits in cash has this problem, and the less time it spends invested the worse it gets. A swing system that is in the market a tenth of the time can have a beautiful trade distribution and still leave you poorer than a savings account plus an index fund, because ninety per cent of your capital was doing nothing while the market compounded without you. Win rate, profit factor, average trade and t-statistic are all silent on this. They are computed over trades, and the trades are not your life.</p><p>Three questions turn a per-trade claim into an account claim. <strong>What percentage of the time is it invested?</strong> Below about 30% and you should assume the headline is misleading until proven otherwise. <strong>What is the idle capital earning?</strong> In this case more than a third of the total return, which means the same strategy would have looked substantially worse in the zero-rate years and the backtest quietly took credit for the Federal Reserve. <strong>And what did buy and hold do over the identical window?</strong> Not the strategy's own equity curve in isolation &#8212; the alternative you actually had.</p><p>None of this makes Connors RSI(2) a bad system. It is a genuine, replicable, statistically significant edge, it is the most retail-runnable thing we have tested, and it protects capital in crashes in a way holding the index does not. It is simply much smaller than it looks, and where you deploy it matters more than whether you have it.</p><h3>Method</h3><p>Data: Dukascopy 1-minute bid, resampled to regular-hours daily bars, gap-repaired to zero missing weekdays. US 500, 3,911 sessions, 2013-04-16 to 2026-08-31; US Tech 100, 4,260 sessions, used as the second-instrument check. Indicators are Pine-compatible: RSI on an SMA-seeded Wilder average, SMAs on closes.</p><p>Per-trade tests: entry and exit both at the signal-day close (Connors' convention) or both at the following session's open, 3 basis points charged per round trip. Account tests: open-to-open index returns while held, one-month T-bill on idle balances, cost charged on each side of a position change, leverage financed at 5.13% &#8212; the Interactive Brokers retail tier for balances under $100,000. Positions are decided at the close and filled at the next open throughout, so no result uses information it could not have had.</p><p>An earlier note in our batch-1 write-up described this strategy as returning "roughly 3&#215; per unit of exposure at a fifth of the drawdown". That is arithmetically correct and, as a headline, misleading &#8212; it is the per-trade framing this piece exists to correct. The account-level comparison above supersedes it.</p><h3>Sources</h3><p>Larry Connors and Cesar Alvarez, <em>Short Term Trading Strategies That Work</em> (2008), for the original rules &#183; Batch 1 verification, this lab, 1 September 2026 &#183; Interactive Brokers published margin rates</p><p>Backtested results are hypothetical and do not represent returns any investor achieved. This is research, not investment advice.</p>]]></content:encoded></item><item><title><![CDATA[The Century That Ended in 1990]]></title><description><![CDATA[A 100-year industry trend strategy replicates at 18.2% a year. 63% of the growth came before 1980.]]></description><link>https://www.pastperformancelab.com/p/industry-trend-following-100-year-backtest</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/industry-trend-following-100-year-backtest</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Wed, 02 Sep 2026 14:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1858445c-b3f7-4679-a2c2-72daa251b616_1888x922.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Strategy Verification &#183; Issue 04 &#183; 2 September 2026 &#183; 26,274 trading days</em></p><p><em>Carlo Zarattini and Gary Antonacci published a trend-following strategy that returned 18.2% a year for a hundred years. We reproduced it to within a tenth of a point &#8212; and then found that everything you could actually buy it with has lost to the index for thirty-six years.</em></p><p><strong>Replicates &#183; Edge is pre-1990 &#183; Fails on tradeable instruments</strong><br><em>18.31% claimed 18.2% &nbsp;&#183;&nbsp; investable version 5.91% vs market 11.39%</em></p><p><strong>01 / THE CLAIM</strong></p><h2>A hundred years, 18.2% a year, a third of the market's drawdown</h2><p><a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4857230">A Century of Profitable Industry Trends</a> is a serious paper by serious people. Gary Antonacci wrote the book on dual momentum; Carlo Zarattini runs <a href="https://concretumgroup.com/a-century-of-profitable-industry-trends/">Concretum</a> and publishes more replicable research than most academics. The paper is fully specified &#8212; every band, every parameter, every sizing rule is in the text &#8212; which is precisely why it was worth testing.</p><p>The rules are compact. Build a price index for each of Ken French's 48 industry portfolios. Around each one draw two channels: a Donchian channel on closing prices, and a Keltner channel adapted to closes, <code>EMA(P,n) &#177; 1.4&#183;k&#183;mean(|&#916;P|,n)</code>. Go long when the price closes at or above the <em>lower</em> of the two upper bands. Exit on a trailing stop set to the <em>higher</em> of the two lower bands, ratcheted so it is never revised down. Size each position at <code>(1.5%/N) &#247; &#963;</code> on 14-day volatility, cap gross exposure at 200%, rebalance daily, park cash in one-month T-bills.</p><p>Long only. No shorting, no options, no leverage beyond 2&#215;. The claimed result is an 18.2% internal rate of return at 12.6% volatility with a 33% maximum drawdown, against a market that lost 84% of its value at the bottom of 1932.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2EoK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2EoK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 424w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 848w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 1272w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2EoK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ken French 48 industry portfolios, value-weighted daily total returns, July 1926 &#8211; March 2024. Our figures come from the free public data library; nothing here required a paid feed. Sharpe and Sortino differ because the paper does not state its risk-free convention; CAGR, volatility and drawdown are the load-bearing numbers and they match.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ken French 48 industry portfolios, value-weighted daily total returns, July 1926 &#8211; March 2024. Our figures come from the free public data library; nothing here required a paid feed. Sharpe and Sortino differ because the paper does not state its risk-free convention; CAGR, volatility and drawdown are the load-bearing numbers and they match." title="Ken French 48 industry portfolios, value-weighted daily total returns, July 1926 &#8211; March 2024. Our figures come from the free public data library; nothing here required a paid feed. Sharpe and Sortino differ because the paper does not state its risk-free convention; CAGR, volatility and drawdown are the load-bearing numbers and they match." srcset="https://substackcdn.com/image/fetch/$s_!2EoK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 424w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 848w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 1272w, https://substackcdn.com/image/fetch/$s_!2EoK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cef18d4-dbe0-47ad-af14-3a0b2d3a51c7_1888x922.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>That is a clean replication. The paper says what it did, and doing what it says produces what it reports. Most of what circulates as a "backtested strategy" does not survive this step. This one does, and that is the reason the rest of this piece is worth reading &#8212; everything below is built on numbers the authors would recognise as their own.</p><p><strong>02 / THE FIRST THING THE HEADLINE HIDES</strong></p><h2>Sixty-three per cent of the century was made before 1980</h2><p>A hundred-year average is a single number laid over eleven very different decades. Split it, and the strategy's excess return over the market has a shape nobody would advertise.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jBj4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jBj4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 424w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 848w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 1272w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jBj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Excess return over the US market, by decade&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Excess return over the US market, by decade" title="Excess return over the US market, by decade" srcset="https://substackcdn.com/image/fetch/$s_!jBj4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 424w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 848w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 1272w, https://substackcdn.com/image/fetch/$s_!jBj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F136bb14f-4e7b-4a99-b6da-74ba31202296_1888x686.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Excess return is the strategy's compound annual return minus the US total-market return over the same days. Partial decades at each end (1926&#8211;29, 2020&#8211;Mar 2024) are computed on the days available. The 1990s reading of +0.20 turns to &#8722;1.62 once realistic trading friction is charged.</em></p><p>The strategy beat the market by more than eleven points a year in every decade from the 1920s to the 1980s. Then the 1990s came in flat. The 2000s look like a return to form at +9.2, but read what happened: the market went <em>nowhere</em> that decade, losing 0.39% a year and drawing down 54.6%. The strategy made 8.85% by sitting in cash through two crashes. That is defence, not edge.</p><p>Then the 2010s: &#8722;3.92. The 2020s so far: &#8722;3.90. Sixty-three per cent of the century's total compound growth was banked before 1980, in industry portfolios that were not investable, at a turnover nobody could have paid for, in an era when the average holding cost of a US equity position was an order of magnitude higher than today.</p><blockquote><p>Every decade from the 1920s to the 1980s: at least +11 points a year. Every decade since: zero or negative.</p></blockquote><p><strong>03 / THE SECOND THING</strong></p><h2>You cannot buy a Ken French industry portfolio</h2><p>The 48 industry portfolios are academic constructs &#8212; value-weighted baskets of every CRSP-listed firm in a SIC bucket, rebalanced each June, with no fund behind them. To trade this you need the paper's second test: 31 SPDR sector and industry ETFs. That version is the one a retail investor could actually run, and it is the one the abstract does not lead with.</p><p>We rebuilt it with the same engine on <code>XLB XLE XLF XLI XLK XLP XLU XLV XLY XLRE XLC</code> plus the industry SPDRs <code>KBE KCE KIE KRE XAR XBI XES XHB XHE XHS XITK XME XNTK XOP XPH XRT XSD XSW XTH XTL XTN XWEB</code> &#8212; every one of them available in any brokerage account, commission-free at most brokers. Twenty and a half years, January 2006 to June 2026.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EJLt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EJLt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 424w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 848w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 1272w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EJLt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;31 SPDR sector and industry ETFs, adjusted daily total returns, January 2006 &#8211; June 2026. \&quot;Paper's assumptions\&quot; means borrowing the levered portion at the one-month T-bill rate and paying nothing to trade. IBKR margin is the real retail tier for balances under $100,000 as of this writing: benchmark plus 1.5%, currently 5.13%. Friction is charged on turnover in basis points of traded notional per round trip.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="31 SPDR sector and industry ETFs, adjusted daily total returns, January 2006 &#8211; June 2026. &quot;Paper's assumptions&quot; means borrowing the levered portion at the one-month T-bill rate and paying nothing to trade. IBKR margin is the real retail tier for balances under $100,000 as of this writing: benchmark plus 1.5%, currently 5.13%. Friction is charged on turnover in basis points of traded notional per round trip." title="31 SPDR sector and industry ETFs, adjusted daily total returns, January 2006 &#8211; June 2026. &quot;Paper's assumptions&quot; means borrowing the levered portion at the one-month T-bill rate and paying nothing to trade. IBKR margin is the real retail tier for balances under $100,000 as of this writing: benchmark plus 1.5%, currently 5.13%. Friction is charged on turnover in basis points of traded notional per round trip." srcset="https://substackcdn.com/image/fetch/$s_!EJLt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 424w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 848w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 1272w, https://substackcdn.com/image/fetch/$s_!EJLt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8791fb1d-f993-4d04-a8c0-25f4d534279a_1888x664.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>On the authors' own generous assumptions &#8212; free trading, institutional borrowing &#8212; the investable version returns <strong>8.03% against the market's 11.39%</strong>, at a Sharpe of 0.51 against 0.56. It loses on return and it loses on risk-adjusted return. Charge the margin rate an actual retail account pays and five basis points to trade, and it makes <strong>5.91%</strong>: barely half the index, for 2,270% annual turnover and a 28.2% win rate across 2,934 trades.</p><p>The one thing it delivers is the drawdown promise. &#8722;23.0% against the market's &#8722;54.6%. Hold that thought; we come back to it.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R88M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R88M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!R88M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!R88M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!R88M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R88M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Out of sample in the strictest sense: the paper was published in June 2024, and this window begins in April 2024. Neither the authors nor we had seen these returns when the rules were fixed.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Out of sample in the strictest sense: the paper was published in June 2024, and this window begins in April 2024. Neither the authors nor we had seen these returns when the rules were fixed." title="Out of sample in the strictest sense: the paper was published in June 2024, and this window begins in April 2024. Neither the authors nor we had seen these returns when the rules were fixed." srcset="https://substackcdn.com/image/fetch/$s_!R88M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 424w, https://substackcdn.com/image/fetch/$s_!R88M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 848w, https://substackcdn.com/image/fetch/$s_!R88M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 1272w, https://substackcdn.com/image/fetch/$s_!R88M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb284c7f1-057c-40dd-aa5d-a059bc424b46_1888x496.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>04 / FIVE GATES</strong></p><h2>We tried to break our own result, then tried to rescue theirs</h2><p>A negative finding is only worth publishing if you have attacked it as hard as you would attack a positive one. Five tests, in the order we ran them. The first two ask whether our engine is trustworthy. The last three ask whether the strategy can be saved.</p><h3>01 &#183; Does the engine peek at the future?</h3><p>Feed it twenty random walks with the same drift and the same volatility as the real industry portfolios. A clean engine can only earn the drift. An engine with lookahead earns more.</p><p><strong>CLEAN.</strong> Strategy returns 8.79% on random walks against a 12.72% buy-and-hold drift &#8212; it <em>underperforms</em> by 3.94 points, exactly as a system with no edge and periodic cash holdings should. Standard deviation across seeds 0.29.</p><h3>02 &#183; Are the published parameters a lucky cell?</h3><p>Eight settings around the published 20-day entry / 40-day exit / k = 2, tested on the investable ETF universe.</p><p><strong>NOT A KNIFE-EDGE &#8212; AND THAT MAKES IT WORSE.</strong> All eight land between 4.71% and 6.72% after realistic costs, against 11.39% for buy and hold. Robust, and robustly behind the index. Worth saying plainly: the published parameters are not even the best cell we found, so there is no sign the authors tuned to the answer.</p><h3>03 &#183; Can the turnover be cut to something a person could run?</h3><p>2,270% a year is the retail killer &#8212; that is every position turned over twenty-three times annually, in a taxable account, on daily closes. So: keep the daily stop, because you must always be able to get out, but only add positions and resize weekly or monthly.</p><p><strong>NO.</strong> Weekly rebalancing cuts turnover from 22.6&#215; to 14.5&#215; and the return from 5.92% to 5.04%. Monthly cuts turnover to 7.4&#215; and the return to <strong>2.50%</strong>. The return falls faster than the cost it saves. There is no low-turnover version of this strategy.</p><h3>04 &#183; Is the trend signal doing any work at all?</h3><p>Gate 03 implies something specific: if slowing the rebalance destroys the return, maybe the return lives in the rebalance and not in the signal. So strip the signal out entirely &#8212; same volatility-target sizing, same 200% cap, same daily rebalance, but always long everything.</p><p><strong>OVER THE CENTURY, YES. ON TRADEABLE INSTRUMENTS, NO.</strong> Across 48 industries 1926&#8211;2024 the signal earns its keep: 18.31% at Sharpe 1.15 and &#8722;33.6% drawdown, against 14.41% at Sharpe 0.67 and &#8722;78.9% with the signal off. But on the 31 ETFs since 2006, turning the signal <em>off</em> returns 11.75% at Sharpe 0.58 &#8212; better than the 8.03% at 0.51 you get with it on.</p><h3>05 &#183; Would random entries have done as well?</h3><p>The control that separates a signal from a sizing scheme: enter and exit at random, matched to the real strategy's 65% time-in-market, run through the identical volatility-targeting machinery.</p><p><strong>ONLY IF TRADING WERE FREE.</strong> Random entries reach Sharpe 0.64&#8211;0.65 at zero cost &#8212; comparable to the real signal. But they turn over 163&#8211;207&#215; a year, and at 5bp the random arm collapses to 0.00 and &#8722;0.22. What the trend rules genuinely provide is not the edge; it is doing the volatility targeting at a turnover low enough to survive friction.</p><p><strong>05 / WHAT SURVIVES</strong></p><h2>A drawdown machine, priced as an alpha machine</h2><p>There is something real here, and it is not the 18.2%.</p><p>Across the investable universe the strategy cut the worst drawdown from &#8722;54.6% to &#8722;23.0% &#8212; less than half &#8212; and did it at 13.7% volatility against the market's 19.6%. In the 2000s that protection was worth +9.2 points a year, because avoiding two crashes was the whole game. In the 2010s and 2020s it cost about four points a year, because there was nothing to avoid and plenty to miss.</p><p>So the honest description is: this is a defensive equity allocation with an unusually good crisis record and a persistent drag in trending markets. Whether that is worth owning depends entirely on what you think the next decade looks like &#8212; which is a forecast, not a backtest, and the paper's abstract does not present it as one.</p><p>The independent critique reaches a compatible conclusion from a different direction. <a href="https://arxiv.org/abs/2412.14361">Refining and Robust Backtesting of A Century of Profitable Industry Trends</a> attempted a walk-forward validation and could not confirm the result, concluding the original was likely overfit. We did not test for overfitting &#8212; we tested for tradeability &#8212; and arrived at the same place by another road.</p><p><strong>RETAIL GATE</strong></p><h2>Could you run it, if it worked?</h2><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1wga!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1wga!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 424w, https://substackcdn.com/image/fetch/$s_!1wga!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 848w, https://substackcdn.com/image/fetch/$s_!1wga!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 1272w, https://substackcdn.com/image/fetch/$s_!1wga!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1wga!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/faaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Retail Gate scorecard&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Retail Gate scorecard" title="Retail Gate scorecard" srcset="https://substackcdn.com/image/fetch/$s_!1wga!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 424w, https://substackcdn.com/image/fetch/$s_!1wga!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 848w, https://substackcdn.com/image/fetch/$s_!1wga!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 1272w, https://substackcdn.com/image/fetch/$s_!1wga!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffaaab914-0ff5-4a63-bb4e-9064b6bec0c8_1888x738.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><strong>7 out of 12.</strong> The barriers are cadence and complexity, not money or access &#8212; which is the unusual case where automation genuinely solves the retail problem. It would be a good candidate for a hands-off implementation, if the returns were there. They are not.</p><p><strong>06 / THE TRANSFERABLE PART</strong></p><h2>What to check before you trust a long backtest</h2><p>Three questions, in this order, and they generalise well beyond this paper.</p><p><strong>Could you have traded the instruments?</strong> A century of industry portfolios is a century of academic constructs. Sector ETFs are twenty years old, and the SPDR industry funds mostly younger than that. Any result whose good years pre-date the vehicles is a result about a market that could not be accessed.</p><p><strong>Where is the return concentrated in time?</strong> Not "is the average good" but "which decades paid for the average". If more than half the compound growth lands before the era you would actually be trading in, the headline is a historical claim, not a forward one.</p><p><strong>What does the strategy cost to run, at your rates?</strong> The paper borrows at the one-month T-bill rate. A retail account at Interactive Brokers under $100,000 pays benchmark plus 1.5% &#8212; 5.13% at the time of writing. Over a century that gap costs 0.87 points of annual return; in the modern era, where the strategy's total excess return is negative anyway, it is the difference between a marginal idea and a clearly bad one.</p><p>None of this is a criticism of the authors' honesty. Their paper specifies its rules completely enough that a stranger could reproduce it in an afternoon, which is more than can be said for almost anything posted on a chart. That is the standard. The finding is simply that the strategy those rules describe stopped working around the time the instruments to trade it were invented.</p><h3>Method</h3><p>Data: Ken French Data Library, 48 Industry Portfolios daily value-weighted returns and F-F Research Data Factors daily (RF, Mkt-RF), July 1926 &#8211; June 2026, 26,274 sessions. ETF prices: adjusted daily closes for 33 SPDR sector and industry funds, of which 25 have fifteen or more years of history; funds enter the universe on their listing date and take no risk budget before it.</p><p>Engine: bands computed on closing prices only. Entry compares today's close to yesterday's upper band. The trailing stop uses today's lower band and is never revised down. Position weights are set at the close and applied to the following day's returns, so no decision uses information it could not have had. Risk budget is divided by the number of assets available that day, not the nominal universe size.</p><p>Costs: leverage financed at the one-month T-bill rate in the paper's configuration and at 5.13% in the retail configuration. Friction charged in basis points of turnover; the 5bp case corresponds to roughly a half-cent spread on a $50 ETF plus commission.</p><h3>Sources</h3><p>Carlo Zarattini and Gary Antonacci, <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4857230">A Century of Profitable Industry Trends</a>, SSRN 4857230 &#183; <a href="https://arxiv.org/abs/2412.14361">Refining and Robust Backtesting of A Century of Profitable Industry Trends</a>, arXiv:2412.14361 &#183; <a href="https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html">Ken French Data Library</a> &#183; <a href="https://concretumgroup.com/a-century-of-profitable-industry-trends/">Concretum Group</a></p><p>Backtested results are hypothetical and do not represent returns any investor achieved. This is research, not investment advice.</p>]]></content:encoded></item><item><title><![CDATA[The Missing Ten Weeks]]></title><description><![CDATA[MrMilkTrading's weekly SPX put credit spread really wins 95% of the time. Its backtest starts just after the 2020 crash.]]></description><link>https://www.pastperformancelab.com/p/spx-put-credit-spread-backtest-2020</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/spx-put-credit-spread-backtest-2020</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Wed, 02 Sep 2026 11:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/955622fd-ceb3-495c-8191-2de5a878c064_1888x204.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Verification Batch 02 &#183; SPX weekly put credit spread &#183; 2 September 2026</em></p><p><em><a href="https://x.com/MrMilkTrading/status/2088011906384552045">The Milk Man</a> published a complete SPX strategy &#8212; 95.4% win rate, $4,605 maximum drawdown, every rule stated. We reproduced his win rate to within a tenth of a point. Then we ran the same rule over thirteen years instead of six, and found that three of the four worst weeks in that history sit just outside his start date.</em></p><p><strong>Survives &#183; Risk understated 5&#8211;10&#215;</strong></p><h2>The claim</h2><p><strong>One spread a week, at one level</strong></p><p><a href="https://x.com/MrMilkTrading/status/2088011906384552045">The Milk Man (@MrMilkTrading)</a> posted it in full: <em>"Sell one SPX put credit spread per week at the Multi-Day Saty ATR &#8722;1 level. That's the whole strategy."</em> Reported: 326 trades since May 2020, 95.4% win rate, profit factor 2.48, +$53,328 on a single contract, maximum drawdown $4,605.</p><p>His <a href="https://milkmantrades.com/atr-premium-selling.html">own site</a> fills in the rest, and we used it: 50-point spread width, weekly SPXW expiry, entry on the first trading day of the week around 10:00 ET, short strike rounded to the nearest 5, average credit $298, $2.64 commission, hold to settlement with no stop and no adjustment. Maximum risk per lot, about $4,702.</p><p>The level resolves exactly from the indicator's open source: Multi-Day means the weekly timeframe, and the &#8722;1 level is the previous weekly close minus the weekly 14-period ATR. That is fully reproducible, which is more than can be said for most strategies that circulate with numbers attached.</p><p>It also makes the first check free. A spread held to expiry either settles above the short strike, keeping the whole credit, or below it, losing up to the width. Deciding which happened needs only the index and the strike &#8212; no options data at all.</p><h2>First finding</h2><p><strong>His win rate is honest</strong></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qoDj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qoDj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 424w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 848w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 1272w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qoDj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Key figures&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Key figures" title="Key figures" srcset="https://substackcdn.com/image/fetch/$s_!qoDj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 424w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 848w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 1272w, https://substackcdn.com/image/fetch/$s_!qoDj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70bb70c9-17a1-45cc-88a9-b5311e85ba7e_1888x204.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>This deserves to be said before anything else. The number reproduces. The same author's Phase Oscillator strategy also reproduced when we tested it, to within 3.5% on net profit with an identical maximum drawdown. He publishes figures that survive checking, which in this corner of the internet is unusual enough to be worth stating plainly.</p><h2>Second finding</h2><p><strong>A 95% win rate here is arithmetic, not skill</strong></p><p>A put credit spread wins whenever the index fails to fall past the strike. Placed one weekly ATR below the market, that is <em>supposed</em> to happen about ninety-five times in a hundred. The win rate is the design of the instrument, not evidence of an edge in it.</p><p>Decompose his own published figures and the shape becomes clear.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_L6J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_L6J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 424w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 848w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 1272w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_L6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Key figures&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Key figures" title="Key figures" srcset="https://substackcdn.com/image/fetch/$s_!_L6J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 424w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 848w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 1272w, https://substackcdn.com/image/fetch/$s_!_L6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdec7cc4-45f7-4660-a3d5-493f7ac9e1ba_1888x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Everything therefore depends on the losses staying rare <em>and</em> staying apart. His stated worst case is a single maximum loss &#8212; so the claim is, in effect, that two bad weeks never landed close together. In February 2020 three landed inside four weeks.</p><h2>Third finding</h2><p><strong>The start date is doing the work</strong></p><p>Run the identical rule from 2013 rather than May 2020 and the picture changes &#8212; not catastrophically, but materially, and in the place that matters.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7aPG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7aPG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 424w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 848w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 1272w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7aPG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Worst weeks, 2013&#8211;2026Below strikeIn ATR terms&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worst weeks, 2013&#8211;2026Below strikeIn ATR terms" title="Worst weeks, 2013&#8211;2026Below strikeIn ATR terms" srcset="https://substackcdn.com/image/fetch/$s_!7aPG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 424w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 848w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 1272w, https://substackcdn.com/image/fetch/$s_!7aPG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcac612d8-bb88-4b56-a751-02cd49f5cb7d_2000x838.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Shaded rows fall outside the tested window. The short strike sits at 1&#215; ATR &#8212; a 4.57&#215; ATR week is not a tail the position size contemplates.</em></p><h3>The finding</h3><blockquote><p>Three of the four worst weeks in thirteen years fall in February and March 2020 &#8212; the ten weeks immediately before the backtest begins. A May 2020 start date excludes the single worst cluster for a short-put strategy in modern history, and misses it by six weeks.</p></blockquote><h2>Priced out</h2><p><strong>What it looks like over thirteen years</strong></p><p>To put money on the outcomes we need the credit received, and that is the one thing the index alone cannot tell us. Rather than model option prices and inherit the model's errors, we used <em>his own</em> stated average of $298 a week. Using the author's number is more defensible than any pricing model we could build, and it is generous to him, because that credit was earned in the window he chose. No options data was purchased for any of this.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O41h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O41h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 424w, https://substackcdn.com/image/fetch/$s_!O41h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 848w, https://substackcdn.com/image/fetch/$s_!O41h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 1272w, https://substackcdn.com/image/fetch/$s_!O41h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O41h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;50-point width, his exact specNetProfit factorMax drawdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="50-point width, his exact specNetProfit factorMax drawdown" title="50-point width, his exact specNetProfit factorMax drawdown" srcset="https://substackcdn.com/image/fetch/$s_!O41h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 424w, https://substackcdn.com/image/fetch/$s_!O41h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 848w, https://substackcdn.com/image/fetch/$s_!O41h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 1272w, https://substackcdn.com/image/fetch/$s_!O41h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0993470-d354-47c4-8ea6-c6d20e051689_2000x628.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>Our reconstruction on his own window comes out better than his own reporting (PF 2.54 against his 2.48), so this is not a lowball. Two credit models bracket the truth: a flat $298 every week overstates premium in calm markets, while scaling credit to prevailing volatility probably understates it. Reality sits between them &#8212; and both land far below his window. Profit factor falls from ~2.5 to between 1.73 and 1.12; maximum drawdown grows from about $6,000 to between $22,837 and $46,136, five to ten times the published figure.</em></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_1pL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_1pL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 424w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 848w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_1pL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Annual P&amp;L, full history, scaled creditResult&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Annual P&amp;L, full history, scaled creditResult" title="Annual P&amp;L, full history, scaled creditResult" srcset="https://substackcdn.com/image/fetch/$s_!_1pL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 424w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 848w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!_1pL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeeb47db-3577-4204-a507-c34c1255fdbd_2000x1052.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>His site reports zero negative years across 2020&#8211;2026, and on his window we agree &#8212; zero of seven. Over the full history it is five negative years of fourteen. 2018 alone loses $30,107, and 2018 is entirely outside the tested period.</em></p><h2>The mechanism</h2><p><strong>You are paid least exactly when the risk is greatest</strong></p><p>The most useful thing in this whole exercise is not the drawdown number. It is the week-by-week shape of early 2020, which shows <em>how</em> strategies like this fail rather than merely that they can.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OC9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OC9Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 424w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 848w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 1272w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OC9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;February&#8211;April 2020, week by week&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="February&#8211;April 2020, week by week" title="February&#8211;April 2020, week by week" srcset="https://substackcdn.com/image/fetch/$s_!OC9Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 424w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 848w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 1272w, https://substackcdn.com/image/fetch/$s_!OC9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff89b0928-5b75-4e40-9184-077c6fe30d38_1888x928.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The credit collected going into the crash was $134. The credit collected a month later, once the damage was done and volatility was enormous, was $375 &#8212; nearly triple, for weeks that all won comfortably.</p><p>Premium scales with volatility, and volatility is low right up until it isn't. So you are paid the least for taking the risk precisely when the risk is greatest, and paid the most afterwards, when the danger has passed. That is not misfortune. It is the defining structural property of selling volatility, and no amount of backtesting inside a calm window will reveal it.</p><h3>One quarter</h3><blockquote><p>February to April 2020 nets <strong>&#8722;$12,067</strong> on a single contract: three maximum losses in four weeks, each about $4,800. One quarter loses more than twice the entire claimed lifetime maximum drawdown.</p></blockquote><h2>Fairness</h2><p><strong>What this is not</strong></p><h3>Not a dishonesty finding</h3><p>He disclosed the start date, published every parameter down to the commission, and put the full specification on his own site. His arithmetic is sound and his win rate reproduces. He published a rule complete enough for a stranger to test &#8212; which is precisely why it could be tested at all. Most strategies that circulate with numbers attached cannot clear that bar, and the ones that cannot are the ones to worry about.</p><p>The criticism is narrower and it is about method, not character: six years is too short to price the tail of a strategy that earns small amounts often and loses large amounts rarely, and this particular window opens six weeks after the event that would have defined it.</p><h2>Method</h2><p><strong>How to check this</strong></p><h3>Rule</h3><p>Short strike = prior weekly close &#8722; weekly ATR(14), from the indicator's published source. Taken from his own published specification, not assumed: 50-point width, weekly SPXW expiry, entry first trading day around 10:00 ET, strike rounded to the nearest 5, hold to settlement, no stop or adjustment, $2.64 commission, skip the week if the natural credit is not positive.</p><div><hr></div><h3>Data and pricing</h3><p>Index history 2013&#8211;2026 from a gap-repaired 1-minute dataset resampled to weekly bars. No options data was purchased. The credit is the author's own stated $298 average, applied both as a constant and scaled to prevailing volatility, which brackets the realistic range.</p><div><hr></div><h3>Retail implementability &#8212; 9 / 12</h3><p>Weekly cadence, one liquid instrument, a single defined-risk order, ten minutes a week. Marked down for requiring options approval for spreads, and for demanding the discipline to accept a 16-to-1 loss-to-win ratio without intervening &#8212; and for a real drawdown that needs far more capital than the $4,605 figure implies.</p><div><hr></div><h3>Why we will not paper-trade it</h3><p>A six-month paper run would show roughly 95% wins and prove nothing &#8212; it would reproduce the exact flaw identified here. A strategy cannot be validated over a horizon shorter than the frequency of the losses that define it.</p><p><em>Historical simulation on index data with modelled option credits; not investment advice. Batch 02 of an ongoing verification series.</em></p>]]></content:encoded></item><item><title><![CDATA[The $25,000 Door]]></title><description><![CDATA[The $25,000 pattern-day-trader minimum is gone. The day-trading strategies it unlocks collapse under realistic slippage.]]></description><link>https://www.pastperformancelab.com/p/pdt-rule-replaced-day-trading-backtest</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/pdt-rule-replaced-day-trading-backtest</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Wed, 02 Sep 2026 08:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/06154a9e-234c-46ee-bfb1-42ea1165e9c5_1688x336.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Updated 20 Sep 2026: we corrected the rule's start year from 1974 to 2001 and moved the broker-timeline note here.</em></p><p><em>Updated 16 Sep 2026: FINRA's rule took effect on 4 June 2026, but brokers have until 20 October 2027 to move accounts over. Your broker may still apply the $25,000 minimum. Under the new rules, repeatedly unmet intraday margin calls can restrict an account for up to 90 days. Source: <a href="https://www.finra.org/investors/insights/intraday-margin-requirements">FINRA</a>.</em></p><p><em>Rule change &#183; US retail brokerage &#183; 2 September 2026</em></p><p><em>For twenty-five years, a US trader with less than $25,000 could not legally day-trade more than three times in five business days. That rule is gone &#8212; and almost nobody has rewritten their strategy guidance for it.</em></p><h2>What changed</h2><p><strong>Pattern day trader, 2001&#8211;2026</strong></p><p>The pattern-day-trader rule required any margin account making four or more day trades in five business days to hold at least $25,000 in equity. Fall below it and the account was frozen to closing orders until it was topped up. It was introduced after the day-trading boom of the late 1990s, on the theory that frequent intraday trading warranted a higher capital cushion.</p><p>The SEC approved its elimination in April 2026. The $25,000 threshold is replaced by the ordinary $2,000 minimum for a margin account, with intraday buying power now set by each broker's own risk policy rather than a blanket federal floor.</p><p><strong>14 Apr 2026</strong> &#8212; SEC approves the rule change eliminating the pattern-day-trader designation and its $25,000 equity minimum.</p><p><strong>4 Jun 2026</strong> &#8212; Change takes effect.</p><p><strong>8 Jun 2026</strong> &#8212; Schwab stops counting day trades against client accounts.</p><p><strong>20 Oct 2027</strong> &#8212; Deadline for all brokers to complete implementation. Until then, individual brokers may still apply their own limits.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9dgp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9dgp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 424w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 848w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 1272w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9dgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Before: $25,000 minimum equity to day-trade freely in a US margin account; below it, three day trades per five business days, then a 90-day freeze. Now: a $2,000 standard margin-account minimum, with intraday buying power set by your broker.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Before: $25,000 minimum equity to day-trade freely in a US margin account; below it, three day trades per five business days, then a 90-day freeze. Now: a $2,000 standard margin-account minimum, with intraday buying power set by your broker." title="Before: $25,000 minimum equity to day-trade freely in a US margin account; below it, three day trades per five business days, then a 90-day freeze. Now: a $2,000 standard margin-account minimum, with intraday buying power set by your broker." srcset="https://substackcdn.com/image/fetch/$s_!9dgp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 424w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 848w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 1272w, https://substackcdn.com/image/fetch/$s_!9dgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff65c6fc5-af5d-4b7d-b4ed-5f8813624e73_1688x336.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><h2>Why it matters for strategy</h2><p><strong>A whole category of strategy was illegal for small accounts</strong></p><p>This is easy to under-rate as mere paperwork. It is not. It meant an entire family of published, widely taught strategies was unavailable to the readers most likely to be reading about them.</p><p>Take the 5-minute opening range breakout, one of the most-cited intraday strategies in retail circles. It takes roughly one trade per session, entering after the first five minutes and flat by the close &#8212; about 250 day trades a year. Under the old rule, running it in a US margin account below $25,000 was not merely inadvisable. It was a violation, and the account would have been frozen inside the first fortnight.</p><p>So for decades, guidance about intraday strategies came with an unstated asterisk: <em>this is for people who already have $25,000.</em> Most articles never said it. The strategies were presented as universally available when, for a large share of the audience, they were not.</p><h3>The part worth internalising</h3><blockquote><p>The constraint that made intraday strategies inaccessible to small accounts was regulatory, not economic &#8212; and it has been removed. Anyone re-evaluating an intraday strategy they dismissed years ago on capital grounds is now evaluating a genuinely different question.</p></blockquote><h2>What did not change</h2><p><strong>The rule was never the reason most people lost money</strong></p><p>It would be a poor reading of this to conclude that intraday trading just became a good idea for small accounts. The pattern-day-trader rule was a barrier. Removing a barrier does not create an edge behind it.</p><p>Everything that actually kills intraday strategies is untouched. Costs still scale with turnover, and turnover is exactly what intraday strategies have most of. In our own testing, <a href="https://pastperformancelab.substack.com/p/rsi2-orb-ut-bot-ttm-squeeze-backtest#&#167;ut-bot-atr-trailing-stop-fails-six-parameter-cells-tested">an ATR trailing-stop strategy on index futures</a> took 58,444 trades over thirteen years and lost close to a million dollars per contract &#8212; not from being wrong about direction, but from being billed to death. The 5-minute ORB's <a href="https://pastperformancelab.substack.com/p/rsi2-orb-ut-bot-ttm-squeeze-backtest#&#167;5-minute-opening-range-breakout-fails-no-demonstrable-edge">published replication</a> collapses from $138,639 to $4,860 once two cents a share of slippage is applied. A gap filter we added later lifts it to a borderline edge, and the evidence for that edge disappears once fills arrive two minutes late (<a href="https://pastperformancelab.substack.com/p/backtest-vs-live-trading-47-second-delay">Issue 07</a>).</p><p>&#10003; <strong>You can now legally run an intraday strategy in a US margin account under $25,000.</strong><br><em>Subject to your broker's own implementation timeline, which may run to October 2027.</em></p><p>&#10005; <strong>Trading costs got cheaper.</strong><br><em>They did not. Cost per round trip is the single most common reason an intraday edge is imaginary.</em></p><p>&#10005; <strong>Smaller accounts became better suited to intraday trading.</strong><br><em>Fixed per-trade costs weigh proportionally heavier on small accounts, not lighter.</em></p><p>&#10005; <strong>The strategies themselves got better.</strong><br><em>A strategy that did not survive cost sensitivity before this rule change does not survive it now.</em></p><h3>Before you act on this</h3><p>Check what your own broker has actually implemented &#8212; the industry deadline is October 2027 and policies vary in the meantime. This applies to US margin accounts; cash accounts and non-US jurisdictions were never governed by this rule and are unaffected.</p><p>Then ask what we ask of every strategy we test, the Retail Gate: could someone with a day job, a broker and the published rules run it? If it needs paid data, an always-on computer or fills within seconds, the open door does not help you.</p><p>And the honest framing of the whole thing: a door opened. Nothing was said about what is on the other side of it.</p><h3>Your turn</h3><p>Send us the intraday strategy you are about to risk money on. Leave a comment or reply to any issue in your inbox. We test it and publish what we find.</p><p><em>Historical simulation figures cited are from our own backtests on index futures and from the published replication of the opening-range-breakout paper; they are not investment advice.<br>Sources: <a href="https://www.sec.gov/">SEC</a> rule approval April 2026, effective June 2026; broker implementation notices.</em></p>]]></content:encoded></item><item><title><![CDATA[Five Strategies, One Survivor]]></title><description><![CDATA[Five popular strategies rebuilt from their published rules and tested with costs. One survived. Issue 05 revisits it at the account level.]]></description><link>https://www.pastperformancelab.com/p/rsi2-orb-ut-bot-ttm-squeeze-backtest</link><guid isPermaLink="false">https://www.pastperformancelab.com/p/rsi2-orb-ut-bot-ttm-squeeze-backtest</guid><dc:creator><![CDATA[Antoni Gaudi]]></dc:creator><pubDate>Tue, 01 Sep 2026 09:00:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5eb5c14a-3e51-4c13-af96-d86678e3c03f_2080x1140.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><strong>Editor&#8217;s note, 3 September 2026.</strong> The Connors RSI(2) verdict in this issue was superseded the next day by Issue 05, <em>The Winner That Doesn&#8217;t Win</em>, which takes the strategy to the account level: per trade the edge is real, but in an account it makes 4.32% a year against buy-and-hold&#8217;s 10.86%. Read that issue first. The four failures here stand.</p></blockquote><p><em>Verification Batch 01 &#183; 1 September 2026 &#183; 13.7 years &#183; 1-minute bars</em></p><p><em>Popular trading strategies, reproduced from their published rules and run through the same pipeline on the same data. Four do not survive contact with costs, concentration, or a fair benchmark. One does &#8212; and its honest headline is smaller than its raw one.</em></p><p><strong>Instruments.</strong> US Tech 100 &#183; US 500</p><p><strong>Window.</strong> 2013-01 &#8594; 2026-08</p><p><strong>Bars tested.</strong> 11,766,240</p><p><strong>Missing sessions.</strong> 0</p><h2>The ledger</h2><p><strong>What each strategy actually returned</strong></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m4Ut!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m4Ut!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 424w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 848w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m4Ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;StrategyVerdictPFTrades Net, 1 contractt-statBootstrap p&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="StrategyVerdictPFTrades Net, 1 contractt-statBootstrap p" title="StrategyVerdictPFTrades Net, 1 contractt-statBootstrap p" srcset="https://substackcdn.com/image/fetch/$s_!m4Ut!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 424w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 848w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!m4Ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2d5c2d-a8b9-40d0-9727-b9a541d41ffb_2080x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>t-stat is on per-trade P&amp;L. Bootstrap p is the share of 2,000 stationary-block resamples of daily P&amp;L landing at or below zero. Net is one contract, no compounding, friction of 1 index point round trip on US Tech 100 and 0.3 on US 500.</em></p><h2>Control</h2><p><strong>Why you should believe the failures</strong></p><p>A pipeline that finds nothing is worthless if it would also find nothing in a strategy that works. So the first thing through it was a strategy already validated on a different engine, with a recorded result to hit &#8212; the Saty Phase Oscillator. This lab is new code on freshly downloaded data; it had to land on the old numbers independently.</p><h3>Independent reproduction &#183; Saty Phase Oscillator</h3><p>It landed. Maximum drawdown matched to the dollar and net P&amp;L to within 3.5%, from a separate download and a separately written engine. The suite was also run against synthetic random-walk data first: no strategy showed an edge, which is what rules out lookahead bias in the harness.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dbOW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dbOW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 424w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 848w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 1272w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dbOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Reproduction parity table&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Reproduction parity table" title="Reproduction parity table" srcset="https://substackcdn.com/image/fetch/$s_!dbOW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 424w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 848w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 1272w, https://substackcdn.com/image/fetch/$s_!dbOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf353225-7ae7-4605-ab00-1dd2d11ea9cf_542x342.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><h2>Cost sensitivity</h2><p><strong>How much friction each edge can absorb</strong></p><p>Every strategy was re-priced at one, two and three times its assumed trading cost. The number below is the breakeven: the round-trip friction, in index points, at which the strategy's entire profit disappears. Anything close to real-world cost is not an edge, it is a rounding error that happened to land the right way.</p><p>Surviving cost is necessary but not sufficient &#8212; note that TTM Squeeze on daily bars tops this chart and still fails, because what kills it is concentration, not friction.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GP_B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GP_B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 424w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 848w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 1272w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GP_B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2d00354-019f-420c-82df-2acd870f51bf_1968x882.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Breakeven friction by strategy&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Breakeven friction by strategy" title="Breakeven friction by strategy" srcset="https://substackcdn.com/image/fetch/$s_!GP_B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 424w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 848w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 1272w, https://substackcdn.com/image/fetch/$s_!GP_B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2d00354-019f-420c-82df-2acd870f51bf_1968x882.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p><em>A negative breakeven means the strategy loses money even with zero trading cost.</em></p><h2>Findings</h2><p><strong>What killed each one</strong></p><h3>Nadaraya-Watson envelope &#8212; Fails (significantly negative)</h3><p>Win rate <strong>58.4%</strong> &#183; Net <strong>&#8722;$344,097</strong> &#183; t-stat <strong>&#8722;3.21</strong> &#183; Breakeven friction <strong>&#8722;1.59 pts</strong></p><p>The cleanest negative result in the batch, and the most instructive. Nearly six trades in ten win &#8212; and it still loses a third of a million dollars per contract. The breakeven friction is negative, meaning it loses money at zero trading cost; the losers are simply far larger than the winners.</p><p>This is the single most useful thing on the page for anyone evaluating a strategy from a screenshot: <strong>win rate is not edge.</strong> A high win rate is the easiest statistic to show and the least informative one to see. Tested here in its non-repainting form, which is the honest version &#8212; the popular default repaints, and repainting flatters every backtest that includes it.</p><h3>TTM Squeeze &#8212; Fails (daily and 10-minute)</h3><p>PF, daily <strong>1.54</strong> &#183; Top 5 trades <strong>160% of net</strong> &#183; Losing years <strong>7 of 14</strong> &#183; PF, 10-min <strong>0.98</strong></p><p>On 10-minute bars it is nothing at all: profit factor 0.98, t-stat &#8722;0.29. On daily bars a profit factor of 1.54 looks respectable, until you notice the top five trades account for 160% of the net profit &#8212; everything else, combined, loses money. Seven of fourteen years are negative and the t-stat is 1.04.</p><p>Fifty-seven trades across nearly fourteen years is not a track record, it is a small sample with a good anecdote attached.</p><h3>UT Bot / ATR trailing stop &#8212; Fails (six parameter cells tested)</h3><p>Best cell PF <strong>1.05</strong> &#183; Worst cell net <strong>&#8722;$999,362</strong> &#183; Trades, worst cell <strong>58,444</strong> &#183; Breakeven friction <strong>2.09 pts</strong></p><p>A friction machine. The aggressive setting takes 58,444 trades over the window and loses just under a million dollars per contract &#8212; the strategy is not wrong about direction so much as it is billed to death. The best of the six cells reaches profit factor 1.05 with a t-stat of 1.17, which is indistinguishable from zero, and 59% of that profit sits in five trades.</p><p>At twice the assumed cost the best cell is already at breakeven. Sensitivity to a parameter you chose after seeing the results is the definition of a curve fit.</p><h3>5-minute Opening Range Breakout &#8212; Fails (no demonstrable edge)</h3><p>PF <strong>1.08</strong> &#183; t-stat <strong>1.33</strong> &#183; Top 5 trades <strong>52.6% of net</strong> &#183; 2026 YTD <strong>&#8722;$15,384</strong></p><p>Marginally positive on index futures and statistically indistinguishable from zero. The top five trades are more than half of all profit, the best single year is another 37.5% of it, five of fourteen years lose money, and the strategy is down on the year as of testing.</p><p>It survives cost better here than in its original form because index futures are cheap to trade relative to their point value. The published version is on QQQ shares, and an independent replication of that paper reports the result collapsing from $138,639 to $4,860 &#8212; Sharpe 1.06 down to 0.23, worse than buy-and-hold &#8212; once two cents per share of slippage is applied. The edge lives inside the spread.</p><h3>Connors RSI(2) &#8212; Survives (the one that holds up)</h3><p>PF <strong>2.53</strong> &#183; t-stat <strong>3.85</strong> &#183; Breakeven friction <strong>16.7 pts</strong> &#183; PF at 3&#215; cost <strong>2.45</strong></p><p>It survives, and it survives on the dimensions that usually break things. The t-stat is 3.85 with a bootstrap p of 0.001. Breakeven friction is 16.7 points round trip against a real cost near one, so tripling the cost assumption moves profit factor from 2.53 only to 2.45. The profit is not concentrated &#8212; the top five trades are 27% of net, against 52% and 59% for the strategies above &#8212; and only three of thirteen years lose money.</p><p>Which brings us to the part that a chart of the equity curve would quietly leave out.</p><h2>The caveat</h2><p><strong>Connors does not beat buy-and-hold</strong></p><p>Connors RSI(2) is a long-only dip-buyer, tested across thirteen years in which the index roughly quadrupled. The benchmark that matters is not zero, it is owning the thing.</p><p>&#10005; <strong>&#8220;Connors RSI(2) returned $114,146 per contract.&#8221;</strong><br><em>True, and misleading. Buy-and-hold over the same window returned $294,260 &#8212; more than double.</em></p><p>&#10003; <strong>&#8220;Roughly 3&#215; the return per unit of market exposure, at a fifth of the drawdown.&#8221;</strong><br><em>The strategy is in the market 12.8% of the time. Exposure-matched, buy-and-hold returns $37,587 against Connors' $114,146. Worst drawdown &#8722;$12,875 against &#8722;$60,978.</em></p><h3>Stated in the same breath, not the footnotes</h3><blockquote><p>Two further limits belong with any use of this result. Entries and exits are taken at the signal day's close, which assumes you can transact at the close &#8212; a real implementation will not match the backtest exactly. And the test runs on a CFD proxy for the index rather than the cash instrument.</p><p>None of that makes the edge disappear. It does mean the honest claim is narrower than the raw number, and anyone printing the raw number beside an equity curve is misleading by omission.</p></blockquote><h2>Method</h2><p><strong>How to check this</strong></p><h3>Data</h3><p>Dukascopy 1-minute bid bars, 2013-01-01 to 2026-08-31, downloaded and then gap-repaired until zero weekday sessions were missing: 6,134,400 bars across 4,260 sessions on US Tech 100, and 5,631,840 bars across 3,911 sessions on US 500. The binary decoder's field order was validated at 100% open-high-low-close consistency rather than assumed.</p><div><hr></div><h3>Conventions</h3><p>Identical across every strategy, and identical to the engine used for the control: the signal is evaluated on the bar close, the fill is taken at the next bar's open, day strategies are flat at 16:00 ET, and indicators use Pine-compatible seeding so that a TradingView reader sees the same values. Friction is 1 index point round trip on US Tech 100 and 0.3 on US 500, swept at 1&#215;, 2&#215; and 3&#215;.</p><div><hr></div><h3>Checks run before any result was read</h3><p>The full suite was executed against synthetic random-walk data, where no strategy should show an edge. None did. Trade-accounting invariants were asserted mechanically: entry windows respected, no overnight holds in day strategies, points/dollars/friction internally consistent, and stop-loss exits never recorded as profitable.</p><div><hr></div><h3>Reproducing it</h3><p>Engine, verification pass, data loaders and per-strategy trade logs live in <code>/root/stratlab</code>, kept separate from the live paper-trading service. Every number on this page traces to <code>out/results.json</code> or <code>out/verify.json</code>.</p><p><em>Verification batch 01 &#183; seven configurations tested across five strategies &#183; one survivor, stated with its caveats.<br>Results are historical simulation on proxy data and are not investment advice.</em></p>]]></content:encoded></item></channel></rss>