<?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[Delphic Alpha: Research]]></title><description><![CDATA[Standalone quantitative research: cross-asset studies, regression methods, and reference material.]]></description><link>https://delphicalpha.substack.com/s/research</link><image><url>https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png</url><title>Delphic Alpha: Research</title><link>https://delphicalpha.substack.com/s/research</link></image><generator>Substack</generator><lastBuildDate>Fri, 05 Jun 2026 12:04:27 GMT</lastBuildDate><atom:link href="https://delphicalpha.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Oracle]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[delphicalpha@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[delphicalpha@substack.com]]></itunes:email><itunes:name><![CDATA[oracle]]></itunes:name></itunes:owner><itunes:author><![CDATA[oracle]]></itunes:author><googleplay:owner><![CDATA[delphicalpha@substack.com]]></googleplay:owner><googleplay:email><![CDATA[delphicalpha@substack.com]]></googleplay:email><googleplay:author><![CDATA[oracle]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[A Practical Guide to Measuring Alpha Predictability]]></title><description><![CDATA[Three tools, one question: can an alpha's recent performance tell you what it will do next? A step-by-step framework tested on 12 alphas across 5 asset classes.]]></description><link>https://delphicalpha.substack.com/p/a-practical-guide-to-measuring-alpha</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/a-practical-guide-to-measuring-alpha</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sat, 16 May 2026 16:01:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qiK0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every allocator faces the same question: an alpha that was profitable last quarter is now flat or negative. Is this temporary noise, or has something structural changed? Should you cut weight, or hold through?</p><p>This post presents a framework for answering that question empirically. We measure whether an alpha's recent performance metrics contain information about its near-term future, including whether <strong>degraded performance predicts continued degradation</strong>. We demonstrate on <strong>FX alphas (30-minute bars)</strong> and then generalise across asset classes.</p><h2>Step 1: Define the Question</h2><p>Consider the <strong>5-bar mean-reversion Z-score on FX</strong>. Its rolling Sharpe over the last 60 bars currently reads 2.1. The question: does this value contain information about the alpha's PnL over the <em>next</em> 60 bars?</p><p>If yes, dynamic allocation is justified. If no, static weights are optimal.</p><h2>Step 2: Two Measurement Tools</h2><h3>Tool 1: Rank IC (Spearman Correlation)</h3><p>Rank all time-points of the predictor (e.g. rolling Sharpe). Rank all time-points of the outcome (forward PnL). The Spearman correlation between these two rank vectors is the Rank IC. It ranges from &#8722;1 to +1; zero indicates no monotonic relationship.</p><p><strong>Interpreting small ICs.</strong> A rank IC of 0.05 implies approximately 52&#8211;53% directional accuracy on any individual observation. This appears negligible, but the <strong>fundamental law of active management</strong> (Grinold, 1989) shows that portfolio-level information ratio scales as IR = IC &#215; &#8730;N, where N is the number of independent bets. Applying IC = 0.05 across 60 alpha-asset pairs with weekly rebalancing yields IR = 0.05 &#215; &#8730;(60 &#215; 52) &#8776; <strong>2.8</strong>. This is a substantial portfolio-level edge.</p><p>For reference, most systematic funds operate on signal ICs of 0.02&#8211;0.10. The value lies not in single-observation accuracy but in breadth of application and frequency of rebalancing.</p><p><em>Limitation:</em> captures only monotonic (rank-order) dependence.</p><h3>Tool 2: Mutual Information (MI)</h3><p>If both very high and very low rolling volatility predict poor forward performance (a U-shaped relationship), Rank IC will read near zero. Mutual Information captures <strong>any</strong> statistical dependence between predictor and outcome, including nonlinear and non-monotonic patterns. MI is measured in nats; MI = 0 indicates statistical independence.</p><p>In practice, compute MI alongside Rank IC. If both are elevated, the relationship is monotonic. If MI is high but Rank IC is near zero, nonlinear structure is present.</p><h2>Step 3: Demonstration on FX (30-Minute Bars)</h2><p>We apply both tools to <strong>12 alphas on G7 FX</strong> (6 pairs, 30M bars, 2022&#8211;2026). For each alpha, 6 rolling metrics (Sharpe, Mean, Hit Rate, Volatility, Max Drawdown, Autocorrelation) are computed with 4 lookback windows (20, 60, 120, 252 bars) and tested against 4 forward horizons (20, 60, 120, 252 bars).</p><h3>Predictability Results: Rank IC and Mutual Information</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qiK0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qiK0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qiK0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Rank IC and Mutual Information Heatmaps&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="Rank IC and Mutual Information Heatmaps" title="Rank IC and Mutual Information Heatmaps" srcset="https://substackcdn.com/image/fetch/$s_!qiK0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qiK0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff25dbc5-1402-48ec-86c8-f0c73715a29d_3880x1572.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Left panel: mean |Rank IC| (monotonic predictability). Right panel: mean MI in nats (any dependence, including nonlinear). Key observations:</p><ul><li><p><strong>Rolling mean return is the strongest predictor</strong> (highest Rank IC and highest MI). Performance momentum is real: recently profitable alphas tend to remain profitable.</p></li><li><p><strong>Longer lookbacks are more informative.</strong> The 252-bar window consistently outperforms the 20-bar window in both Rank IC and MI.</p></li><li><p><strong>Volatility is inversely predictive.</strong> Elevated recent PnL volatility forecasts deteriorating forward performance. MI confirms this is predominantly a monotonic effect (high vol &#8594; worse outcomes), not a U-shaped one.</p></li><li><p><strong>MI and Rank IC largely agree.</strong> The predictive relationships are predominantly monotonic. Nonlinear effects exist but are not the primary source of predictability in this dataset.</p></li></ul><h3>Does Degraded Performance Predict Continued Degradation?</h3><p>We can split the Rank IC analysis by conditioning on the sign of recent performance. This separates the question into two halves:</p><ul><li><p><strong>When rolling mean &gt; 0 (alpha is currently profitable):</strong> forward PnL is more likely positive than negative. Directional accuracy: 54&#8211;58%. Interpretation: recent winners tend to keep winning.</p></li><li><p><strong>When rolling mean &lt; 0 (alpha is currently in drawdown):</strong> forward PnL is more likely negative than positive. Directional accuracy: 52&#8211;56%. Interpretation: recent losers tend to keep losing.</p></li></ul><p>Both sides are statistically significant. The positive-conditioning case is slightly stronger (persistence of winning is marginally more predictable than persistence of losing), but the key result is that <strong>degradation is predictable</strong>. An alpha whose rolling Sharpe has turned negative over 252 bars is statistically more likely to remain negative over the next 120 bars than to recover.</p><p>This makes the framework both an allocation tool (size winners) and a risk management tool (reduce exposure to alphas entering drawdown regimes).</p><h2>Step 4: Cross-Asset Generalisation</h2><p>Extending the analysis to all 5 asset classes (Equity Futures, Bonds, Commodities, FX, Crypto) confirms the FX findings:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s2Vo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s2Vo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s2Vo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Predictability by Asset Class&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="Predictability by Asset Class" title="Predictability by Asset Class" srcset="https://substackcdn.com/image/fetch/$s_!s2Vo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s2Vo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb58a4178-0c3b-4a7c-a262-97d02c537adc_3043x1502.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>FX exhibits the strongest predictability,</strong> consistent with persistent microstructure regimes.</p></li><li><p><strong>Equity index futures are the least predictable,</strong> consistent with efficient pricing at all timescales.</p></li><li><p><strong>Optimal forward horizon is 60&#8211;120 bars</strong> (1&#8211;2.5 trading days on 30M data).</p></li><li><p><strong>Matched lookback-horizon pairs outperform mismatched ones.</strong> A 120-bar lookback forecasts 120-bar performance more effectively than a 20-bar lookback does.</p></li><li><p><strong>30&#8211;50% of tests reach statistical significance at p &lt; 0.05,</strong> compared to the 5% expected under the null hypothesis.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fm7J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fm7J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fm7J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Alpha Predictability Map&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="Alpha Predictability Map" title="Alpha Predictability Map" srcset="https://substackcdn.com/image/fetch/$s_!fm7J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fm7J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2544f577-cd9e-495e-aaf1-0c40e84c0c7b_2322x1942.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Signed Rank IC by alpha and asset class. Blue indicates performance momentum (positive persistence); red indicates performance mean-reversion. The majority of cells are positive: performance momentum is the dominant regime. Mean-reversion alphas exhibit the strongest persistence; trend-following alphas are more regime-dependent.</p><div><hr></div><h2>Practical Implementation</h2><ul><li><p><strong>1. Metric selection.</strong> Use rolling mean PnL as the primary predictor. It is the most robust across asset classes and timescales.</p></li><li><p><strong>2. Lookback-horizon matching.</strong> Set the lookback window equal to the rebalancing horizon. Monthly rebalancing: ~252-bar lookback on 30M (or ~20 days on daily). Weekly: ~60 bars.</p></li><li><p><strong>3. Tilt weights, do not switch alphas on/off.</strong> At IC &#8776; 0.10 (approximately 55% directional accuracy), the appropriate response is a 10&#8211;20% weight tilt toward recent outperformers, not binary inclusion/exclusion.</p></li><li><p><strong>4. Screen for nonlinearity with MI.</strong> If MI substantially exceeds Rank IC for a given alpha, the predictor-outcome relationship is nonlinear and warrants further investigation.</p></li></ul><p>Alpha performance exhibits medium-term memory. The strongest predictor is the simplest: recent cumulative PnL. The framework above provides a rigorous measurement methodology and the empirical results establish the expected magnitude of the effect.</p>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Cointegration and Pairs Trading]]></title><description><![CDATA[From Engle-Granger to State-Space Models]]></description><link>https://delphicalpha.substack.com/p/reference-guides-cointegration-and</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-cointegration-and</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sun, 26 Apr 2026 14:45:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!U5_G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A linear combination of two non-stationary prices can be stationary. This is cointegration &#8212; the mathematical foundation of <a href="https://delphicalpha.substack.com/p/pairs-trading-crypto-perpetuals-the">pairs trading</a>.</p><h2>1. Stationarity and Unit Roots</h2><p>A process P&#8348; is integrated of order d, written I(d), if it requires d differencing steps to become stationary. I(0) is stationary; I(1) has a unit root, e.g. the random walk:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U5_G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U5_G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U5_G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!U5_G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U5_G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdde2aff1-f5d6-492b-aef8-bfc7b7934b19_1245x255.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>where &#949;&#8348; ~ WN(0, &#963;&#178;). Variance grows linearly: Var(P&#8348;) = t&#963;&#178;.</p><p>The Augmented Dickey-Fuller (ADF) test regresses</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!539u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!539u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!539u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!539u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!539u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!539u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!539u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!539u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!539u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!539u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00cc8849-187b-4d32-8296-3479424f4463_1245x255.jpeg 1456w" sizes="100vw"></picture><div></div></div></a><p>and tests H&#8320;: &#946; = 0 (unit root) against H&#8321;: &#946; &lt; 0 (stationary). Critical values are non-standard (Dickey-Fuller distribution). The Phillips-Perron test achieves the same via nonparametric correction.</p><p>The KPSS test reverses the null: H&#8320; is stationarity. Always run both ADF and KPSS &#8212; only when ADF rejects and KPSS does not reject do we have clean evidence of stationarity.</p><p><em>References: Dickey &amp; Fuller (1979) "Distribution of the Estimators for AR Time Series with a Unit Root," JASA. Kwiatkowski et al. (1992) "Testing the Null Hypothesis of Stationarity," J. Econometrics. Phillips &amp; Perron (1988) "Testing for a Unit Root in Time Series Regression," Biometrika.</em></p><h2>2. Engle-Granger Two-Step</h2><p>For two I(1) series Y&#8348; and X&#8348;, Engle-Granger tests whether their linear combination is I(0). Step 1 &#8212; estimate by OLS:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CkLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CkLg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CkLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!CkLg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CkLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37440995-e5fa-4696-aad2-c99dbe0f0a1c_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The residual z&#8348; = Y&#8348; - &#945; - &#946; X&#8348; is the spread. OLS is superconsistent here (&#946;&#770; converges at rate T). Step 2 &#8212; apply ADF to &#7825;&#8348; using Engle-Granger critical values (more conservative than standard ADF).</p><p>If z&#8348; is stationary, (Y, X) is cointegrated with vector (1, -&#946;). Limitation: finds at most one relationship, and results depend on which variable is on the left-hand side.</p><p><em>References: Engle &amp; Granger (1987) "Co-Integration and Error Correction," Econometrica. Phillips &amp; Ouliaris (1990) "Asymptotic Properties of Residual Based Tests for Cointegration," Econometrica.</em></p><h2>3. Johansen Procedure</h2><p>Johansen models all k variables jointly in error correction form:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sp36!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sp36!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sp36!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sp36!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sp36!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sp36!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!sp36!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sp36!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sp36!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sp36!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e6a3fb-dda9-426b-8576-193cbee76cf4_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>&#928; = &#945;&#946;' where &#946; contains r cointegrating vectors and &#945; the adjustment speeds. &#915;&#7522; are the short-run dynamics matrices. rank(&#928;) = r = number of cointegrating relationships.</p><p>The trace test evaluates H&#8320;: rank(&#928;) &#8804; r using:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ggLE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ggLE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ggLE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!ggLE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ggLE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4798ebf4-91b2-4f2c-89aa-dea06858c566_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Sequential testing from r = 0 upward. The max eigenvalue test uses -T ln(1 - &#955;&#770;&#7523;&#8330;&#8321;) for the sharper H&#8320;: rank = r vs H&#8321;: rank = r+1.</p><p><em>References: Johansen (1991) "Estimation and Hypothesis Testing of Cointegration Vectors in Gaussian VAR Models," Econometrica. L&#252;tkepohl (2005) New Introduction to Multiple Time Series Analysis, Springer.</em></p><h2>4. VECM Dynamics</h2><p>The VECM describes how prices adjust to restore equilibrium:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7UOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7UOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7UOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!7UOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7UOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9bd0dfd-e7f5-408c-862f-8d3e332f3d12_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>&#946;' Y&#8348;&#8331;&#8321; - &#956; is the equilibrium error. &#945; governs adjustment speed and direction. If |&#945;&#8321;| &#8811; |&#945;&#8322;|, Y&#8321; is the follower and Y&#8322; the leader.</p><p>Half-life of mean reversion (discrete time):</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I8ni!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I8ni!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I8ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!I8ni!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I8ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcb9d08-8837-482a-9d0d-5504e8259665_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Short half-lives (5&#8211;20 bars) &#8594; fast reversion, more opportunities. Long half-lives (50+) &#8594; slow convergence, higher carry risk.</p><p><em>References: Uhlenbeck &amp; Ornstein (1930) "On the Theory of Brownian Motion," Physical Review. Leung &amp; Li (2015) op. cit.</em></p><h2>5. Ornstein-Uhlenbeck for Spreads</h2><p>In continuous time, the spread follows an Ornstein-Uhlenbeck process:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9A-a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9A-a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9A-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!9A-a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9A-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1533a406-c0f2-475e-b374-313bafc7e7cb_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>&#952; &gt; 0 is mean reversion speed, &#956; the long-run mean, &#963;z the diffusion. Half-life: t&#8321;/&#8322; = ln 2 / &#952;. Stationary distribution:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DDfD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DDfD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DDfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!DDfD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DDfD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6352f386-c7c8-4d75-a4a9-ccf21df43649_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Stationary variance &#963;z&#178;/(2&#952;) captures the noise vs. reversion tradeoff.</p><p>Variance ratio diagnostic: VR(q) = Var(z&#8348; - z&#8348;&#8331;q) / (q &#183; Var(z&#8348; - z&#8348;&#8331;&#8321;)). Random walk &#8594; VR = 1. Mean reversion &#8594; VR &lt; 1. Momentum &#8594; VR &gt; 1.</p><p><em>References: Bertram (2010) "Analytic Solutions for Optimal Statistical Arbitrage Trading," Physica A. Leung &amp; Li (2015) "Optimal Mean Reversion Trading with Transaction Costs," SIAM J. Financial Math.</em></p><h2>6. Optimal Entry/Exit Thresholds</h2><p>For an OU spread, the trader enters long at threshold a (below &#956;), exits at b (near &#956;), enters short at d (above &#956;), and exits at c. The value function V(z) between trades satisfies the HJB equation:</p><p>where &#961; is the discount rate. For the symmetric case with costs c per round trip and &#956; = 0, the optimal entry threshold is approximately:</p><p>Exit at b = 0. Optimal entry tightens with faster reversion (larger &#952;) and widens with higher noise (larger &#963;_z) or transaction costs.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uxz1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uxz1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uxz1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!uxz1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uxz1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff677c1a4-25ca-46a4-be80-b740c0c4082b_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Exit at b = 0. Thresholds depend on &#952; (faster reversion &#8594; tighter entry), &#963;z (more noise &#8594; wider entry), and transaction costs.</p><p><em>References: Wells (1996) The Kalman Filter in Finance. Harvey (1990) Forecasting, Structural Time Series Models and the Kalman Filter, Cambridge UP.</em></p><h2>7. Kalman Filter for Time-Varying Hedge Ratios</h2><p>In practice &#946; drifts. The Kalman filter treats it as a latent state. State-space form:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hzXF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hzXF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hzXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!hzXF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hzXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f03220-ec47-4600-8b1b-eff8741d02a6_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ksbh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ksbh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ksbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!ksbh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ksbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F649476dc-9748-4f6f-b249-a1209e627f25_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Q controls how fast the hedge ratio can change. Let &#931;&#8348; denote the state covariance. Prediction: &#946;&#770;&#8348;|&#8348;&#8331;&#8321; = &#946;&#770;&#8348;&#8331;&#8321;|&#8348;&#8331;&#8321;, &#931;&#8348;|&#8348;&#8331;&#8321; = &#931;&#8348;&#8331;&#8321;|&#8348;&#8331;&#8321; + Q. Update via Kalman gain:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hTcQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hTcQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hTcQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!hTcQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hTcQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4961a93-e782-4488-9eea-2061b43ab382_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Update: &#946;&#770;&#8348;|&#8348; = &#946;&#770;&#8348;|&#8348;&#8331;&#8321; + K&#8348;(Y&#8348; - &#946;&#770;&#8348;|&#8348;&#8331;&#8321;X&#8348;), &#931;&#8348;|&#8348; = (1 - K&#8348;X&#8348;)&#931;&#8348;|&#8348;&#8331;&#8321;. The ratio Q/R governs responsiveness vs smoothness.</p><p><em>References: Engle (2002) "Dynamic Conditional Correlation," J. Business &amp; Economic Statistics. Wells (1996) The Kalman Filter in Finance, Kluwer.</em></p><h2>8. Dynamic Hedge Ratios</h2><p>Three approaches for time-varying hedge ratios. Rolling OLS over W observations:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FjP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FjP9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FjP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!FjP9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FjP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d546b3b-7087-4eae-9930-aa69ec9cba59_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Simple but jumpy &#8212; sensitive to window choice and outliers entering/leaving.</p><p>Kalman filter weights all past observations exponentially via Q/R. Smooth by construction.</p><p>DCC-GARCH models time-varying correlations and volatilities. The implied hedge ratio:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8zKB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8zKB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8zKB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!8zKB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8zKB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffce88f5-e5c3-41ae-95a4-2dc0c773228e_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>DCC adapts to volatility regimes but requires more parameters.</p><p><em>References: Avellaneda &amp; Lee (2010) "Statistical Arbitrage in the US Equities Market," Quantitative Finance. Gatev, Goetzmann &amp; Rouwenhorst (2006) "Pairs Trading: Performance of a Relative-Value Arbitrage Rule," Rev. Financial Studies.</em></p><h2>9. Multi-Pair Portfolios</h2><p>Portfolios of pairs diversify across multiple mean-reverting spreads. PCA on the price matrix extracts common non-stationary factors; residuals are the mean-reverting component.</p><p>Markowitz-optimal spread allocation given z-scores z and covariance &#931;&#8347;&#8346;&#7523;&#8337;&#8336;d:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f06Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f06Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f06Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!f06Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f06Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7f283bc-9566-4ecb-b060-31ec35227bca_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Diversification benefits arise when spread correlations are low.</p><p>Factor-neutral construction: impose F' w = 0 to zero out market/sector/style exposure, isolating pure mean-reversion alpha.</p><h2>10. Regime Shifts in Cointegration</h2><p>Cointegration can break. Trading a broken pair produces unbounded losses as the spread drifts while you expect reversion.</p><p>CUSUM monitors cumulative recursive residuals &#8212; boundary crossing signals a break. Gregory-Hansen allows one unknown break date:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!85RD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!85RD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!85RD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!85RD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!85RD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!85RD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!85RD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!85RD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!85RD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!85RD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb4f83e-edc5-4f7e-8b5c-9be0f23f4c08_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where D&#8348; = 1(t &gt; &#964;) is a regime dummy and &#964; is the unknown break date. Bai-Perron generalizes to m breaks via dynamic programming.</p><p>Practical heuristic: flag if estimated half-life exceeds 2&#215; its historical average. Regime-switching cointegration allows &#952; to depend on a Markov state &#8212; smoothed P(S&#8348; = 1 | data) provides continuous cointegration confidence for position sizing.</p><p><em>References: Hamilton (1994) Time Series Analysis, Ch. 19. Bai &amp; Perron (2003) "Computation and Analysis of Multiple Structural Change Models," J. Applied Econometrics. Gregory &amp; Hansen (1996) "Residual-Based Tests for Cointegration in Models with Regime Shifts," J. Econometrics.</em></p><div><hr></div><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/pairs-trading-crypto-perpetuals-the">Pairs Trading Crypto Perpetuals: The Methodology</a> &#8212; Cointegration-based pairs trading on crypto perpetuals</p></li><li><p><a href="https://delphicalpha.substack.com/p/pairs-trading-part-2-backtest-results">Pairs Trading Crypto Perpetuals: Backtest Results</a> &#8212; 72 configurations swept across 901 crypto pairs</p></li><li><p><a href="https://delphicalpha.substack.com/p/regression-methods-every-quant-should">Regression Methods Every Quant Should Know: Math, Insights, and Debugging</a> &#8212; OLS to quantile regression, with quant applications</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Signal Combination and Ensembling]]></title><description><![CDATA[From Equal Weights to Optimal Shrinkage]]></description><link>https://delphicalpha.substack.com/p/reference-guides-signal-combination</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-signal-combination</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sun, 19 Apr 2026 14:23:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K5Fs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Suppose you have <em>N</em> alpha signals, each noisy, each partially informative about future returns. No single signal captures the full picture, each exploits a different inefficiency, responds to a different timescale, or conditions on a different feature set. The central question of signal combination is: how do you merge these <em>N</em> imperfect forecasts into a single composite forecast <em>f_combined</em> that is strictly better than any individual signal? The answer turns out to be surprisingly subtle, because the very act of estimating optimal combination weights introduces its own source of error.</p><h2>1. Equal-Weight Average</h2><p>The simplest combination assigns identical weight to every signal. Given <em>N</em> forecasts <em>f&#8321;, f&#8322;, &#8230;, f_N</em>, the combined forecast is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K5Fs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K5Fs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K5Fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K5Fs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K5Fs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F647997e6-1e1c-419a-8a8b-ed2a957a5871_1245x255.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>No parameters need to be estimated, which means no estimation error can contaminate the output. This is the method's great strength and the reason it is surprisingly hard to beat in practice, a phenomenon known as the <em>forecast combination puzzle [1, 2, 11]</em>.</p><p>To see why equal weighting works so well, decompose the mean squared error. If each signal has variance <em>&#963;&#178;</em> and every pair shares correlation <em>&#961;</em>, the MSE of the equal-weight average is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YZbI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YZbI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YZbI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YZbI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YZbI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7164473-29a3-40fc-be7d-2de4c4845280_1245x255.jpeg 1456w" sizes="100vw"></picture><div></div></div></a><p>When signals are uncorrelated (<em>&#961; = 0</em>), the error drops as <em>1/N</em>, pure diversification. When signals are perfectly correlated (<em>&#961; = 1</em>), combining adds nothing. The practical regime sits between these extremes: each new uncorrelated signal provides diminishing but real improvement, while correlated signals contribute less. The formula makes the imperative clear: seek signals with low pairwise correlation, not just high individual accuracy.</p><h2>2. Inverse-Variance Weighting</h2><p>Equal weighting treats a signal with an information coefficient of 0.08 the same as one with 0.02. Inverse-variance weighting corrects this by assigning weight proportional to precision:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JWsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JWsM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JWsM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!JWsM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JWsM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b91bed8-4845-4d9e-9edf-adf864150fc5_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>This is the minimum-variance combination when signals are mutually uncorrelated. Precise signals dominate; noisy ones are downweighted. The combined forecast variance collapses to</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Orju!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Orju!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Orju!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Orju!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Orju!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Orju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!Orju!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Orju!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Orju!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Orju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70ec3f6-dd54-4d5b-ab72-811f0b38003a_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>This is always less than or equal to the variance of any individual signal, with equality only when a single signal has infinite precision. The method requires estimating each <em>&#963;&#7522;&#178;</em>, but these are univariate quantities; easy to estimate with modest data. The critical limitation is the uncorrelated-signals assumption. When signals share common factors or draw on overlapping information, inverse-variance weighting overallocates to a cluster of redundant signals while underweighting a lone independent signal. Correcting this requires the full covariance structure.</p><h2>3. Markowitz on Alphas</h2><p>The signal combination problem is structurally identical to portfolio optimization. Treat each signal as an "asset," its expected information coefficient <em>&#956;&#7522; = &#120124;[IC&#7522;]</em> as the expected return, and the signal covariance matrix <em>&#931;</em> as the risk. The optimal weight vector that maximizes the information ratio of the combined forecast is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nSzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nSzT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nSzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!nSzT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nSzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53dbe535-8558-4b1a-9d30-403d91e65f8b_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>&#120783;</em> is the vector of ones and the denominator enforces <em>&#8721; w&#7522; = 1</em>. This is the tangency portfolio applied to the signal space [10]. It simultaneously accounts for signal strength (via <em>&#956;</em>), signal noise (via the diagonal of <em>&#931;</em>), and signal redundancy (via the off-diagonal elements of <em>&#931;</em>).</p><p>The problem is that this solution requires estimating both <em>&#956;</em> and <em>&#931;</em> from historical data. With <em>N</em> signals, <em>&#931;</em> has <em>N(N+1)/2</em> free parameters. If <em>N = 20</em> and you have two years of monthly data (<em>T = 24</em>), the sample covariance matrix is nearly singular. Small perturbations in the data produce wildly different weight vectors. The optimal solution in-sample becomes the worst solution out-of-sample. This is the same curse that plagues mean-variance portfolio optimization, and the remedies are the same: shrinkage.</p><h2>4. Estimation Error and Shrinkage</h2><p>The James-Stein estimator [3] demonstrates that, in dimensions <em>N &#8805; 3</em>, shrinking the sample mean toward a common value always reduces expected squared error. Applied to signal ICs, the shrinkage estimator is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3235!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3235!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3235!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3235!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3235!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3235!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!3235!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3235!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3235!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3235!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1b8372-52f7-4f15-8fc9-c92806845282_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>&#956;&#773;</em> is the grand mean of estimated ICs and <em>&#963;&#770;&#178;_&#956;</em> is the estimation variance. Signals with extreme estimated ICs are pulled toward the average, reducing the influence of sampling noise on the weight vector.</p><p>For the covariance matrix, the Ledoit-Wolf shrinkage estimator [4] blends the noisy sample covariance <em>S</em> with a structured target <em>F</em> (typically the diagonal matrix of variances or an equicorrelation matrix):</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TITw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TITw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TITw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TITw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TITw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TITw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!TITw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TITw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TITw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TITw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1fe43-942b-4185-bc7c-22876c4a6cae_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The optimal shrinkage intensity <em>&#945;*</em> minimizes the expected Frobenius norm of the estimation error <em>&#120124;[&#8214;&#931;&#8347;&#8341;&#7523;&#7524;&#8345;&#8342; &#8722; &#931;&#8348;&#7523;&#7524;&#8337;&#8214;_F&#178;]</em> and can be computed in closed form from the data. When <em>T</em> is small relative to <em>N</em>, <em>&#945;*</em> is close to 1 and the estimator hugs the structured target. As <em>T</em> grows, <em>&#945;*</em> declines and the sample covariance is trusted more. The combined effect of shrinking both <em>&#956;</em> and <em>&#931;</em> is a weight vector that is far more stable across rebalancing periods, producing better out-of-sample combination even if in-sample fit is slightly worse.</p><h2>5. Ridge and Lasso Combination</h2><p>An alternative to shrinking the inputs is to regularize the combination directly. Frame the problem as a <a href="https://delphicalpha.substack.com/p/regression-methods-every-quant-should">regression</a> of realized returns <em>r&#8348;</em> on signal forecasts <em>&#119839;&#8348; = (f&#8321;_,&#8348;, &#8230;, f_N,t)^&#8868;</em>:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ga2P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ga2P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ga2P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!ga2P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ga2P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6a78c3-fded-4fa7-b0cc-2821dd758f6e_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>With <em>p = 2</em> (ridge regression), the penalty <em>&#955;&#8214;&#119856;&#8214;&#8322;&#178;</em> shrinks all weights toward zero without eliminating any signal. The closed-form solution is <em>&#119856;&#770;_ridge = (F^&#8868; F + &#955; I)&#8315;&#185; F^&#8868; &#119851;</em>, which is always well-conditioned regardless of collinearity among signals. Ridge implicitly performs a form of covariance shrinkage: the addition of <em>&#955; I</em> to the Gram matrix <em>F^&#8868; F</em> is equivalent to inflating the diagonal of the signal covariance, pulling the eigenvalues away from zero.</p><p>With <em>p = 1</em> (lasso [5]), the <em>&#8467;&#8321;</em> penalty <em>&#955;&#8214;&#119856;&#8214;&#8321;</em> drives weak signals' weights to exactly zero, performing automatic signal selection. This is valuable when many candidate signals are noise, the lasso discards them and concentrates weight on the few that carry genuine alpha. The elastic net [6] combines both penalties:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mzB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mzB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mzB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!mzB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mzB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3997dc1-356f-4945-a455-b524195c21bd_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>yielding sparse solutions that still handle correlated signals gracefully. In all cases, <em>&#955;</em> is chosen by time-series cross-validation, never by in-sample fit; respecting temporal ordering to avoid look-ahead bias.</p><h2>6. Stacking with Cross-Validation</h2><p>Stacking [7, 8] generalizes regularized regression by introducing a two-level architecture. At Level 1, each of the <em>N</em> base signals generates out-of-fold forecasts using <em>K</em>-fold cross-validation. For each fold <em>k</em>, signals are trained on <em>T &#8722; T/K</em> observations and produce predictions on the held-out <em>T/K</em> observations. This produces a matrix of out-of-fold forecasts <em>F&#770; &#8712; &#8477;^T &#215; N</em> where each row's predictions come from models that never observed that row's realized return.</p><p>At Level 2, a meta-learner is trained on <em>(F&#770;, &#119851;)</em> to find the optimal combination:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pwuy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pwuy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pwuy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!pwuy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pwuy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2386421-7919-4a10-a211-8310682c5f47_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>g</em> is the meta-learner's functional form and <em>&#8466;</em> is the loss function. When <em>g</em> is linear and <em>&#8466;</em> is squared error, stacking reduces to OLS on out-of-fold predictions, but critically, the out-of-fold construction eliminates the overfitting that would plague direct OLS on in-sample predictions. Nonlinear meta-learners (gradient-boosted trees, shallow neural networks) can capture interaction effects between signals, for instance, a momentum signal may be informative only when the mean-reversion signal is inactive. The cost is additional complexity and the risk of overfitting the meta-learner itself, which must be controlled by regularization or further cross-validation.</p><h2>7. Turnover-Penalized Combination</h2><p>Optimal combination in a frictionless world ignores the cost of acting on the combined forecast. In practice, if the optimal weights shift substantially each period, the resulting combined signal oscillates, generating excessive turnover and transaction costs that erode alpha. The turnover-penalized formulation augments the objective:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A3EI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A3EI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A3EI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!A3EI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A3EI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440d1b34-0523-4752-9a52-75095b07b66e_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The second term penalizes changes in the combined forecast between periods. The solution tilts weights toward signals with slower decay, those whose autocorrelation is high and whose forecast revisions are small. A fast-decaying signal might have high IC but, after transaction costs, contribute negative net alpha to the combination.</p><p>An alternative penalizes weight instability directly rather than forecast turnover:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aUXJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aUXJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aUXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!aUXJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf636fb4-2eb1-416b-870b-2a57fa49f36c_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>This keeps the combination weights themselves stable across rebalancing dates, which has the secondary benefit of making the strategy more interpretable and auditable. The two penalties are related but not identical: stable weights on volatile signals still produce high-turnover forecasts, while unstable weights on smooth signals may not. In practice, penalizing both, or equivalently, penalizing the turnover of the final position; gives the best results.</p><h2>8. Bayesian Model Averaging</h2><p>All methods so far select a single weight vector. <a href="https://delphicalpha.substack.com/p/from-point-estimates-to-posterior">Bayesian Model Averaging</a> (BMA) [9] takes a fundamentally different approach: it averages over all possible combination models, weighted by their posterior probability. Given a set of candidate models <em>M&#8321;, &#8230;, M_K</em>, Bayes' theorem gives</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ERkY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ERkY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ERkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!ERkY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ERkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88471468-b2b1-4990-b994-0fb484828d92_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>P(data &#8739; M&#8342;)</em> is the marginal likelihood, the probability of the observed data integrated over all parameter values under model <em>M&#8342;</em>. The combined forecast is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l-kL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l-kL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l-kL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!l-kL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l-kL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f2b793-2c16-4005-b31b-9275581a0c99_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The marginal likelihood naturally penalizes complexity because complex models spread their prior probability mass over a larger parameter space, reducing the density at the realized parameter values. This is a built-in Occam's razor: a model that fits the data well with few parameters earns a higher marginal likelihood than one that fits slightly better but requires many parameters. BMA handles genuine model uncertainty, it does not commit to one combination scheme but hedges across all of them. The practical challenge is computing <em>P(data &#8739; M&#8342;)</em>, which requires integration over the parameter space and can be intractable for complex models. Approximations such as BIC-based weights (<em>P(M&#8342; &#8739; data) &#8776; exp(&#8722;tfrac12BIC&#8342;) / &#8721;&#11388; exp(&#8722;tfrac12BIC&#11388;)</em>) are widely used.</p><h2>9. Regime-Conditional Mixing</h2><p>Static combination weights assume the relative value of signals is constant over time. In reality, a momentum signal dominates in trending markets while a mean-reversion signal dominates in range-bound markets. Regime-conditional mixing allows the weights to depend on an observable state variable <em>z&#8348;</em>:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TlEe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TlEe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TlEe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!TlEe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TlEe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4b108b7-28e0-48e7-98d9-16918a126512_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>z&#8348;</em> might be realized volatility, a trend indicator, cross-asset correlation, or a hidden Markov model state [12]. The simplest implementation estimates separate weight vectors for each discrete regime, for instance, one set of weights when the VIX is above its 75th percentile and another when it is below. This doubles the number of parameters and requires sufficient data in each regime for stable estimation.</p><p>A smoother parametrization uses a softmax mapping:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iZtH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iZtH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iZtH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!iZtH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iZtH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F356ee3b9-8489-4ff1-8acd-b5be5fb75ac9_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>which ensures weights are positive and sum to one for any value of <em>z&#8348;</em>, while allowing continuous variation. The parameters <em>a&#7522;</em> and <em>b&#7522;</em> are estimated by minimizing forecasting loss over the training sample. The risk is clear: with <em>2N</em> parameters per regime variable, overfitting is a serious concern, and the approach is only justified when there is strong prior belief (and empirical evidence) that signal efficacy varies with the conditioning variable. Cross-validation with an expanding window, never a sliding window that could miss structural breaks; is essential.</p><div><hr></div><p>The hierarchy of methods presented here reveals a fundamental tension at the heart of signal combination: more sophisticated methods extract more information from the data but require estimating more parameters, and each estimated parameter introduces its own source of error. The forecast combination puzzle, the empirical finding that equal weights often outperform optimized weights [11]; is a direct consequence of this tension. When data is scarce relative to the number of signals, the estimation error in optimal weights overwhelms the theoretical improvement over equal weighting. In practice, the most effective approach is to start with equal or inverse-variance weights, introduce Ledoit-Wolf shrinkage when you have sufficient history to estimate covariances, add ridge or lasso regularization when signal count grows large, and only move to regime-conditional mixing when both the signal count and data depth justify the additional complexity. Every step up the ladder must be validated out-of-sample, because in-sample improvement is nearly guaranteed and therefore meaningless. The best combination method is the one whose complexity is matched to the information content of your data, no more, no less.</p><h2>References</h2><p>[1] Bates, J.M. and Granger, C.W.J. (1969). "The Combination of Forecasts." Operational Research Quarterly, 20(4), 451-468.</p><p>[2] Timmermann, A. (2006). "Forecast Combinations." Handbook of Economic Forecasting, Vol. 1, 135-196.</p><p>[3] James, W. and Stein, C. (1961). "Estimation with Quadratic Loss." Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability, Vol. 1, 361-379.</p><p>[4] Ledoit, O. and Wolf, M. (2004). "A Well-Conditioned Estimator for Large-Dimensional Covariance Matrices." Journal of Multivariate Analysis, 88(2), 365-411.</p><p>[5] Tibshirani, R. (1996). "Regression Shrinkage and Selection via the Lasso." Journal of the Royal Statistical Society: Series B, 58(1), 267-288.</p><p>[6] Zou, H. and Hastie, T. (2005). "Regularization and Variable Selection via the Elastic Net." Journal of the Royal Statistical Society: Series B, 67(2), 301-320.</p><p>[7] Wolpert, D.H. (1992). "Stacked Generalization." Neural Networks, 5(2), 241-259.</p><p>[8] Breiman, L. (1996). "Stacked Regressions." Machine Learning, 24(1), 49-64.</p><p>[9] Hoeting, J.A., Madigan, D., Raftery, A.E. and Volinsky, C.T. (1999). "Bayesian Model Averaging: A Tutorial." Statistical Science, 14(4), 382-401.</p><p>[10] Markowitz, H. (1952). "Portfolio Selection." The Journal of Finance, 7(1), 77-91.</p><p>[11] DeMiguel, V., Garlappi, L. and Uppal, R. (2009). "Optimal Versus Naive Diversification: How Inefficient is the 1/N Portfolio Strategy?" The Review of Financial Studies, 22(5), 1915-1953.</p><p>[12] Hamilton, J.D. (1989). "A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle." Econometrica, 57(2), 357-384.</p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/the-7-layers-of-ensembling-in-systematic">The 7 Layers of Ensembling in Systematic Trading</a> &#8212; Seven practical layers for combining trading strategies</p></li><li><p><a href="https://delphicalpha.substack.com/p/from-point-estimates-to-posterior">From Point Estimates to Posterior: A Trader's Guide to Bayesian Deep Learning</a> &#8212; Uncertainty-aware neural networks for trading</p></li><li><p><a href="https://delphicalpha.substack.com/p/regression-methods-every-quant-should">Regression Methods Every Quant Should Know: Math, Insights, and Debugging</a> &#8212; OLS to quantile regression, with quant applications</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-regime-detection">Reference Guides - Regime Detection</a> &#8212; HMM, change-point detection, and regime-aware trading</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Volatility Estimation]]></title><description><![CDATA[From Close-to-Close to Realized Kernels]]></description><link>https://delphicalpha.substack.com/p/reference-guides-volatility-estimation</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-volatility-estimation</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Tue, 14 Apr 2026 12:03:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!n0OU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Volatility is the single most important quantity in quantitative finance &#8212; it governs option prices, position sizes, and risk limits. Yet it is latent, never directly observed, and the gap between a naive estimate and a state-of-the-art one can be a factor of seven in statistical efficiency. This guide builds each method as a direct response to the failures of the one before it.</p><h2>1. Close-to-Close Estimator</h2><p>The simplest estimator uses only closing prices. Given <em>n</em> log-returns <em>r&#8348; = ln(C&#8348; / C&#8348;&#8331;&#8321;)</em>, the sample variance is</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n0OU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n0OU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n0OU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n0OU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n0OU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0f6d3-d7bf-447e-803c-7fe0a8d4ece6_1245x255.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>where <em>r&#772; = n&#8315;&#185;&#8721; r&#8348;</em>. This unbiased estimator serves as the efficiency baseline (1.0). All subsequent estimators are measured relative to it.</p><p>The fundamental deficiency is information loss: a day with wild swings that closes flat registers the same return as a day of perfect calm. For typical 20&#8211;30 day windows, sampling error is substantial &#8212; coefficient of variation on the order of <em>&#8730;2/(n-1)</em>.</p><h2>2. Parkinson Range Estimator</h2><p>Parkinson (1980) showed that the daily high-low range contains far more volatility information. Under GBM with zero drift:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Ots!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Ots!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Ots!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:null,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Ots!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Ots!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dedaca4-a1ca-4934-8db5-b70e42f49f64_1245x255.jpeg 1456w" sizes="100vw"></picture><div></div></div></a><p>where <em>H&#8348;</em> and <em>L&#8348;</em> are the daily high and low. The constant <em>1/(4ln 2) &#8776; 0.3607</em> arises from the Brownian bridge range distribution. Efficiency: ~5.2&#215; versus close-to-close.</p><p>The limitation: assumes continuous paths with no jumps and zero drift. Overnight gaps and discrete tick sizes introduce downward bias of 10&#8211;20% for low-volatility instruments.</p><h2>3. Garman-Klass Estimator</h2><p>Garman and Klass (1980) derived the minimum-variance unbiased estimator using all four OHLC prices:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oZXo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oZXo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oZXo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!oZXo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oZXo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45970428-9038-47d7-8b60-1b37b35e4399_1318x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Coefficients come from maximum likelihood under GBM. Efficiency: ~7.4&#215; versus close-to-close &#8212; nearly an order of magnitude from just four prices.</p><p>Like Parkinson, it assumes continuous diffusion and ignores overnight returns, making it unsuitable for instruments with significant gap risk without modification.</p><h2>4. Yang-Zhang Estimator</h2><p>Yang and Zhang (2000) explicitly handle opening jumps and non-zero drift by decomposing variance into three components:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hqkN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hqkN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hqkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!hqkN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hqkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a3bf079-9e86-44cb-b07d-dd078ad3963a_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>&#963;&#770;&#178;&#8338;&#7525;&#8337;&#7523;&#8345;&#7522;g&#8341;&#8348;</em> is the overnight return variance <em>ln(O&#8348; / C&#8348;&#8331;&#8321;)</em>, <em>&#963;&#770;&#178;&#8338;&#8346;&#8337;&#8345;&#8331;c&#8343;&#8338;&#8347;&#8337;</em> is the intraday close-to-open variance, and <em>&#963;&#770;&#178;RS</em> is the Rogers-Satchell estimator:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HC-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HC-w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HC-w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!HC-w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HC-w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F636f140e-12c6-413b-aa9e-2b35a704fe98_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Rogers-Satchell is unbiased under drift. The mixing parameter <em>k</em> minimizes total variance:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1KUa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1KUa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1KUa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!1KUa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1KUa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1e14f9-8f6e-4060-a8d5-a8724592af5f_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Yang-Zhang is unbiased for drift + opening jumps &#8212; the practical ceiling of OHLC-based estimation. Going further requires intraday data.</p><h2>5. Realized Variance</h2><p>Realized variance (Andersen &amp; Bollerslev 1998) sums squared intraday returns:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vEJQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vEJQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vEJQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!vEJQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vEJQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc57fd616-8af3-4856-94ea-932399823194_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>r&#8348;&#7522; = ln P(t&#7522;) - ln P(t&#7522;&#8331;&#8321;)</em> at <em>M</em> equally spaced intervals. For a continuous semimartingale <em>d ln P = &#956; dt + &#963;(t) dW</em>:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mtO7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mtO7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mtO7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!mtO7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mtO7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ff9e5c-1f76-4dbf-875f-4e0a3d05495b_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Realized variance converges to integrated variance with no parametric assumptions on <em>&#963;(t)</em> &#8212; it can be stochastic, path-dependent, or seasonally varying.</p><p>Typically sampled at 5-minute intervals (<code>M = 78</code> per equity session). Sampling faster leads directly to the next problem.</p><h2>6. Microstructure Noise Bias</h2><p>The convergence <em>RV &#8594; IV</em> as <em>M &#8594; &#8734;</em> assumes frictionless prices. Real prices are contaminated by microstructure noise (bid-ask bounce, discreteness, information asymmetry):</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DnGP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DnGP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DnGP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!DnGP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DnGP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70874c9-18ec-46c6-9c59-9e106bf25d47_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>&#949;&#8348;&#7522;</em> is noise with <em>E[&#949;] = 0</em> and <em>E[&#949;&#178;] = &#969;&#178;</em>. Under i.i.d. noise independent of the efficient price:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1_BM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1_BM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1_BM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!1_BM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1_BM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d98d3d5-20ce-4f3b-86df-87f41b8b51e9_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>The bias <em>2M&#969;&#178;</em> grows linearly with <em>M</em>. At tick frequency (<em>M</em> &gt; 20,000/day), noise dominates entirely. The variance of <em>RVM</em> around <em>IV</em> is U-shaped: decreasing with <em>M</em> at low frequencies (more data), increasing at high frequencies (more noise), with an optimum depending on <em>&#969;&#178; / IV</em>.</p><h2>7. Two-Scale and Multi-Scale Estimators</h2><p>Zhang, Mykland &amp; Ait-Sahalia (2005) proposed Two-Scale Realized Variance (TSRV): compute RV at two frequencies and debias:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I5HR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I5HR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I5HR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!I5HR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I5HR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91ad4357-560d-4c37-bfa4-82e1366bfa14_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Here <em>RV&#8317;&#738;&#737;&#7506;&#695;&#8318;</em> averages subsampled RVs over <em>K</em> overlapping coarse grids, <em>RV&#8317;&#7584;&#7491;&#738;&#7511;&#8318;</em> is all-tick RV, and <em>n&#772;/n</em> estimates the noise fraction. Convergence rate: <em>n&#8315;&#178;/&#179;</em>.</p><p>Zhang (2006) extended this to Multi-Scale RV (MSRV) with optimally weighted frequencies:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pGdb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pGdb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pGdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!pGdb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pGdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03085ed5-0b6c-49bb-981f-950d1b6fc374_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Weights <em>a&#11388;</em> annihilate noise bias to a specified order. Optimal rate: <em>n&#8315;&#8308;/&#8309;</em> &#8212; the best possible for linear estimators under unknown noise.</p><h2>8. Realized Kernels</h2><p>Barndorff-Nielsen, Hansen, Lunde &amp; Shephard (2008) reinterpret noise-robust estimation through spectral analysis:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TTw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TTw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TTw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!TTw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TTw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0017705-2de9-4917-96e6-f9460807bda2_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>&#947;&#770;&#8341; = &#8721;&#7522; r&#8348;&#7522;&#8330;&#8341; r&#8348;&#7522;</em> is the <em>h</em>-th realized autocovariance, <em>k(&#183;)</em> is a kernel with <code>k(0)=1</code> and <em>k(x) &#8594; 0</em> as <em>|x| &#8594; 1</em>, and <em>H</em> is bandwidth. The kernel smoothly downweights noise-induced serial correlation.</p><p>Common choices: Parzen kernel (<code>k(x) = 1 - 6x&#178; + 6|x|&#179;</code> for <em>|x| &#8804; 1/2</em>, <code>k(x) = 2(1-|x|)&#179;</code> for <em>1/2 &lt; |x| &#8804; 1</em>) and Tukey-Hanning <em>k(x) = 1/2[1 + cos(&#960; x)]</em>. Optimal bandwidth:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Ppu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Ppu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Ppu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!9Ppu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Ppu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba275543-ba6b-4c83-ab21-6c311c077add_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Convergence rate: <em>n&#8315;&#8308;/&#8309;</em>, matching MSRV. The key advantage: robust to serially correlated noise and noise dependent on the efficient price, unlike TSRV which requires i.i.d. noise. This makes realized kernels the production standard.</p><h2>9. HAR Model</h2><p>Estimating past volatility is half the problem; forecasting is where economic value lies. Corsi (2009) proposed the HAR model:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oFep!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oFep!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oFep!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oFep!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oFep!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oFep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!oFep!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oFep!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oFep!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oFep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ef6d7-ef44-4adb-b6e0-f9f9e94be1cf_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>where <em>RV&#8317;&#7496;&#8318;</em> is daily, <em>RV&#8317;&#695;&#8318; = 1/5&#8721;&#11388;&#8332;&#8321;&#8309; RV&#8348;&#8331;&#11388;&#8317;&#7496;&#8318;</em> weekly, and <em>RV&#8317;&#7504;&#8318; = 1/22&#8721;&#11388;&#8332;&#8321;&#178;&#178; RV&#8348;&#8331;&#11388;&#8317;&#7496;&#8318;</em> monthly &#8212; corresponding to day-trader, portfolio-manager, and institutional horizons.</p><p>Not formally long-memory, but practically indistinguishable from it. Out-of-sample performance matches or exceeds ARFIMA and GARCH with only OLS estimation. Extensions: HAR-J (jumps), HAR-CJ (continuous + jump), log-HAR (positivity via <em>ln RV</em>).</p><p>Production workflow: realized kernels &#8594; HAR forecasts &#8594; position sizing via <em>&#963;&#8348;&#8330;&#8341; = &#8730;RV&#770;&#8348;&#8330;&#8341;</em>.</p><h2>10. Rough Volatility</h2><p>Gatheral, Jaisson &amp; Rosenbaum (2018) documented a striking regularity: log-volatility behaves like fractional Brownian motion with Hurst exponent <em>H &#8776; 0.1</em>. The variogram scales as:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7jO5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7jO5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7jO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!7jO5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7jO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dff424f-c06f-48b3-b5c4-270154c9ee19_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>With <em>H &#8776; 0.1</em> across essentially all asset classes &#8212; far rougher than standard Brownian motion (<em>H</em> = 0.5). Volatility paths are H&#246;lder continuous of order <em>H</em>: jagged oscillations at every scale.</p><p>For derivatives pricing, ATM implied volatility skew scales as:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oz2u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oz2u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oz2u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!Oz2u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Oz2u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57a6c093-212d-434f-95b0-e28eb020915d_1245x255.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>With <em>H</em> = 0.1: <em>&#968;(&#964;) ~ &#964;&#8315;&#8304;&#183;&#8308;</em>, matching the observed power-law explosion of short-dated skew. Classical models (Heston) give <em>&#968;(&#964;) ~ &#964;&#8304;</em> &#8212; flat skew, contradicting data. The rough Bergomi model prices the full SPX surface with fewer parameters.</p><p>For forecasting, rough volatility explains HAR's success: the three-component structure approximates fractional integration's power-law kernel. The true relationship involves <em>(1-L)&#7476;&#8314;&#185;/&#178;</em> rather than simple autoregression, and vol-of-vol scales as <em>&#916;&#7476;</em> not <em>&#916;&#185;/&#178;</em>.</p><div><hr></div><p>Each estimator corrects a specific predecessor flaw. Close-to-close wastes intraday paths; OHLC estimators recover that information but assume continuous diffusions. Realized variance harnesses tick data but hits the noise barrier. Kernels and multi-scale methods separate signal from noise at near-optimal rates. HAR transforms estimates into forecasts. Rough volatility captures the true statistical nature of the process. The modern pipeline: realized kernels for estimation, HAR for forecasting, rough volatility for derivatives pricing.</p><div><hr></div><h2>Python Implementation</h2><p>Compact implementations of every estimator above using NumPy and pandas.</p><h3>Close-to-Close</h3><pre><code>import numpy as np
import pandas as pd

def vol_close_to_close(close: pd.Series, window: int = 20) -&gt; pd.Series:
    log_ret = np.log(close / close.shift(1))
    return log_ret.rolling(window).std() * np.sqrt(252)</code></pre><h3>Parkinson</h3><pre><code>def vol_parkinson(high: pd.Series, low: pd.Series, window: int = 20) -&gt; pd.Series:
    log_hl = np.log(high / low) ** 2
    return np.sqrt(log_hl.rolling(window).mean() / (4 * np.log(2)) * 252)</code></pre><h3>Garman-Klass</h3><pre><code>def vol_garman_klass(open: pd.Series, high: pd.Series,
                     low: pd.Series, close: pd.Series, window: int = 20) -&gt; pd.Series:
    log_hl = np.log(high / low) ** 2
    log_co = np.log(close / open) ** 2
    gk = 0.5 * log_hl - (2 * np.log(2) - 1) * log_co
    return np.sqrt(gk.rolling(window).mean() * 252)</code></pre><h3>Yang-Zhang</h3><pre><code>def vol_yang_zhang(open: pd.Series, high: pd.Series,
                   low: pd.Series, close: pd.Series, window: int = 20) -&gt; pd.Series:
    log_oc = np.log(open / close.shift(1))   # overnight
    log_co = np.log(close / open)             # open-to-close
    log_ho = np.log(high / open)
    log_lo = np.log(low / open)
    log_hc = np.log(high / close)
    log_lc = np.log(low / close)

    # Rogers-Satchell
    rs = (log_ho * log_hc + log_lo * log_lc).rolling(window).mean()
    # Overnight &amp; open-to-close variances
    var_o = log_oc.rolling(window).var()
    var_c = log_co.rolling(window).var()

    k = 0.34 / (1.34 + (window + 1) / (window - 1))
    yz = var_o + k * var_c + (1 - k) * rs
    return np.sqrt(yz * 252)</code></pre><h3>Realized Variance</h3><pre><code>def realized_variance(price: pd.Series, freq: str = "5min") -&gt; pd.Series:
    """Compute daily realized variance from intraday prices."""
    log_ret = np.log(price / price.shift(1))
    rv = log_ret.pow(2).resample("1D").sum()
    return rv[rv &gt; 0]  # drop non-trading days</code></pre><h3>Two-Scale Realized Variance (TSRV)</h3><pre><code>def tsrv(price: pd.Series, K: int = 5) -&gt; float:
    """TSRV for a single day of tick prices."""
    log_p = np.log(price.values)
    n = len(log_p) - 1

    # Fast scale: all ticks
    rv_fast = np.sum(np.diff(log_p) ** 2)

    # Slow scale: K subgrids
    rv_slow = 0
    for j in range(K):
        sub = log_p[j::K]
        rv_slow += np.sum(np.diff(sub) ** 2)
    rv_slow /= K

    n_bar = (n - K + 1) / K
    return rv_slow - (n_bar / n) * rv_fast</code></pre><h3>Realized Kernel (Parzen)</h3><pre><code>def parzen_kernel(x):
    x = np.abs(x)
    return np.where(x &lt;= 0.5, 1 - 6*x**2 + 6*x**3,
           np.where(x &lt;= 1.0, 2*(1 - x)**3, 0.0))

def realized_kernel(price: pd.Series, H: int = None) -&gt; float:
    """Realized kernel with Parzen weights for a single day."""
    log_ret = np.diff(np.log(price.values))
    n = len(log_ret)
    if H is None:
        H = int(np.ceil(n ** 0.6))  # bandwidth ~ n^{3/5}

    # Realized autocovariances
    gamma = np.array([np.sum(log_ret[h:] * log_ret[:n-h]) for h in range(H + 1)])
    weights = parzen_kernel(np.arange(H + 1) / H)
    return gamma[0] * weights[0] + 2 * np.sum(weights[1:] * gamma[1:])</code></pre><h3>HAR Model</h3><pre><code>from sklearn.linear_model import LinearRegression

def har_forecast(rv_daily: pd.Series, horizon: int = 1) -&gt; pd.Series:
    """Fit HAR(1,5,22) and return out-of-sample forecasts."""
    rv = rv_daily.dropna()
    rv_w = rv.rolling(5).mean()
    rv_m = rv.rolling(22).mean()

    df = pd.DataFrame({"rv_d": rv, "rv_w": rv_w, "rv_m": rv_m}).dropna()
    y = df["rv_d"].shift(-horizon).dropna()
    X = df.loc[y.index, ["rv_d", "rv_w", "rv_m"]]

    # Walk-forward: train on first 70%, predict rest
    split = int(len(X) * 0.7)
    model = LinearRegression().fit(X.iloc[:split], y.iloc[:split])
    forecast = model.predict(X.iloc[split:])
    return pd.Series(forecast, index=X.index[split:], name="rv_hat")</code></pre><h3>Rough Volatility: Estimating H</h3><pre><code>def estimate_hurst(log_rv: pd.Series, max_lag: int = 100) -&gt; float:
    """Estimate Hurst exponent from log realized volatility variogram."""
    lags = np.arange(1, max_lag + 1)
    variogram = np.array([
        np.nanmean((log_rv.values[lag:] - log_rv.values[:-lag]) ** 2)
        for lag in lags
    ])
    # log(variogram) &#8776; 2H * log(lag) + const
    valid = variogram &gt; 0
    slope, _ = np.polyfit(np.log(lags[valid]), np.log(variogram[valid]), 1)
    return slope / 2  # H</code></pre><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/5-signal-scaling-tricks-that-turn">5 Signal Scaling Tricks That Turn Model Predictions Into Actual Trades</a> &#8212; From raw prediction to optimal position sizing</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-regime-detection">Reference Guides - Regime Detection</a> &#8212; HMM, change-point detection, and regime-aware trading</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-market-impact-models">Reference Guides - Market Impact Models</a> &#8212; From Kyle's model to Almgren-Chriss</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Market Impact Models]]></title><description><![CDATA[From Square-Root Law to Propagator Models]]></description><link>https://delphicalpha.substack.com/p/reference-guides-market-impact-models</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-market-impact-models</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sat, 11 Apr 2026 12:53:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H3-Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You want to buy $10 million of stock. How much does the price move against you before you&#8217;re done? That question &#8212; <em>market impact</em> &#8212; is what separates a profitable strategy from an expensive illusion. This post walks through the key models, starting from the simplest intuition and building toward the frameworks that real execution desks use today.</p><h2>Starting Simple: Crossing the Spread</h2><p>The most basic form of market impact is mechanical. A market order to buy pays the ask; the mid-price is halfway between bid and ask. So the immediate cost of a single-unit market order is half the bid-ask spread:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H3-Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H3-Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H3-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#916;P = s/2&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="&#916;P = s/2" title="&#916;P = s/2" srcset="https://substackcdn.com/image/fetch/$s_!H3-Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H3-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb5aeebe-d389-4982-8b53-e402007985ee_242x153.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>This is the floor &#8212; every market order pays at least this much. But most trades are bigger than one unit.</p><h3>Walking the Book</h3><p>When your order is large enough to consume all the liquidity at the best price, it starts eating into deeper levels. If <em>&#961;(p)</em> is the density of resting limit orders at price <em>p</em>, then the total cost of buying quantity <em>q</em> is an integral over the local book shape:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v8YF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v8YF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 424w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 848w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v8YF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;walking the book integral&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="walking the book integral" title="walking the book integral" srcset="https://substackcdn.com/image/fetch/$s_!v8YF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 424w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 848w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!v8YF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dec285-3c00-4c04-a525-4fd70c0b8bcc_1062x175.jpeg 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>This captures the mechanical reality: bigger orders consume liquidity at progressively worse prices. But it&#8217;s static &#8212; it ignores the market&#8217;s dynamic response. Real impact persists long after the book refills.</p><div><hr></div><h2>The Central Empirical Fact: The Square-Root Law</h2><p>Decades of empirical work across equities, futures, FX, and crypto have converged on a remarkably universal result. The price impact of executing a total order of size <em>Q</em> scales as:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ng6R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ng6R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ng6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;square-root law&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="square-root law" title="square-root law" srcset="https://substackcdn.com/image/fetch/$s_!Ng6R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ng6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79c00809-6831-41a0-a474-9f0bad772f01_520x164.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>with <em>&#948; &#8776; 0.5</em> and <em>c</em> of order unity. This holds across markets differing by orders of magnitude in capitalisation, tick size, and microstructure.</p><p><strong>Why this matters: </strong>doubling your order size does not double your impact &#8212; it increases it by &#8730;2 &#8776; 1.41&#215;. This concavity is why splitting large orders into smaller pieces works, and it&#8217;s the foundation of every execution algorithm.</p><p><strong>Intuition: </strong>if the <a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">order book</a> density is roughly uniform near the current price, consuming <em>Q</em> shares requires walking through a price range proportional to <em>Q/&#961;</em>. But <em>&#961;</em> itself scales with &#8730;<em>V</em> in a stationary market, so after normalisation you get &#916;P &#8733; &#8730;(Q/V). An alternative route: dimensional analysis. The only relevant scales are daily volatility <em>&#963;</em>, daily volume <em>V</em>, and order size <em>Q</em>. The only sub-linear combination with the right units is <em>&#963; &#183; &#8730;(Q/V)</em>.</p><div><hr></div><h2>What Happens After You Trade</h2><h3>Temporary vs Permanent Impact</h3><p>When you finish executing, the price doesn&#8217;t stay at the peak. It partially reverts. This motivates splitting impact into two pieces:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6vzC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6vzC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6vzC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#916;P = g(v) + h(v)&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="&#916;P = g(v) + h(v)" title="&#916;P = g(v) + h(v)" srcset="https://substackcdn.com/image/fetch/$s_!6vzC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6vzC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4c5446b-e6f9-4879-aefc-4aab401eb4de_585x147.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>Permanent </strong><em>g(v)</em> &#8212; the market&#8217;s Bayesian update about fundamental value given the order flow. This never reverts.</p></li><li><p><strong>Temporary </strong><em>h(v)</em> &#8212; the premium for demanding immediacy: consuming liquidity faster than it naturally replenishes. This fades.</p></li></ul><p>Empirically, roughly <strong>two-thirds</strong> of peak impact persists as permanent, while one-third reverts. You measure this by comparing the price during trading, shortly after, and long after.</p><h3>Impact Decay Is a Power Law</h3><p>After execution stops, the price path from peak to permanent impact follows:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PEmu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PEmu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PEmu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;decay kernel&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="decay kernel" title="decay kernel" srcset="https://substackcdn.com/image/fetch/$s_!PEmu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PEmu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fe01304-0256-4617-8bca-89641ded2b20_856x146.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>G&#8320;</em> is peak impact, <em>G&#8734;</em> is asymptotic permanent impact, and the decay kernel follows a power law:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t7sR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t7sR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t7sR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;power law decay&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="power law decay" title="power law decay" srcset="https://substackcdn.com/image/fetch/$s_!t7sR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 424w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 848w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!t7sR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48b522e6-13ff-4d3c-a0c0-8e65742ea88a_345x146.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>with <em>&#947;</em> typically between 0.3 and 0.7. The two-thirds rule (<em>G&#8734;/G&#8320; &#8776; 2/3</em>) connects to a deep consistency condition: in an efficient market, permanent impact must equal the expected price move conditional on a buy having occurred.</p><div><hr></div><h2>Theoretical Foundations</h2><h3>Kyle&#8217;s Lambda: Why Impact Exists</h3><p>Kyle (1985) gave the first equilibrium explanation. A <a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">market maker</a> faces a mix of informed and noise traders but can&#8217;t tell them apart, so she prices linearly in total order flow:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P0uc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P0uc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 424w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 848w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P0uc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#916;P = &#955; &#183; &#969;&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="&#916;P = &#955; &#183; &#969;" title="&#916;P = &#955; &#183; &#969;" srcset="https://substackcdn.com/image/fetch/$s_!P0uc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 424w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 848w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!P0uc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb48576c3-e538-4951-b27d-8e64d6c38033_343x143.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#969;</em> is net signed volume and <em>&#955;</em> (the Kyle lambda) measures price sensitivity to flow:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7KEE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7KEE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7KEE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#955; = &#963;v / 2&#963;u&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="&#955; = &#963;v / 2&#963;u" title="&#955; = &#963;v / 2&#963;u" srcset="https://substackcdn.com/image/fetch/$s_!7KEE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7KEE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43adedea-1ece-4876-bfd6-ba3845f5e6a4_250x159.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>When informed volatility <em>&#963;_v</em> is high relative to noise <em>&#963;_u</em>, each unit of flow carries more information and the market maker charges more. Kyle explains <em>why</em> impact exists as an equilibrium phenomenon, but the linear form turns out to be wrong at scale &#8212; real impact is concave (square-root), not linear.</p><h3>The Bouchaud Propagator: Impact Has Memory</h3><p>Bouchaud et al. proposed a fundamentally different view: impact is neither purely temporary nor purely permanent. The price is a sum over all past trades, each weighted by a propagator <em>G</em> that describes how impact decays:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UHQ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UHQ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UHQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;propagator model&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="propagator model" title="propagator model" srcset="https://substackcdn.com/image/fetch/$s_!UHQ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UHQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34f8e383-3910-41c5-98d9-6d37dd88dd71_649x185.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#949;_s</em> is signed volume at time <em>s</em>. If <em>G(&#964;)</em> is constant, impact is fully permanent. If it&#8217;s a delta function, it&#8217;s fully temporary. Empirically, neither &#8212; it&#8217;s a power law:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!86-3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!86-3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 424w, https://substackcdn.com/image/fetch/$s_!86-3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 848w, https://substackcdn.com/image/fetch/$s_!86-3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!86-3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!86-3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;G(&#964;) ~ &#964;^{-&#946;}&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="G(&#964;) ~ &#964;^{-&#946;}" title="G(&#964;) ~ &#964;^{-&#946;}" srcset="https://substackcdn.com/image/fetch/$s_!86-3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 424w, https://substackcdn.com/image/fetch/$s_!86-3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 848w, https://substackcdn.com/image/fetch/$s_!86-3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!86-3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91083697-7b81-4703-8d75-3308c1d9e2f1_669x152.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>with <em>&#946; &#8776; 0.5</em>. This slow decay means the rigid temporary/permanent split is an approximation &#8212; in reality there&#8217;s a continuous spectrum of decay timescales. The propagator also connects to a deep fact: trade sign autocorrelation decays as <em>&#964;^{-&#945;}</em> with <em>&#945; &#8776; 0.5</em>, and the propagator exactly compensates this to keep prices diffusive.</p><div><hr></div><h2>Optimal Execution: Almgren-Chriss</h2><p>Almgren and Chriss (2000) turned the temporary/permanent decomposition into a practical optimisation. Liquidate <em>X</em> shares over <em>N</em> periods, trading <em>n_k</em> shares in period <em>k</em> at rate <em>v_k = n_k/&#964;</em>. Total execution cost:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZOWI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZOWI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZOWI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Almgren-Chriss cost function&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="Almgren-Chriss cost function" title="Almgren-Chriss cost function" srcset="https://substackcdn.com/image/fetch/$s_!ZOWI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZOWI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0e935ac-17d7-4656-bd4b-05860478058f_914x230.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>A key result: total permanent cost is <strong>strategy-independent</strong>. No matter how you schedule the trade:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V6Lm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V6Lm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V6Lm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;permanent cost = &#189;&#947;X&#178;&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="permanent cost = &#189;&#947;X&#178;" title="permanent cost = &#189;&#947;X&#178;" srcset="https://substackcdn.com/image/fetch/$s_!V6Lm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V6Lm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a75d30a-cbba-4089-9266-eb9a7051853b_434x156.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>So the only thing you can optimise is the temporary cost plus a risk penalty:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!55Ug!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!55Ug!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!55Ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Almgren-Chriss objective&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="Almgren-Chriss objective" title="Almgren-Chriss objective" srcset="https://substackcdn.com/image/fetch/$s_!55Ug!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!55Ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0cd2f41-ca1a-4f5e-a168-9dfcf5cca83c_745x162.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>subject to <em>&#8721;n_k = X</em>. The solution interpolates between TWAP (low risk aversion, minimise temporary cost) and front-loaded aggressive schedules (high risk aversion, minimise variance). The optimal trajectory is a hyperbolic sine, with curvature set by <em>&#955;_{risk}&#963;&#178;/&#951;</em>. Almgren-Chriss is the workhorse of institutional execution, though its linear impact assumption doesn&#8217;t capture the square-root scaling.</p><div><hr></div><h2>At Scale: Meta-Orders, Cross-Impact, and Latent Liquidity</h2><h3>Meta-Orders: Why Large Orders Are Cheaper Per Unit</h3><p>A meta-order is the full parent order, split into hundreds of child orders over hours or days. The aggregate impact is concave:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ag31!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ag31!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ag31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;meta-order square-root impact&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="meta-order square-root impact" title="meta-order square-root impact" srcset="https://substackcdn.com/image/fetch/$s_!Ag31!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ag31!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17af390b-565e-4ce6-99f7-f34b805eff0a_935x164.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is a paradox: if each child order has roughly linear impact, aggregate impact should be linear too. The resolution is that the market <em>responds</em>. As a meta-order executes and the price moves, liquidity providers detect the directional flow. New limit orders appear on the impacted side, partially cushioning further impact. Other directional traders may pull back. The concavity is an emergent property of the multi-agent ecosystem, not the static book.</p><p>Formally, if each child has impact <em>&#955;&#183;q</em> but the market recruits liquidity proportional to cumulative displacement:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lS0P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lS0P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lS0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;meta-order with liquidity recruitment&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="meta-order with liquidity recruitment" title="meta-order with liquidity recruitment" srcset="https://substackcdn.com/image/fetch/$s_!lS0P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lS0P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe97f4100-f57e-4e15-a7f9-e9398e00438f_524x241.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In the continuum limit this recovers <em>I(Q) &#8733; Q^{1/2}</em> &#8212; the square-root law emerges from a mechanistic agent-response model.</p><h3>Cross-Impact: Trading One Asset Moves Another</h3><p>Markets are correlated. Trading asset <em>i</em> moves the price of asset <em>j</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bhAG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bhAG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bhAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;cross-impact matrix&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="cross-impact matrix" title="cross-impact matrix" srcset="https://substackcdn.com/image/fetch/$s_!bhAG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bhAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc0c8f8b-5e00-47bd-98a3-c28ca297610d_455x187.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#923;_{ij}</em> is the cross-impact matrix. It&#8217;s not symmetric &#8212; trading a liquid large-cap may barely move an illiquid small-cap, but the reverse can be large. The scaling follows the correlation structure:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0YFY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0YFY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0YFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;cross-impact scaling&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="cross-impact scaling" title="cross-impact scaling" srcset="https://substackcdn.com/image/fetch/$s_!0YFY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0YFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb02335e-8216-4110-b476-91041dc0aa4b_348x188.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Ignoring cross-impact when executing a correlated basket systematically underestimates costs: selling one asset pushes down all correlated assets before you sell them.</p><h3>Latent Liquidity: The Hidden Supply Curve</h3><p>The visible order book is only a fraction of the market&#8217;s willingness to trade. Most liquidity is <em>latent</em> &#8212; it would appear if the price moved enough. Let <em>S(p)</em> be the cumulative latent supply. The impact of buying <em>Q</em> is just the inverse:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G5M4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G5M4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 424w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 848w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G5M4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#916;P = S&#8315;&#185;(Q)&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="&#916;P = S&#8315;&#185;(Q)" title="&#916;P = S&#8315;&#185;(Q)" srcset="https://substackcdn.com/image/fetch/$s_!G5M4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 424w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 848w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!G5M4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3863dd0a-c5ac-4de6-a4d8-548cc8e518c4_414x149.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If latent supply increases away from the current price (<em>s(p) &#8733; p^&#945;</em>), then:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MxQv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MxQv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MxQv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;latent supply power law&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="latent supply power law" title="latent supply power law" srcset="https://substackcdn.com/image/fetch/$s_!MxQv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MxQv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cc12e99-a3a9-4dc5-983a-6e9b698bb045_1288x150.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For <em>&#945; = 1</em>, this gives the square-root law. Latent liquidity explains several puzzles at once: why large orders are absorbed better than visible depth suggests (trading recruits hidden liquidity), why impact is concave (each unit meets increasing latent supply), and why impact partially reverts (once buying stops, recruited sellers withdraw and the price settles back).</p><div><hr></div><p>Each model corrects the one before it. Spread-crossing ignores dynamics; Kyle adds equilibrium but predicts linear scaling; the square-root law captures the right scaling but has no mechanism; the temporary/permanent split adds time but is rigid; Almgren-Chriss makes it tractable; the propagator frees the temporal structure; cross-impact extends to portfolios; and latent liquidity provides the microeconomic foundation underneath it all.</p><p>Modern execution systems operate in the propagator framework, calibrated with cross-impact matrices, layering meta-order concavity and latent liquidity recruitment for realistic cost prediction across asset classes and horizons.</p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/measuring-market-impact-24m-trades">Measuring Market Impact: 24M Trades, Two Exchanges, One Answer</a> &#8212; Empirical market impact from 24M crypto trades</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-optimal-execution">Reference Guides - Optimal Execution</a> &#8212; TWAP, VWAP, and optimal execution schedules</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li><li><p><a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">Building a Market-Maker on Hyperliquid &#8212; Part I: Theory</a> &#8212; The economics of market making and the spread</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Order Book Dynamics]]></title><description><![CDATA[From Poisson Queues to Price Formation]]></description><link>https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Fri, 10 Apr 2026 11:22:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8mrf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The limit order book is the mechanism through which prices form in electronic markets. Resting limit orders at each price level define supply and demand; continuous arrivals, executions, and cancellations reshape the book tick by tick. Price changes emerge endogenously when the best bid or ask queue depletes to zero &#8212; making price formation a first-passage-time problem.</p><h2>1. Queue as a Birth-Death Process</h2><p>At price level <em>p</em>, let <em>Q(p, t)</em> denote total resting quantity. Three event types drive the queue:</p><ul><li><p><strong>Limit order arrivals</strong> at rate <em>&#955;l</em> (births)</p></li><li><p><strong>Market order executions</strong> at rate <em>&#955;m</em> (deaths, from front)</p></li><li><p><strong>Cancellations</strong> at rate <em>&#948; &#183; q</em> (deaths, proportional to queue size)</p></li></ul><p>The queue evolves as a birth-death chain. The stationary mean queue size is:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2-RX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2-RX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2-RX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg" width="570" height="291" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:291,&quot;width&quot;:570,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\bar{Q} = \\frac{\\lambda_l}{\\lambda_m + \\delta}&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="\bar{Q} = \frac{\lambda_l}{\lambda_m + \delta}" title="\bar{Q} = \frac{\lambda_l}{\lambda_m + \delta}" srcset="https://substackcdn.com/image/fetch/$s_!2-RX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2-RX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bc5422e-ba5f-4518-9840-272dfc512fb9_570x291.jpeg 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>with variance <em>Q&#772;(1 + &#948;Q&#772;/(&#955;m + &#948;))</em> &#8212; over-dispersed relative to Poisson.</p><p>A price tick occurs when <em>Q(pb, t) &#8594; 0</em> at the best bid (price falls) or <em>Q(p&#8336;, t) &#8594; 0</em> at the best ask (price rises).</p><h2>2. Zero-Intelligence Model</h2><p>The ZI model (Smith et al. 2003) places limit orders uniformly in <em>[p - L, p + L]</em> with no strategic intent. Market orders arrive at rate <em>&#956;</em>. The equilibrium spread emerges endogenously:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8mrf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8mrf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8mrf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg" width="732" height="324" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:324,&quot;width&quot;:732,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;S \\approx L \\cdot \\left(\\frac{\\mu}{\\lambda_l L}\\right)^{1/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="S \approx L \cdot \left(\frac{\mu}{\lambda_l L}\right)^{1/2}" title="S \approx L \cdot \left(\frac{\mu}{\lambda_l L}\right)^{1/2}" srcset="https://substackcdn.com/image/fetch/$s_!8mrf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8mrf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb01b4dbe-9f74-432c-957a-e385a7ee9d34_732x324.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Key insight: a well-defined spread, diffusive returns, and realistic depth profiles arise purely from order book mechanics &#8212; no rationality needed. The ZI model separates mechanical phenomena from those requiring strategic behavior.</p><h2>3. Cont-Stoikov-Talreja Model</h2><p>The CST model (2010) tracks the joint state <em>(Qb, Q&#8336;) &#8712; &#8484;_+&#178;</em> as a continuous-time Markov chain with six event rates:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0joC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0joC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0joC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0joC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0joC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0joC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg" width="1089" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1089,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\lambda_b, \\; \\lambda_a, \\; \\mu_b, \\; \\mu_a, \\; \\theta_b(Q_b), \\; \\theta_a(Q_a)&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="\lambda_b, \; \lambda_a, \; \mu_b, \; \mu_a, \; \theta_b(Q_b), \; \theta_a(Q_a)" title="\lambda_b, \; \lambda_a, \; \mu_b, \; \mu_a, \; \theta_b(Q_b), \; \theta_a(Q_a)" srcset="https://substackcdn.com/image/fetch/$s_!0joC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0joC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0joC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0joC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab072657-0f4f-411a-b631-d8feca907e21_1089x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>A mid-price move occurs at the first queue depletion. The probability the next move is upward:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rc3O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rc3O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rc3O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg" width="1134" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:306,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;P(\\text{up}) = \\frac{\\mu_b + \\theta_a \\bar{Q}_a}{\\mu_b + \\theta_a \\bar{Q}_a + \\mu_a + \\theta_b \\bar{Q}_b}&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="P(\text{up}) = \frac{\mu_b + \theta_a \bar{Q}_a}{\mu_b + \theta_a \bar{Q}_a + \mu_a + \theta_b \bar{Q}_b}" title="P(\text{up}) = \frac{\mu_b + \theta_a \bar{Q}_a}{\mu_b + \theta_a \bar{Q}_a + \mu_a + \theta_b \bar{Q}_b}" srcset="https://substackcdn.com/image/fetch/$s_!Rc3O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rc3O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420b3e7d-5c7a-4965-80d6-3f0af445c2e6_1134x306.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dDx6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dDx6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dDx6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg" width="1360" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:861,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Queue imbalance vs probability of upward price move&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="Queue imbalance vs probability of upward price move" title="Queue imbalance vs probability of upward price move" srcset="https://substackcdn.com/image/fetch/$s_!dDx6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dDx6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4188364d-f0f3-44f4-a168-b30e8daca9a9_1360x861.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Defining imbalance <em>I = Qb / (Qb + Q&#8336;)</em>, the conditional probability of an up-move is nearly linear in <em>I</em> for moderate values and nonlinear in the tails.</p><h2>4. Queue Reactivity (Hawkes Processes)</h2><p>Real order flow exhibits clustering: market orders trigger cancellations, which trigger further cancellations, which trigger limit order refills. The Hawkes process captures this self-excitation. The intensity of event type <em>i</em> at time <em>t</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vUc7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vUc7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vUc7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg" width="1338" height="342" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:342,&quot;width&quot;:1338,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\lambda_i(t) = \\mu_i + \\sum_j \\int_0^t \\alpha_{ij} \\, e^{-\\beta_{ij}(t - s)} \\, dN_j(s)&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="\lambda_i(t) = \mu_i + \sum_j \int_0^t \alpha_{ij} \, e^{-\beta_{ij}(t - s)} \, dN_j(s)" title="\lambda_i(t) = \mu_i + \sum_j \int_0^t \alpha_{ij} \, e^{-\beta_{ij}(t - s)} \, dN_j(s)" srcset="https://substackcdn.com/image/fetch/$s_!vUc7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vUc7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38c533b9-4e0d-4f6d-8043-890849f78f5f_1338x342.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F4sR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F4sR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F4sR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg" width="1555" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:960,&quot;width&quot;:1555,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hawkes process showing self-exciting intensity spikes after event clusters&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="Hawkes process showing self-exciting intensity spikes after event clusters" title="Hawkes process showing self-exciting intensity spikes after event clusters" srcset="https://substackcdn.com/image/fetch/$s_!F4sR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!F4sR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e668bc9-1ecb-4d2f-a4f8-19dc2f005172_1555x960.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The matrix <em>&#945;&#7522;&#11388;</em> encodes feedback loops:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xy0Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xy0Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xy0Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg" width="1743" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1743,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\alpha_{\\text{cancel, market}} > 0, \\quad \\alpha_{\\text{cancel, cancel}} > 0, \\quad \\alpha_{\\text{limit, deplete}} > 0&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="\alpha_{\text{cancel, market}} > 0, \quad \alpha_{\text{cancel, cancel}} > 0, \quad \alpha_{\text{limit, deplete}} > 0" title="\alpha_{\text{cancel, market}} > 0, \quad \alpha_{\text{cancel, cancel}} > 0, \quad \alpha_{\text{limit, deplete}} > 0" srcset="https://substackcdn.com/image/fetch/$s_!xy0Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xy0Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10a541b6-a613-4229-af4b-22154727bdd7_1743x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The branching ratio <em>n = &#8721;&#11388; &#945;&#7522;&#11388;/&#946;&#7522;&#11388;</em> measures the fraction of endogenously triggered events. In equity markets <em>n &gt; 0.7</em> &#8212; most order book activity is reactive, not informational.</p><h2>5. Diffusion Limit and First Passage</h2><p>For large queues, the discrete birth-death process approximates a continuous Ornstein-Uhlenbeck diffusion:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aIcu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aIcu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aIcu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg" width="1230" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1230,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;dQ_t = (\\lambda_l - \\lambda_m - \\delta Q_t) \\, dt + \\sigma_Q \\, dW_t&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="dQ_t = (\lambda_l - \lambda_m - \delta Q_t) \, dt + \sigma_Q \, dW_t" title="dQ_t = (\lambda_l - \lambda_m - \delta Q_t) \, dt + \sigma_Q \, dW_t" srcset="https://substackcdn.com/image/fetch/$s_!aIcu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aIcu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F985cddc6-fa5d-43c1-b7a1-a86e46f22254_1230x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#963;Q&#178; = &#955;l + &#955;m + &#948; Q&#8348;</em>. This is an OU process with mean-reversion level <em>Q&#772;</em> and speed <em>&#948;</em>.</p><p>Since price moves occur at queue depletion (<em>Q &#8594; 0</em>), the inter-move duration is a first-passage time. Starting from <em>Q&#8320; = Q&#772;</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Iw-1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Iw-1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Iw-1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg" width="846" height="345" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:345,&quot;width&quot;:846,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\mathbb{E}[\\tau_0] \\sim \\frac{1}{\\delta} \\exp\\left(\\frac{\\delta \\bar{Q}^2}{\\sigma_Q^2}\\right)&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="\mathbb{E}[\tau_0] \sim \frac{1}{\delta} \exp\left(\frac{\delta \bar{Q}^2}{\sigma_Q^2}\right)" title="\mathbb{E}[\tau_0] \sim \frac{1}{\delta} \exp\left(\frac{\delta \bar{Q}^2}{\sigma_Q^2}\right)" srcset="https://substackcdn.com/image/fetch/$s_!Iw-1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Iw-1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a75620-4919-4563-999f-f27c6f07f621_846x345.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The exponential dependence means modest increases in queue depth dramatically reduce price-move frequency &#8212; explaining why deep-book instruments have lower tick-level volatility.</p><h2>6. Order Flow Imbalance and Price Formation</h2><p>The OFI framework (Cont, Kukanov &amp; Stoikov 2014) quantifies how order flow maps to price changes. Over interval <em>[t, t + &#916; t]</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lARa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lARa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lARa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lARa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lARa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lARa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg" width="1761" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:306,&quot;width&quot;:1761,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\text{OFI} = \\sum_{n} \\left( \\mathbb{1}_{e_n = \\text{buy MO}} - \\mathbb{1}_{e_n = \\text{sell MO}} + \\Delta Q_b^{(n)} - \\Delta Q_a^{(n)} \\right)&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="\text{OFI} = \sum_{n} \left( \mathbb{1}_{e_n = \text{buy MO}} - \mathbb{1}_{e_n = \text{sell MO}} + \Delta Q_b^{(n)} - \Delta Q_a^{(n)} \right)" title="\text{OFI} = \sum_{n} \left( \mathbb{1}_{e_n = \text{buy MO}} - \mathbb{1}_{e_n = \text{sell MO}} + \Delta Q_b^{(n)} - \Delta Q_a^{(n)} \right)" srcset="https://substackcdn.com/image/fetch/$s_!lARa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lARa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lARa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lARa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff877ab95-a580-4ae2-9b63-08c2e1b02ad4_1761x306.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The contemporaneous price change follows:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pWgd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pWgd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pWgd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg" width="780" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:780,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\Delta P_t = \\lambda \\cdot \\text{OFI}_t + \\varepsilon_t&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="\Delta P_t = \lambda \cdot \text{OFI}_t + \varepsilon_t" title="\Delta P_t = \lambda \cdot \text{OFI}_t + \varepsilon_t" srcset="https://substackcdn.com/image/fetch/$s_!pWgd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pWgd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92c48b04-a591-4213-9cf0-a6d2aaa23ca9_780x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>with <em>R&#178; &#8776; 0.40--0.65</em> at 10-second horizons. The impact coefficient links back to queue depth:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GE6o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GE6o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GE6o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg" width="594" height="291" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:291,&quot;width&quot;:594,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\lambda \\approx \\frac{1}{Q_b + Q_a}&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="\lambda \approx \frac{1}{Q_b + Q_a}" title="\lambda \approx \frac{1}{Q_b + Q_a}" srcset="https://substackcdn.com/image/fetch/$s_!GE6o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GE6o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb05689c3-64fc-4d8e-94ab-68e8bb238641_594x291.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This closes the loop: order flow moves queues, queue depletion moves prices, depth governs the rate.</p><h2>7. Multi-Level Depth Profile</h2><p>The limit order density at distance <em>x</em> from mid-price follows a power law near the spread:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Nzf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Nzf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Nzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg" width="1287" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1287,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;f(x) \\sim x^{\\alpha}, \\quad x \\to 0^+, \\quad \\alpha \\in [0.3, \\, 1.0]&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="f(x) \sim x^{\alpha}, \quad x \to 0^+, \quad \alpha \in [0.3, \, 1.0]" title="f(x) \sim x^{\alpha}, \quad x \to 0^+, \quad \alpha \in [0.3, \, 1.0]" srcset="https://substackcdn.com/image/fetch/$s_!7Nzf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Nzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb2d4373-86e0-46f8-803f-9aef5baf15d7_1287x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The book is sparse near the spread and denser further away. The multi-level depth ratio at depth <em>k</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Bqe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Bqe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Bqe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg" width="672" height="345" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:345,&quot;width&quot;:672,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;D_k = \\frac{\\sum_{i=1}^{k} Q_b^{(i)}}{\\sum_{i=1}^{k} Q_a^{(i)}}&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="D_k = \frac{\sum_{i=1}^{k} Q_b^{(i)}}{\sum_{i=1}^{k} Q_a^{(i)}}" title="D_k = \frac{\sum_{i=1}^{k} Q_b^{(i)}}{\sum_{i=1}^{k} Q_a^{(i)}}" srcset="https://substackcdn.com/image/fetch/$s_!4Bqe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Bqe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd0b759-f547-4826-b2b9-ba531c14533f_672x345.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>adds 5&#8211;15 percentage points of <em>R&#178;</em> for 1-second returns beyond Level 1 imbalance alone, with marginal contribution decaying in <em>k</em>.</p><h2>8. Queue Position Value</h2><p>The value of being the <em>k</em>-th order in a queue of depth <em>Q</em> at the best bid:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_GMW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_GMW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_GMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg" width="1395" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1395,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;V(k) = P(\\text{fill} \\mid k) \\cdot \\mathbb{E}[\\pi \\mid \\text{filled}] - C_{\\text{wait}}(k)&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="V(k) = P(\text{fill} \mid k) \cdot \mathbb{E}[\pi \mid \text{filled}] - C_{\text{wait}}(k)" title="V(k) = P(\text{fill} \mid k) \cdot \mathbb{E}[\pi \mid \text{filled}] - C_{\text{wait}}(k)" srcset="https://substackcdn.com/image/fetch/$s_!_GMW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_GMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3610e4a2-61c9-4fd6-a5b6-66ff71065f5f_1395x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><a href="https://delphicalpha.substack.com/p/fill-probability-models">Fill probability</a> decays exponentially: <em>P(fill &#8739; k) &#8776; e&#8315;k/Q^&#8727;</em>. The marginal value of advancing one position:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l9tt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l9tt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l9tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg" width="915" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:306,&quot;width&quot;:915,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\Delta V \\approx \\frac{\\lambda_m}{Q^2} \\cdot \\mathbb{E}\\left[\\frac{S}{2} - \\text{AS}\\right]&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="\Delta V \approx \frac{\lambda_m}{Q^2} \cdot \mathbb{E}\left[\frac{S}{2} - \text{AS}\right]" title="\Delta V \approx \frac{\lambda_m}{Q^2} \cdot \mathbb{E}\left[\frac{S}{2} - \text{AS}\right]" srcset="https://substackcdn.com/image/fetch/$s_!l9tt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l9tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb589fd6a-e484-43d7-875c-3e03da14063c_915x306.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yMpS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yMpS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yMpS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg" width="1360" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:860,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Fill probability as a function of queue position for large-tick and small-tick stocks&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="Fill probability as a function of queue position for large-tick and small-tick stocks" title="Fill probability as a function of queue position for large-tick and small-tick stocks" srcset="https://substackcdn.com/image/fetch/$s_!yMpS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yMpS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f877033-80d7-412a-a628-695cc4cf95b7_1360x860.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is the rational willingness to pay for latency &#8212; a co-location upgrade that gains one queue position is worth <em>&#916; V</em> per order.</p><h2>9. Key Empirical Facts</h2><ul><li><p><strong>Queue lifetimes</strong>: heavy-tailed, power-law exponents in <em>[1.5, 2.5]</em></p></li><li><p><strong>Fill rates</strong>: exponential decay in queue position; front-of-queue fills at 60&#8211;80%, back at 5&#8211;10% (large-tick stocks)</p></li><li><p><strong>Cancellation clustering</strong>: bursts triggered by correlated instrument moves; propagates across 2&#8211;3 price levels within milliseconds</p></li><li><p><strong>Intraday patterns</strong>: U-shaped arrival rates (open/close heavy); cancellation-to-arrival ratio relatively flat</p></li><li><p><strong>Mean-reversion</strong>: queue sizes revert on seconds-to-minutes timescale; speed inversely related to spread width</p></li></ul><div><hr></div><h2>References</h2><ol><li><p><strong>Smith, Farmer, Gillemot &amp; Krishnamurthy</strong> (2003). <em>Statistical theory of the continuous double auction.</em> Quantitative Finance, 3(6), 481&#8211;514.</p></li><li><p><strong>Cont, Stoikov &amp; Talreja</strong> (2010). <em>A stochastic model for order book dynamics.</em> Operations Research, 58(3), 549&#8211;563.</p></li><li><p><strong>Cont, Kukanov &amp; Stoikov</strong> (2014). <em>The price impact of order book events.</em> Journal of Financial Economics, 104(2), 471&#8211;484.</p></li><li><p><strong>Hawkes</strong> (1971). <em>Spectra of some self-exciting and mutually exciting point processes.</em> Biometrika, 58(1), 83&#8211;90.</p></li><li><p><strong>Bacry, Mastromatteo &amp; Muzy</strong> (2015). <em>Hawkes processes in finance.</em> Market Microstructure and Liquidity, 1(1), 1550005.</p></li><li><p><strong>Bouchaud, M&#233;zard &amp; Potters</strong> (2002). <em>Statistical properties of stock order books.</em> Quantitative Finance, 2(4), 251&#8211;256.</p></li><li><p><strong>Huang, Lehalle &amp; Rosenbaum</strong> (2015). <em>Simulating and analyzing order book data: The queue-reactive model.</em> JASA, 110(509), 107&#8211;122.</p></li><li><p><strong>Gould et al.</strong> (2013). <em>Limit order books.</em> Quantitative Finance, 13(11), 1709&#8211;1748.</p></li><li><p><strong>Abergel &amp; Jedidi</strong> (2013). <em>A mathematical approach to order book modeling.</em> IJTAF, 16(5), 1350025.</p></li><li><p><strong>Obizhaeva &amp; Wang</strong> (2013). <em>Optimal trading strategy and supply/demand dynamics.</em> Journal of Financial Markets, 16(1), 1&#8211;32.</p></li><li><p><strong>Lehalle &amp; Mounjid</strong> (2017). <em>Limit order strategic placement with adverse selection risk.</em> MSL, 3(1), 1750009.</p></li><li><p><strong>Daniels, Farmer, Gillemot, Iori &amp; Smith</strong> (2003). <em>Quantitative model of price diffusion and market friction.</em> PRL, 90(10), 108102.</p></li></ol><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/fill-probability-models">Reference Guides - Fill Probability Models</a> &#8212; From Poisson to Hawkes: modeling limit order fills</p></li><li><p><a href="https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair">HFT Secrets 3/5: Microprice &#8212; The Fair Value Hidden in the Order Book</a> &#8212; Volume-weighted fair value from the order book</p></li><li><p><a href="https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance">HFT Secrets 1/5: Order Flow Imbalance &#8212; Reading the Tape in Real Time</a> &#8212; Computing and trading order flow imbalance</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-market-impact-models">Reference Guides - Market Impact Models</a> &#8212; From Kyle's model to Almgren-Chriss</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Optimal Execution]]></title><description><![CDATA[From Almgren-Chriss to Reinforcement Learning]]></description><link>https://delphicalpha.substack.com/p/reference-guides-optimal-execution</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-optimal-execution</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Thu, 09 Apr 2026 13:54:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pqsk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every institutional trader faces the same fundamental problem: you must liquidate (or acquire) a large position <em>X</em> over a finite horizon <em>T</em>, but each share you trade moves the price against you. Trade too fast and you pay excessive <a href="https://delphicalpha.substack.com/p/reference-guides-market-impact-models">market impact</a>; trade too slowly and you bear the risk that the price drifts away while you still hold inventory. Optimal execution theory formalises this tension as a calculus-of-variations problem and delivers closed-form or numerically tractable schedules that balance expected cost against cost variance. This guide walks through ten progressively richer formulations, each one patching a deficiency in the last.</p><h2>1. TWAP Baseline</h2><p>The simplest possible schedule is Time-Weighted Average Price: divide the parent order <em>X</em> into equal slices and trade at a constant rate. The remaining inventory at time <em>t</em> is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pqsk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pqsk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pqsk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg" width="756" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:306,&quot;width&quot;:756,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;x(t) = X\\!\\left(1 - \\frac{t}{T}\\right)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="x(t) = X\!\left(1 - \frac{t}{T}\right)" title="x(t) = X\!\left(1 - \frac{t}{T}\right)" srcset="https://substackcdn.com/image/fetch/$s_!pqsk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pqsk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43012902-f9da-41ec-a36d-cf343da715a1_756x306.jpeg 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>and the trading rate is the constant <em>v = X/T</em>. TWAP implicitly assumes that temporary market impact is linear in trade rate, <em>&#916; S = &#951; v</em>, and that the impact coefficient <em>&#951;</em> does not change throughout the day. Under these assumptions the total expected cost is simply</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z4bs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z4bs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z4bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg" width="657" height="291" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:291,&quot;width&quot;:657,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;C_{\\text{TWAP}} = \\eta \\,\\frac{X^2}{T}&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="C_{\text{TWAP}} = \eta \,\frac{X^2}{T}" title="C_{\text{TWAP}} = \eta \,\frac{X^2}{T}" srcset="https://substackcdn.com/image/fetch/$s_!z4bs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z4bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b97236d-3825-489d-8741-e7e289b78002_657x291.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>because each infinitesimal slice of size <em>v dt</em> costs <em>&#951; v</em> in slippage, and integrating <em>&#951; v&#178;</em> over <em>[0,T]</em> gives <em>&#951; X&#178;/T</em>.</p><p>TWAP corresponds to zero risk aversion: the trader cares only about minimising expected impact and is indifferent to the variance of the execution cost. In a world where the mid-price follows a random walk with volatility <em>&#963;</em>, the cost variance of a TWAP schedule is maximal because inventory is held as long as possible. This is the baseline against which every subsequent model improves.</p><h2>2. VWAP Extension</h2><p>Intraday liquidity is not uniform. Equity markets exhibit a pronounced U-shaped volume profile: heavy volume at the open and close, thin volume over lunch. If temporary impact scales inversely with instantaneous volume, <em>&#951;&#8342; = &#951;&#8320; / V&#8342;</em>, then trading equal dollar amounts in every period is suboptimal. Volume-Weighted Average Price adapts the schedule so that the number of shares traded in period <em>k</em> is proportional to that period's expected volume:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YlHW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YlHW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YlHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg" width="693" height="324" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:324,&quot;width&quot;:693,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;n_k = X \\,\\frac{V_k}{\\sum_{j=1}^{N} V_j}&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="n_k = X \,\frac{V_k}{\sum_{j=1}^{N} V_j}" title="n_k = X \,\frac{V_k}{\sum_{j=1}^{N} V_j}" srcset="https://substackcdn.com/image/fetch/$s_!YlHW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YlHW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae14d3b-a5c2-4008-91cc-527fd4430723_693x324.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The cost under time-varying impact becomes <em>&#8721;&#8342; &#951;&#8342; n&#8342;&#178;/&#964; = &#951;&#8320; &#8721;&#8342; n&#8342;&#178;/(V&#8342; &#964;)</em>. Substituting the VWAP schedule shows that trading proportionally to volume minimises this sum, because it equalises the marginal cost of trading across periods. The proof is a direct application of the Cauchy-Schwarz inequality.</p><p>VWAP is the workhorse benchmark of agency execution desks. Its limitation is the same as TWAP's: it ignores price risk entirely. A trader who must sell a volatile stock still holds large inventory through thin midday periods, exposed to adverse price moves. To address this we need a framework that explicitly penalises risk.</p><h2>3. Almgren-Chriss Linear Impact</h2><p>Almgren and Chriss (2000) introduced the canonical formulation of optimal execution. The model decomposes market impact into two components: temporary impact <em>&#951; v</em> that affects only the current trade, and permanent impact <em>g n&#8342;</em> that shifts the fundamental price for all subsequent trades. The trader chooses a discrete schedule <em>&#8321;, &#8230;, nN\</em> with <em>n&#8342; = x&#8342;&#8331;&#8321; - x&#8342;</em> to minimise the mean-variance objective</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kzsG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kzsG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kzsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg" width="1476" height="354" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:354,&quot;width&quot;:1476,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;J = \\sum_{k=1}^{N} \\eta\\,\\frac{n_k^2}{\\tau} \\;+\\; g\\sum_{k=1}^{N} n_k\\, x_k \\;+\\; \\lambda\\,\\sigma^2\\,\\tau\\sum_{k=1}^{N} x_k^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="J = \sum_{k=1}^{N} \eta\,\frac{n_k^2}{\tau} \;+\; g\sum_{k=1}^{N} n_k\, x_k \;+\; \lambda\,\sigma^2\,\tau\sum_{k=1}^{N} x_k^2" title="J = \sum_{k=1}^{N} \eta\,\frac{n_k^2}{\tau} \;+\; g\sum_{k=1}^{N} n_k\, x_k \;+\; \lambda\,\sigma^2\,\tau\sum_{k=1}^{N} x_k^2" srcset="https://substackcdn.com/image/fetch/$s_!kzsG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kzsG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feadd0b0b-df20-41e3-ae5f-67df50c52c84_1476x354.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>subject to the boundary conditions <em>x&#8320; = X</em> and <em>xN = 0</em>. The first term is temporary impact cost, the second is permanent impact cost, and the third is the risk penalty weighted by the trader's risk-aversion parameter <em>&#955;</em>.</p><p>A key insight from Almgren and Chriss is that the permanent impact contribution to expected cost is path-independent: regardless of the schedule chosen, the total permanent impact cost equals <em>1/2g X&#178;</em>. This means permanent impact does not affect the optimal schedule at all. The optimisation reduces to a tradeoff between temporary impact (which favours slow trading) and variance (which favours fast trading), with <em>&#955;</em> controlling the balance.</p><h2>4. Continuous-Time Solution</h2><p>Taking the continuous-time limit <em>&#964; &#8594; 0</em> and applying the Euler-Lagrange equation to the Almgren-Chriss objective yields the second-order ODE</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5dWa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5dWa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5dWa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg" width="615" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:615,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\ddot{x}(t) = \\kappa^2\\, x(t)&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="\ddot{x}(t) = \kappa^2\, x(t)" title="\ddot{x}(t) = \kappa^2\, x(t)" srcset="https://substackcdn.com/image/fetch/$s_!5dWa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5dWa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229d4611-31af-4a61-bb43-88bd59e584eb_615x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where the urgency parameter is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DyUm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DyUm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DyUm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg" width="507" height="348" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:348,&quot;width&quot;:507,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\kappa = \\sigma\\sqrt{\\frac{\\lambda}{\\eta}}&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="\kappa = \sigma\sqrt{\frac{\lambda}{\eta}}" title="\kappa = \sigma\sqrt{\frac{\lambda}{\eta}}" srcset="https://substackcdn.com/image/fetch/$s_!DyUm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DyUm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0027cb-5741-4a13-abd4-868268342483_507x348.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a linear ODE with constant coefficients. The general solution subject to <em>x(0) = X</em> and <em>x(T) = 0</em> is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fbch!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fbch!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fbch!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fbch!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fbch!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fbch!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg" width="948" height="315" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:315,&quot;width&quot;:948,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;x^*(t) = X\\,\\frac{\\sinh\\!\\bigl(\\kappa(T - t)\\bigr)}{\\sinh(\\kappa T)}&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="x^*(t) = X\,\frac{\sinh\!\bigl(\kappa(T - t)\bigr)}{\sinh(\kappa T)}" title="x^*(t) = X\,\frac{\sinh\!\bigl(\kappa(T - t)\bigr)}{\sinh(\kappa T)}" srcset="https://substackcdn.com/image/fetch/$s_!fbch!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fbch!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fbch!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fbch!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70434513-584b-47cc-9a69-4f5dafdb83ae_948x315.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The optimal trading rate follows by differentiation:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T0a4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T0a4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T0a4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg" width="1275" height="315" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:315,&quot;width&quot;:1275,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;v^*(t) = -\\dot{x}^*(t) = \\kappa X\\,\\frac{\\cosh\\!\\bigl(\\kappa(T - t)\\bigr)}{\\sinh(\\kappa T)}&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="v^*(t) = -\dot{x}^*(t) = \kappa X\,\frac{\cosh\!\bigl(\kappa(T - t)\bigr)}{\sinh(\kappa T)}" title="v^*(t) = -\dot{x}^*(t) = \kappa X\,\frac{\cosh\!\bigl(\kappa(T - t)\bigr)}{\sinh(\kappa T)}" srcset="https://substackcdn.com/image/fetch/$s_!T0a4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!T0a4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef1530b-c0e1-45d4-83b8-c3675b7b2093_1275x315.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The dimensionless product <em>&#954; T</em> is the single number that governs the shape of the entire schedule. When <em>&#954; T &#8810; 1</em> (low urgency: the stock is not very volatile, the trader is not very risk-averse, or impact is high), the schedule is nearly linear and close to TWAP. When <em>&#954; T &#8811; 1</em> (high urgency), the schedule front-loads aggressively, liquidating most of the position early and then trickling out the remainder. The transition between these regimes is smooth and monotonic.</p><h2>5. Efficient Frontier of Execution</h2><p>As the risk-aversion parameter <em>&#955;</em> varies from zero to infinity, the optimal schedule traces out an efficient frontier in the plane of expected cost versus cost standard deviation, directly analogous to the Markowitz mean-variance frontier in portfolio theory. The expected cost of the optimal schedule is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RuRD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RuRD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RuRD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg" width="1005" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:279,&quot;width&quot;:1005,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;E[C^*] = \\frac{1}{2}\\,\\eta\\,\\kappa\\,X^2\\,\\coth(\\kappa T)&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="E[C^*] = \frac{1}{2}\,\eta\,\kappa\,X^2\,\coth(\kappa T)" title="E[C^*] = \frac{1}{2}\,\eta\,\kappa\,X^2\,\coth(\kappa T)" srcset="https://substackcdn.com/image/fetch/$s_!RuRD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RuRD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F797fcc1c-eeee-447d-b4af-62ec5420e832_1005x279.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>and the variance of execution cost is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n1NH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n1NH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n1NH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg" width="1461" height="315" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:315,&quot;width&quot;:1461,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\text{Var}[C^*] = \\frac{\\sigma^2 X^2}{2\\kappa}\\left(\\coth(\\kappa T) - \\frac{\\kappa T}{\\sinh^2(\\kappa T)}\\right)&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="\text{Var}[C^*] = \frac{\sigma^2 X^2}{2\kappa}\left(\coth(\kappa T) - \frac{\kappa T}{\sinh^2(\kappa T)}\right)" title="\text{Var}[C^*] = \frac{\sigma^2 X^2}{2\kappa}\left(\coth(\kappa T) - \frac{\kappa T}{\sinh^2(\kappa T)}\right)" srcset="https://substackcdn.com/image/fetch/$s_!n1NH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n1NH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb91f149-1d94-4426-bc43-a6a30485e0b7_1461x315.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>At <em>&#955; = 0</em> (equivalently <em>&#954; = 0</em>), we recover TWAP: minimal expected cost <em>&#951; X&#178;/T</em> but maximal variance <em>1/3&#963;&#178; X&#178; T</em>. As <em>&#955; &#8594; &#8734;</em> (<em>&#954; &#8594; &#8734;</em>), the trader executes immediately at time zero, paying the maximum impact cost <em>&#951; X&#178; / &#964;m&#7522;&#8345;</em> but bearing zero variance.</p><p>The frontier is convex and decreasing, meaning that initial reductions in variance are cheap in terms of added cost, but further reductions become progressively more expensive. In practice, most execution algorithms operate in the mildly risk-averse region where <em>&#954; T</em> is between 1 and 3, achieving a substantial variance reduction for a modest increase in expected cost. The frontier also provides a natural way to benchmark any execution algorithm: if a realised (cost, variance) pair lies northeast of the frontier, the algorithm is suboptimal.</p><h2>6. Square-Root Impact Model</h2><p>Empirical studies across equities, futures, and foreign exchange consistently find that market impact follows a concave power law rather than a linear relationship. The widely cited square-root law states</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5BLy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5BLy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5BLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg" width="669" height="282" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:282,&quot;width&quot;:669,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\Delta S \\approx \\sigma\\, c\\left(\\frac{n}{V}\\right)^{\\delta}&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="\Delta S \approx \sigma\, c\left(\frac{n}{V}\right)^{\delta}" title="\Delta S \approx \sigma\, c\left(\frac{n}{V}\right)^{\delta}" srcset="https://substackcdn.com/image/fetch/$s_!5BLy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5BLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5862566-f121-499b-a97e-0f3ed7394a92_669x282.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>with <em>&#948; &#8776; 0.5</em> and <em>c</em> a dimensionless constant of order unity. This concavity means that doubling the trade size less than doubles the impact, which has profound implications for optimal scheduling.</p><p>Substituting square-root temporary impact into the continuous-time objective gives</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rUYr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rUYr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rUYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg" width="1062" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:312,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;J = \\int_0^T \\left[\\eta\\,|\\dot{x}|^{3/2} + \\lambda\\,\\sigma^2\\,x^2\\right] dt&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="J = \int_0^T \left[\eta\,|\dot{x}|^{3/2} + \lambda\,\sigma^2\,x^2\right] dt" title="J = \int_0^T \left[\eta\,|\dot{x}|^{3/2} + \lambda\,\sigma^2\,x^2\right] dt" srcset="https://substackcdn.com/image/fetch/$s_!rUYr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rUYr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff644e3c3-625b-4aaf-bcc0-b3df31171986_1062x312.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The Euler-Lagrange equation is now nonlinear:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Dcw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Dcw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Dcw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg" width="816" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:279,&quot;width&quot;:816,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\frac{3}{4}\\,\\eta\\,|\\dot{x}|^{-1/2}\\,\\ddot{x} = \\lambda\\,\\sigma^2\\,x&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="\frac{3}{4}\,\eta\,|\dot{x}|^{-1/2}\,\ddot{x} = \lambda\,\sigma^2\,x" title="\frac{3}{4}\,\eta\,|\dot{x}|^{-1/2}\,\ddot{x} = \lambda\,\sigma^2\,x" srcset="https://substackcdn.com/image/fetch/$s_!4Dcw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Dcw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaac6d90-a4d4-4468-8440-c8ee977e97a5_816x279.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>No closed-form solution exists for this ODE. Numerical solutions reveal a schedule that is qualitatively similar to the Almgren-Chriss hyperbolic-sine trajectory but with two important differences: execution is more aggressive at the start (because the concave impact function makes large early trades relatively cheaper) and gentler near the end. The total cost is lower than the linear-impact prediction for the same parameters, reflecting the empirical reality that impact is less punishing than linear models assume.</p><h2>7. Obizhaeva-Wang Transient Impact</h2><p>A fundamental limitation of the Almgren-Chriss framework is the assumption that temporary impact vanishes instantaneously after each trade. In reality, the order book takes time to replenish after a large trade. Obizhaeva and Wang (2013) model this through a transient impact kernel that decays exponentially:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Xl2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Xl2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Xl2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg" width="642" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:642,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;G(t) = G_0\\, e^{-\\rho\\, t}&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="G(t) = G_0\, e^{-\rho\, t}" title="G(t) = G_0\, e^{-\rho\, t}" srcset="https://substackcdn.com/image/fetch/$s_!4Xl2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4Xl2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2db7c85a-843b-49b1-aa69-8b2b4f990e29_642x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#961;</em> is the resilience rate, the speed at which liquidity providers refill the book. The cumulative price impact at time <em>t</em> from a sequence of trades <em>&#8342;\</em> at times <em>&#8342;\</em> is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PilL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PilL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PilL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PilL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PilL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PilL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg" width="1134" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:306,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;S(t) - S(0) = \\sum_{t_k \\leq t} G_0\\, n_k\\, e^{-\\rho(t - t_k)}&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="S(t) - S(0) = \sum_{t_k \leq t} G_0\, n_k\, e^{-\rho(t - t_k)}" title="S(t) - S(0) = \sum_{t_k \leq t} G_0\, n_k\, e^{-\rho(t - t_k)}" srcset="https://substackcdn.com/image/fetch/$s_!PilL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PilL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PilL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PilL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938876e1-ffb8-493b-b46c-198c331e33ca_1134x306.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The optimal strategy in this model is qualitatively different from continuous Almgren-Chriss: the trader should execute in a series of discrete block trades separated by waiting periods, during which the order book recovers. The optimal inter-trade interval depends on the resilience rate <em>&#961;</em>, with slower resilience dictating longer waits. In the limit <em>&#961; &#8594; &#8734;</em> (instant recovery), the model reduces to pure temporary impact and the Almgren-Chriss continuous schedule is recovered. In the limit <em>&#961; &#8594; 0</em> (permanent impact only), the schedule is irrelevant.</p><p>The Obizhaeva-Wang framework also explains why execution algorithms that "ping" the book with rapid small orders can be suboptimal: if resilience is slow, each successive ping hits a depleted book and the effective impact per share is higher than a single larger trade followed by a pause. The practical implication is that execution algorithms should estimate the resilience rate from order-book data and space trades accordingly.</p><h2>8. Stochastic Liquidity</h2><p>All preceding models treat the impact coefficient <em>&#951;</em> as either constant or deterministically time-varying. In practice, liquidity is itself stochastic: bid-ask spreads widen and narrow unpredictably, depth fluctuates, and volatility clusters. When the impact coefficient <em>&#951;(t)</em> is a known function of time (the simplest extension), the Euler-Lagrange equation becomes a variable-coefficient ODE:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5mqz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5mqz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5mqz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg" width="921" height="282" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:282,&quot;width&quot;:921,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;2\\lambda\\sigma^2 x - \\frac{d}{dt}\\!\\bigl[2\\,\\eta(t)\\,\\dot{x}\\bigr] = 0&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="2\lambda\sigma^2 x - \frac{d}{dt}\!\bigl[2\,\eta(t)\,\dot{x}\bigr] = 0" title="2\lambda\sigma^2 x - \frac{d}{dt}\!\bigl[2\,\eta(t)\,\dot{x}\bigr] = 0" srcset="https://substackcdn.com/image/fetch/$s_!5mqz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5mqz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfd7a196-0c79-452a-8b1f-670585601bf4_921x282.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Expanding the derivative gives <em>&#951;(t) &#7821; + &#951;&#775;(t) &#7819; - &#955;&#963;&#178; x = 0</em>, which must generally be solved numerically. The qualitative behaviour is intuitive: the optimal schedule concentrates trading in periods where <em>&#951;(t)</em> is low (liquidity is abundant) and reduces trading when <em>&#951;(t)</em> is high (liquidity is thin).</p><p>When <em>&#951;(t)</em> is taken to be the reciprocal of the expected volume profile, the solution naturally produces something resembling a risk-adjusted VWAP. This provides the theoretical justification for VWAP-like strategies: they are not merely convenient benchmarks but approximate solutions to the optimal execution problem with realistic intraday liquidity variation. The fully stochastic case, where <em>&#951;(t)</em> is a random process observed in real time, leads to a dynamic programming formulation. The trader must decide at each instant whether the current liquidity is good enough to trade aggressively or whether to wait for better conditions. The Hamilton-Jacobi-Bellman equation for the value function <em>V(x, &#951;, t)</em> is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Em21!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Em21!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Em21!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Em21!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Em21!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Em21!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg" width="1512" height="252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:252,&quot;width&quot;:1512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\partial_t V + \\min_v\\!\\left[\\eta\\, v^2 + \\lambda\\sigma^2 x^2 - v\\,\\partial_x V + \\mathcal{L}_\\eta V\\right] = 0&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="\partial_t V + \min_v\!\left[\eta\, v^2 + \lambda\sigma^2 x^2 - v\,\partial_x V + \mathcal{L}_\eta V\right] = 0" title="\partial_t V + \min_v\!\left[\eta\, v^2 + \lambda\sigma^2 x^2 - v\,\partial_x V + \mathcal{L}_\eta V\right] = 0" srcset="https://substackcdn.com/image/fetch/$s_!Em21!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Em21!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Em21!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Em21!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c8b0ec-5bcc-482f-b5f7-44534e024e76_1512x252.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>&#8466;_&#951;</em> is the infinitesimal generator of the liquidity process. Closed-form solutions exist only for special cases (e.g., mean-reverting Ornstein-Uhlenbeck liquidity), but the framework is general.</p><h2>9. Signal-Aware Execution</h2><p>The models above assume the trader has no view on future price direction. In practice, many institutional orders are initiated precisely because the trader has a short-term alpha signal. If the signal predicts that the price will move against the position at rate <em>&#945;</em>, delaying execution is costly not just because of variance but because of expected adverse drift. The augmented objective is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wnwU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wnwU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wnwU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg" width="1146" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:312,&quot;width&quot;:1146,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;J = \\int_0^T \\left[\\eta\\,\\dot{x}^2 + \\lambda\\,\\sigma^2\\,x^2 + \\alpha\\, x\\right] dt&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="J = \int_0^T \left[\eta\,\dot{x}^2 + \lambda\,\sigma^2\,x^2 + \alpha\, x\right] dt" title="J = \int_0^T \left[\eta\,\dot{x}^2 + \lambda\,\sigma^2\,x^2 + \alpha\, x\right] dt" srcset="https://substackcdn.com/image/fetch/$s_!wnwU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wnwU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf99e641-d77b-4171-9260-b0fa66427ac4_1146x312.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The Euler-Lagrange equation becomes</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!27Xp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!27Xp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!27Xp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg" width="624" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:279,&quot;width&quot;:624,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\ddot{x} = \\kappa^2\\, x + \\frac{\\alpha}{2\\eta}&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="\ddot{x} = \kappa^2\, x + \frac{\alpha}{2\eta}" title="\ddot{x} = \kappa^2\, x + \frac{\alpha}{2\eta}" srcset="https://substackcdn.com/image/fetch/$s_!27Xp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 424w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 848w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!27Xp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54e20516-6157-4ac3-98d2-39b96857e267_624x279.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a nonhomogeneous linear ODE. The particular solution shifts the entire trajectory: when <em>&#945; &gt; 0</em> (the price is expected to fall, adverse for a seller), the optimal schedule front-loads more aggressively than the zero-alpha Almgren-Chriss solution. When <em>&#945; &lt; 0</em> (the price is expected to rise, favourable for a seller), the trader can afford to slow down and reduce impact costs.</p><p>In the multi-asset setting, the trader liquidates a vector of positions <em>x(t) &#8712; &#8477;&#7496;</em> with cross-asset covariance <em>&#931;</em> and vector of alpha signals <em>&#945;</em>. The objective generalises to</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nFIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nFIq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nFIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg" width="1287" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:312,&quot;width&quot;:1287,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;J = \\int_0^T \\left[\\dot{\\mathbf{x}}^\\top H\\, \\dot{\\mathbf{x}} + \\lambda\\,\\mathbf{x}^\\top \\Sigma\\, \\mathbf{x} + \\boldsymbol{\\alpha}^\\top \\mathbf{x}\\right] dt&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="J = \int_0^T \left[\dot{\mathbf{x}}^\top H\, \dot{\mathbf{x}} + \lambda\,\mathbf{x}^\top \Sigma\, \mathbf{x} + \boldsymbol{\alpha}^\top \mathbf{x}\right] dt" title="J = \int_0^T \left[\dot{\mathbf{x}}^\top H\, \dot{\mathbf{x}} + \lambda\,\mathbf{x}^\top \Sigma\, \mathbf{x} + \boldsymbol{\alpha}^\top \mathbf{x}\right] dt" srcset="https://substackcdn.com/image/fetch/$s_!nFIq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nFIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ae7e893-7088-4edc-9f7e-ae1c5cecdede_1287x312.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>H</em> is the matrix of impact coefficients (diagonal if cross-impact is negligible). The Euler-Lagrange system is a coupled set of linear ODEs that can be solved via matrix exponentials. Cross-asset covariance introduces a new effect: even if two assets have independent impact, correlated price moves mean that the optimal schedule for one asset depends on the inventory of the other. A risk-averse trader holding long positions in two highly correlated assets will liquidate both faster than if they were uncorrelated, because the combined position carries more risk.</p><h2>10. Adaptive &amp; RL-Based Execution</h2><p>All closed-form models rely on parametric assumptions about impact, volatility, and liquidity that are at best approximations. Reinforcement learning offers a model-free alternative that can adapt to complex, non-stationary market dynamics. The execution problem maps naturally onto the RL framework: the state is <em>s&#8348; = (x&#8348;, t, f&#8348;)</em> where <em>x&#8348;</em> is remaining inventory, <em>t</em> is elapsed time, and <em>f&#8348;</em> is a vector of market features (spread, depth, recent volatility, order-flow imbalance). The action <em>a&#8348; = v&#8348;</em> is the trading rate. The one-step cost is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tgqs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tgqs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tgqs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg" width="1017" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:231,&quot;width&quot;:1017,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;c(s_t, a_t) = \\eta(s_t)\\, v_t^2 + \\lambda\\,\\sigma^2\\, x_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="c(s_t, a_t) = \eta(s_t)\, v_t^2 + \lambda\,\sigma^2\, x_t^2" title="c(s_t, a_t) = \eta(s_t)\, v_t^2 + \lambda\,\sigma^2\, x_t^2" srcset="https://substackcdn.com/image/fetch/$s_!tgqs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tgqs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5a10b09-c907-4e0e-89a5-7cb3a7068b4a_1017x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>and the Bellman equation for the optimal value function is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hcpb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hcpb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hcpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg" width="1755" height="252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:252,&quot;width&quot;:1755,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;V(x, t) = \\min_{v}\\!\\left\\{c(v, x, t) + \\mathbb{E}\\!\\left[V(x - v\\,\\Delta t,\\; t + \\Delta t) \\,\\middle|\\, s_t\\right]\\right\\}&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="V(x, t) = \min_{v}\!\left\{c(v, x, t) + \mathbb{E}\!\left[V(x - v\,\Delta t,\; t + \Delta t) \,\middle|\, s_t\right]\right\}" title="V(x, t) = \min_{v}\!\left\{c(v, x, t) + \mathbb{E}\!\left[V(x - v\,\Delta t,\; t + \Delta t) \,\middle|\, s_t\right]\right\}" srcset="https://substackcdn.com/image/fetch/$s_!hcpb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hcpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cd65b9-4b83-4c17-9d5b-b6afaa8e0251_1755x252.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Model-free approaches such as deep Q-learning or policy gradient methods learn <em>V</em> or the optimal policy <em>&#960;&#8727;(s) = argmin&#7525; Q(s, v)</em> directly from historical execution data or a realistic simulator. The agent discovers schedule shapes that resemble Almgren-Chriss in calm markets but deviate substantially during high-volatility episodes, news events, or periods of unusual order-flow.</p><p>The practical advantage of RL is its ability to incorporate features that are impossible to model analytically: queue position, limit-order-book shape, time-of-day effects, and cross-asset signals can all enter the state vector. The practical disadvantage is sample efficiency: execution is an episodic problem with sparse, noisy rewards (the total cost is revealed only at the end of the schedule), and the state space is high-dimensional. Sim-to-real transfer is also challenging because simulator fidelity directly bounds policy quality. Current best practice combines a parametric baseline (typically Almgren-Chriss) with an RL-based residual policy that learns corrections to the baseline, inheriting the baseline's stability while capturing nonlinear effects.</p><div><hr></div><p>These ten formulations compose a hierarchy of increasing realism. TWAP is the zero-information, zero-risk-aversion baseline that every practitioner understands. Almgren-Chriss introduces the fundamental cost-risk tradeoff and delivers the elegant hyperbolic-sine schedule. The square-root impact model corrects the linear impact assumption to match empirical data. Obizhaeva-Wang adds order-book resilience and explains why discrete block trades can outperform continuous schedules. Stochastic liquidity models capture the reality that market conditions fluctuate unpredictably. Signal-aware execution integrates alpha forecasts into the schedule. And reinforcement learning handles the full complexity of real markets at the expense of requiring substantial data and infrastructure. In practice, most systematic execution desks start with an Almgren-Chriss backbone calibrated to their empirical impact estimates, layer on intraday volume adjustment to approximate stochastic liquidity, and increasingly augment with learned components for latency-sensitive or alpha-driven flow. The mathematical progression from TWAP to RL is not merely academic: it mirrors the actual evolution of execution algorithms deployed across global markets over the past two decades.</p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-market-impact-models">Reference Guides - Market Impact Models</a> &#8212; From Kyle's model to Almgren-Chriss</p></li><li><p><a href="https://delphicalpha.substack.com/p/measuring-market-impact-24m-trades">Measuring Market Impact: 24M Trades, Two Exchanges, One Answer</a> &#8212; Empirical market impact from 24M crypto trades</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Regime Detection]]></title><description><![CDATA[From Hidden Markov Models to Online Changepoint Detection]]></description><link>https://delphicalpha.substack.com/p/reference-guides-regime-detection</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/reference-guides-regime-detection</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Tue, 07 Apr 2026 07:38:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Financial markets alternate between distinct regimes &#8212; trending versus mean-reverting, low-volatility versus high-volatility, risk-on versus risk-off &#8212; and a strategy calibrated for one regime will inevitably fail in another. A trend-follower that thrives in persistent directional moves hemorrhages capital during choppy, mean-reverting periods; a mean-reversion strategy sized for calm markets faces ruin when volatility spikes and correlations break down. Regime detection is the discipline of identifying which state the market currently occupies and adapting accordingly.</p><h2>1. Gaussian Mixture Models</h2><p>The simplest regime model treats returns as drawn from a mixture of Gaussian distributions with no temporal structure. Each observation is independently generated by one of <em>K</em> components, where the identity of the generating component is an unobserved latent variable <em>z_t</em>.</p><p>The unconditional density of returns takes the form</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!57kE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!57kE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!57kE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!57kE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!57kE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!57kE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg" width="637" height="186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:186,&quot;width&quot;:637,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p(r_t) = \\sum_{k=1}^{K} \\pi_k \\, \\mathcal{N}(r_t \\mid \\mu_k, \\sigma_k^2)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p(r_t) = \sum_{k=1}^{K} \pi_k \, \mathcal{N}(r_t \mid \mu_k, \sigma_k^2)" title="p(r_t) = \sum_{k=1}^{K} \pi_k \, \mathcal{N}(r_t \mid \mu_k, \sigma_k^2)" srcset="https://substackcdn.com/image/fetch/$s_!57kE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!57kE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!57kE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!57kE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22941d0b-cb4f-40bd-9dad-1ef138db21bb_637x186.jpeg 1456w" sizes="100vw" loading="lazy" fetchpriority="high"></picture><div></div></div></a></figure></div><p>where <em>\pi_k</em> are mixing weights satisfying <em>\sum_k \pi_k = 1</em>, and each component has its own mean <em>\mu_k</em> and variance <em>\sigma_k^2</em>. A two-component mixture captures the empirical observation that equity returns exhibit a low-volatility, positive-drift regime (<em>\mu_1 &gt; 0</em>, <em>\sigma_1</em> small) and a high-volatility, negative-drift regime (<em>\mu_2 &lt; 0</em>, <em>\sigma_2</em> large).</p><p>Estimation proceeds via the Expectation-Maximization algorithm. The E-step computes the posterior responsibility of each component for each observation:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tz7R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tz7R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tz7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg" width="496" height="208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:208,&quot;width&quot;:496,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\gamma_t(k) = \\frac{\\pi_k \\, \\mathcal{N}(r_t \\mid \\mu_k, \\sigma_k^2)}{\\sum_{j=1}^{K} \\pi_j \\, \\mathcal{N}(r_t \\mid \\mu_j, \\sigma_j^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="\gamma_t(k) = \frac{\pi_k \, \mathcal{N}(r_t \mid \mu_k, \sigma_k^2)}{\sum_{j=1}^{K} \pi_j \, \mathcal{N}(r_t \mid \mu_j, \sigma_j^2)}" title="\gamma_t(k) = \frac{\pi_k \, \mathcal{N}(r_t \mid \mu_k, \sigma_k^2)}{\sum_{j=1}^{K} \pi_j \, \mathcal{N}(r_t \mid \mu_j, \sigma_j^2)}" srcset="https://substackcdn.com/image/fetch/$s_!Tz7R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Tz7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7737dd-3672-4226-9c89-68150accb72d_496x208.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The M-step updates parameters using these posteriors: <em>\hat{\mu}_k = \sum_t \gamma_t(k) r_t / \sum_t \gamma_t(k)</em>. The fundamental limitation is the absence of temporal dynamics &#8212; each observation is classified independently, so the model cannot express the empirical fact that regimes persist. Yesterday's regime tells us nothing about today's.</p><h2>2. Hidden Markov Models</h2><p>Hidden Markov Models remedy the temporal deficiency of mixture models by introducing state persistence. The hidden state <em>S_t \in \{1, \ldots, K\}</em> evolves as a discrete-time Markov chain governed by a transition matrix <em>\mathbf{A}</em> with entries</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pLhs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pLhs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pLhs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg" width="554" height="103" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:103,&quot;width&quot;:554,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A_{ij} = P(S_t = j \\mid S_{t-1} = i)&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="A_{ij} = P(S_t = j \mid S_{t-1} = i)" title="A_{ij} = P(S_t = j \mid S_{t-1} = i)" srcset="https://substackcdn.com/image/fetch/$s_!pLhs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pLhs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e088ca-b6f7-4e46-a03c-6c5e9dca3e21_554x103.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Conditional on the hidden state, returns are emitted according to a state-dependent distribution <em>r_t \mid S_t = k \sim \mathcal{N}(\mu_k, \sigma_k^2)</em>. The crucial feature is that the diagonal elements of <em>\mathbf{A}</em> are large &#8212; typically <em>A_{kk} \in [0.95, 0.99]</em> &#8212; meaning regimes are sticky. Once the market enters a particular state, it tends to remain there for an extended period.</p><p>The filtered probability of being in regime <em>k</em> at time <em>t</em>, given all observations up to and including <em>r_t</em>, is computed via the forward algorithm. Define the forward variable <em>\alpha_t(k) = P(r_1, \ldots, r_t, S_t = k)</em>, which satisfies the recursion</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P9KB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P9KB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 424w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 848w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P9KB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg" width="820" height="195" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:195,&quot;width&quot;:820,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\alpha_t(k) = \\mathcal{N}(r_t \\mid \\mu_k, \\sigma_k^2) \\sum_{j=1}^{K} \\alpha_{t-1}(j) \\, A_{jk}&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="\alpha_t(k) = \mathcal{N}(r_t \mid \mu_k, \sigma_k^2) \sum_{j=1}^{K} \alpha_{t-1}(j) \, A_{jk}" title="\alpha_t(k) = \mathcal{N}(r_t \mid \mu_k, \sigma_k^2) \sum_{j=1}^{K} \alpha_{t-1}(j) \, A_{jk}" srcset="https://substackcdn.com/image/fetch/$s_!P9KB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 424w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 848w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!P9KB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59899650-8768-4719-8023-84f5f8488ae4_820x195.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The filtered state probability is then <em>P(S_t = k \mid r_1, \ldots, r_t) = \alpha_t(k) / \sum_j \alpha_t(j)</em>. This gives a real-time, probabilistic estimate of the current regime that incorporates the full history of observations through the recursive structure.</p><h2>3. Hamilton's Regime-Switching Model</h2><p>Hamilton (1989) extended the HMM framework to autoregressive dynamics by allowing all model parameters &#8212; not just the mean and variance, but also the autoregressive coefficients &#8212; to depend on the hidden regime. The Markov-switching autoregression takes the form</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WEyD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WEyD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WEyD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg" width="971" height="102" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:102,&quot;width&quot;:971,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;r_t = \\mu_{S_t} + \\phi_{S_t} \\, r_{t-1} + \\sigma_{S_t} \\, \\varepsilon_t, \\quad \\varepsilon_t \\sim \\mathcal{N}(0, 1)&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="r_t = \mu_{S_t} + \phi_{S_t} \, r_{t-1} + \sigma_{S_t} \, \varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}(0, 1)" title="r_t = \mu_{S_t} + \phi_{S_t} \, r_{t-1} + \sigma_{S_t} \, \varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}(0, 1)" srcset="https://substackcdn.com/image/fetch/$s_!WEyD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WEyD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cadf371-2823-4ca9-950f-cc99b5345bae_971x102.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where the intercept <em>\mu_{S_t}</em>, persistence <em>\phi_{S_t}</em>, and volatility <em>\sigma_{S_t}</em> all switch with the hidden state. A canonical two-state specification might yield regime 1 as low-volatility trending (<em>\mu_1 &gt; 0</em>, <em>\phi_1 &gt; 0</em>, <em>\sigma_1</em> small) and regime 2 as high-volatility mean-reverting (<em>\mu_2 &lt; 0</em>, <em>\phi_2 &lt; 0</em>, <em>\sigma_2</em> large). The transition probabilities encode expected regime durations directly.</p><p>If <em>p_{kk} = P(S_t = k \mid S_{t-1} = k)</em> is the self-transition probability, then the expected duration of regime <em>k</em> follows a geometric distribution with mean</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KZoM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KZoM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KZoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg" width="352" height="124" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:124,&quot;width&quot;:352,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;E[D_k] = \\frac{1}{1 - p_{kk}}&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="E[D_k] = \frac{1}{1 - p_{kk}}" title="E[D_k] = \frac{1}{1 - p_{kk}}" srcset="https://substackcdn.com/image/fetch/$s_!KZoM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KZoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb83ea222-559a-405a-9685-ad3379bee061_352x124.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For <em>p_{kk} = 0.98</em>, the expected duration is 50 periods. Estimation proceeds by maximizing the likelihood via EM, where the E-step uses the Hamilton filter &#8212; a variant of the forward algorithm that conditions on lagged observables &#8212; and the M-step updates all regime-dependent parameters simultaneously. The key practical insight is that this model distinguishes not just between high and low volatility but between fundamentally different return-generating processes.</p><h2>4. EM Algorithm for HMM Estimation</h2><p>The Baum-Welch algorithm is the EM algorithm specialized to HMMs. The E-step deploys the forward-backward algorithm to compute posterior state probabilities. The forward variable <em>\alpha_t(k) = P(r_1, \ldots, r_t, S_t = k)</em> propagates information from past to present. The backward variable <em>\beta_t(k) = P(r_{t+1}, \ldots, r_T \mid S_t = k)</em> propagates information from future to present, satisfying</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K3dY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K3dY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K3dY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg" width="885" height="195" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:195,&quot;width&quot;:885,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\beta_t(k) = \\sum_{j=1}^{K} A_{kj} \\, \\mathcal{N}(r_{t+1} \\mid \\mu_j, \\sigma_j^2) \\, \\beta_{t+1}(j)&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="\beta_t(k) = \sum_{j=1}^{K} A_{kj} \, \mathcal{N}(r_{t+1} \mid \mu_j, \sigma_j^2) \, \beta_{t+1}(j)" title="\beta_t(k) = \sum_{j=1}^{K} A_{kj} \, \mathcal{N}(r_{t+1} \mid \mu_j, \sigma_j^2) \, \beta_{t+1}(j)" srcset="https://substackcdn.com/image/fetch/$s_!K3dY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K3dY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bdaa9b-7777-465b-94b0-84834031f87b_885x195.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Combining forward and backward passes yields the smoothed posterior probability <em>\gamma_t(k) = P(S_t = k \mid r_1, \ldots, r_T) = \alpha_t(k) \, \beta_t(k) / P(\text{data})</em>, which uses the entire dataset rather than just past observations. The pairwise posterior <em>\xi_t(j, k) = P(S_t = j, S_{t+1} = k \mid r_1, \ldots, r_T)</em> is needed to update the transition matrix.</p><p>The M-step updates are weighted averages under these posteriors. The regime-specific mean is</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s-G8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s-G8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s-G8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg" width="330" height="253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:253,&quot;width&quot;:330,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\hat{\\mu}_k = \\frac{\\sum_{t=1}^{T} \\gamma_t(k) \\, r_t}{\\sum_{t=1}^{T} \\gamma_t(k)}&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="\hat{\mu}_k = \frac{\sum_{t=1}^{T} \gamma_t(k) \, r_t}{\sum_{t=1}^{T} \gamma_t(k)}" title="\hat{\mu}_k = \frac{\sum_{t=1}^{T} \gamma_t(k) \, r_t}{\sum_{t=1}^{T} \gamma_t(k)}" srcset="https://substackcdn.com/image/fetch/$s_!s-G8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s-G8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7cdfd6-3824-4171-8eea-a3198344fc1a_330x253.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>and the transition probabilities update as <em>\hat{A}_{jk} = \sum_t \xi_t(j,k) / \sum_t \gamma_t(j)</em>. The algorithm iterates E and M steps until convergence, monotonically increasing the log-likelihood at each iteration. A critical practical concern is sensitivity to initialization: the likelihood surface for HMMs is typically multimodal, so different starting points can yield qualitatively different solutions. Standard practice is to run multiple random initializations and select the solution with the highest likelihood, or to initialize from a preliminary GMM fit.</p><h2>5. Bayesian Online Changepoint Detection</h2><p>The Adams-MacKay (2007) framework takes a fundamentally different approach: rather than fitting a fixed number of persistent regimes, it tracks the posterior distribution over the run length <em>r_t</em>, defined as the number of time steps since the last changepoint. This is a fully online algorithm &#8212; each new observation updates the posterior without reprocessing history.</p><p>The key recursion factorizes the joint posterior into a growth probability (no changepoint) and a changepoint probability. The growth step extends the current run:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lvju!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lvju!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lvju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg" width="1467" height="114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:114,&quot;width&quot;:1467,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;P(r_t = r_{t-1} + 1, x_{1:t}) = P(x_t \\mid r_{t-1}, x_t^{(r)}) \\, (1 - H) \\, P(r_{t-1}, x_{1:t-1})&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="P(r_t = r_{t-1} + 1, x_{1:t}) = P(x_t \mid r_{t-1}, x_t^{(r)}) \, (1 - H) \, P(r_{t-1}, x_{1:t-1})" title="P(r_t = r_{t-1} + 1, x_{1:t}) = P(x_t \mid r_{t-1}, x_t^{(r)}) \, (1 - H) \, P(r_{t-1}, x_{1:t-1})" srcset="https://substackcdn.com/image/fetch/$s_!Lvju!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Lvju!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe71bff7-be7b-4ea0-912a-c71e44ffb25e_1467x114.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>H</em> is the hazard rate &#8212; the prior probability of a changepoint at any given step &#8212; and <em>P(x_t \mid r_{t-1}, x_t^{(r)})</em> is the predictive probability of the new datum under the current run's sufficient statistics. The changepoint step resets the run length to zero:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-CUP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-CUP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-CUP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg" width="1143" height="148" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:148,&quot;width&quot;:1143,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;P(r_t = 0, x_{1:t}) = P(x_t \\mid \\text{prior}) \\, H \\sum_{r_{t-1}} P(r_{t-1}, x_{1:t-1})&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="P(r_t = 0, x_{1:t}) = P(x_t \mid \text{prior}) \, H \sum_{r_{t-1}} P(r_{t-1}, x_{1:t-1})" title="P(r_t = 0, x_{1:t}) = P(x_t \mid \text{prior}) \, H \sum_{r_{t-1}} P(r_{t-1}, x_{1:t-1})" srcset="https://substackcdn.com/image/fetch/$s_!-CUP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-CUP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84f77f1b-d3ee-4476-92d7-fba4a25110a0_1143x148.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The hazard rate <em>H</em> acts as a tuning parameter: a higher <em>H</em> makes the detector more sensitive to changes but increases false alarms. For Gaussian data with unknown mean and known variance, the predictive distributions are Student-<em>t</em>, and sufficient statistics update incrementally. The posterior over run length gives a complete picture: a sharp peak at <em>r_t = 0</em> indicates a recent changepoint, while a peak at large <em>r_t</em> indicates stability.</p><h2>6. CUSUM and Sequential Tests</h2><p>The Cumulative Sum (CUSUM) test, introduced by Page (1954), is the oldest and most theoretically grounded sequential changepoint detector. It monitors the cumulative deviation of observations from a reference level, triggering an alarm when the accumulated evidence exceeds a threshold.</p><p>For detecting a shift in mean from <em>\mu_0</em> to <em>\mu_1 &gt; \mu_0</em>, the upper CUSUM statistic is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ZZh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZZh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg" width="717" height="104" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:104,&quot;width&quot;:717,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;C_t^+ = \\max\\!\\big(0, \\, C_{t-1}^+ + x_t - k\\big)&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="C_t^+ = \max\!\big(0, \, C_{t-1}^+ + x_t - k\big)" title="C_t^+ = \max\!\big(0, \, C_{t-1}^+ + x_t - k\big)" srcset="https://substackcdn.com/image/fetch/$s_!5ZZh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5ZZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75ec8a08-7954-4b97-a4cb-14b20eda5969_717x104.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>k = (\mu_0 + \mu_1)/2</em> is the allowance parameter (halfway between the null and alternative means) and <em>x_t</em> is the observed process. An alarm sounds when <em>C_t^+ &gt; h</em>, where <em>h</em> is the decision threshold. The lower CUSUM <em>C_t^- = \max(0, C_{t-1}^- - x_t + k)</em> detects decreases. Together they form a two-sided detector.</p><p>The performance of CUSUM is characterized by the average run length (ARL) &#8212; the expected number of observations until an alarm. Under the null (no change), the ARL determines the false alarm rate and is approximately</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!10Xu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!10Xu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 424w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 848w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!10Xu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg" width="295" height="125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:125,&quot;width&quot;:295,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\text{ARL}_0 \\approx \\frac{e^{2hk}}{2hk}&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="\text{ARL}_0 \approx \frac{e^{2hk}}{2hk}" title="\text{ARL}_0 \approx \frac{e^{2hk}}{2hk}" srcset="https://substackcdn.com/image/fetch/$s_!10Xu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 424w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 848w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!10Xu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6d82d83-07c4-4b13-90a4-571b207251b6_295x125.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>for standardized observations. Under the alternative (after a true change), the ARL gives the detection delay. Page's test is optimal in the Lorden (1971) minimax sense: among all tests with a given false alarm rate, it minimizes the worst-case detection delay. In practice, CUSUM excels at monitoring specific parameters &#8212; a volatility estimate, a correlation coefficient, a strategy's Sharpe ratio &#8212; and triggering a regime flag when that parameter shifts.</p><h2>7. Jump-Diffusion Models</h2><p>Merton (1976) proposed an alternative framework where regime shifts manifest as discrete jumps superimposed on a continuous diffusion process. The asset price follows</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HWxH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HWxH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HWxH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg" width="606" height="118" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:118,&quot;width&quot;:606,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\frac{dS}{S} = \\mu \\, dt + \\sigma \\, dW + J \\, dN&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="\frac{dS}{S} = \mu \, dt + \sigma \, dW + J \, dN" title="\frac{dS}{S} = \mu \, dt + \sigma \, dW + J \, dN" srcset="https://substackcdn.com/image/fetch/$s_!HWxH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HWxH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F880adbe1-b3c1-4985-9976-4f3ac0972e5e_606x118.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>W</em> is a standard Brownian motion, <em>N</em> is a Poisson process with intensity <em>\lambda</em> (expected jumps per unit time), and <em>J \sim \mathcal{N}(\mu_J, \sigma_J^2)</em> is the random jump size. The key distinction from HMM-style models is that regime shifts are instantaneous events rather than persistent states.</p><p>The resulting return distribution over a discrete interval is a countably infinite mixture of normals: conditional on <em>n</em> jumps occurring, the return is Gaussian with mean <em>\mu + n\mu_J</em> and variance <em>\sigma^2 + n\sigma_J^2</em>. Separating jump variation from continuous variation in realized data uses bipower variation, defined as</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ucKa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ucKa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ucKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg" width="561" height="186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:186,&quot;width&quot;:561,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BV_t = \\frac{\\pi}{2} \\sum_{i=2}^{M} |r_{t,i}| \\, |r_{t,i-1}|&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="BV_t = \frac{\pi}{2} \sum_{i=2}^{M} |r_{t,i}| \, |r_{t,i-1}|" title="BV_t = \frac{\pi}{2} \sum_{i=2}^{M} |r_{t,i}| \, |r_{t,i-1}|" srcset="https://substackcdn.com/image/fetch/$s_!ucKa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ucKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9be9cc66-701e-4ae1-b846-4ae5fc0396fe_561x186.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>r_{t,i}</em> are intraday returns. Under mild conditions, <em>BV_t</em> converges to the integrated variance <em>\int \sigma_s^2 \, ds</em> even in the presence of jumps, because consecutive large returns (which jumps produce) are penalized by the product structure. The jump component is then estimated as <em>JV_t = RV_t - BV_t</em>, where <em>RV_t</em> is realized variance. Days with statistically significant <em>JV_t</em> flag potential regime-shift events that warrant recalibration of strategy parameters.</p><h2>8. Turbulence Index</h2><p>Kritzman and Li (2010) proposed a model-free approach to regime detection based on the Mahalanobis distance of multi-asset returns from their historical distribution. For a vector of <em>n</em> asset returns <em>\mathbf{r}_t</em>, the turbulence index is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uKKL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uKKL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uKKL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg" width="646" height="115" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:115,&quot;width&quot;:646,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;d_t^2 = (\\mathbf{r}_t - \\hat{\\boldsymbol{\\mu}})' \\, \\hat{\\boldsymbol{\\Sigma}}^{-1} \\, (\\mathbf{r}_t - \\hat{\\boldsymbol{\\mu}})&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="d_t^2 = (\mathbf{r}_t - \hat{\boldsymbol{\mu}})' \, \hat{\boldsymbol{\Sigma}}^{-1} \, (\mathbf{r}_t - \hat{\boldsymbol{\mu}})" title="d_t^2 = (\mathbf{r}_t - \hat{\boldsymbol{\mu}})' \, \hat{\boldsymbol{\Sigma}}^{-1} \, (\mathbf{r}_t - \hat{\boldsymbol{\mu}})" srcset="https://substackcdn.com/image/fetch/$s_!uKKL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uKKL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff80f3145-a32f-4148-9db5-ebed70bcf1c5_646x115.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>\hat{\boldsymbol{\mu}}</em> and <em>\hat{\boldsymbol{\Sigma}}</em> are the sample mean vector and covariance matrix estimated over a trailing window. This distance measures how unusual the current observation is relative to recent history, accounting for both marginal volatilities and cross-asset correlations.</p><p>Under multivariate normality, <em>d_t^2</em> follows a chi-squared distribution with <em>n</em> degrees of freedom. The turbulence threshold is therefore</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A1Pc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A1Pc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A1Pc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg" width="333" height="112" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:112,&quot;width&quot;:333,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;d_t^2 > \\chi^2_{n, \\, 1-\\alpha}&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="d_t^2 > \chi^2_{n, \, 1-\alpha}" title="d_t^2 > \chi^2_{n, \, 1-\alpha}" srcset="https://substackcdn.com/image/fetch/$s_!A1Pc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A1Pc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751a9708-168d-4636-a573-bfefa0a34f77_333x112.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>\alpha</em> is the desired significance level (typically 0.05). Observations exceeding this threshold represent return patterns that are statistically anomalous &#8212; either because individual assets moved too much, or because the correlation structure broke down (e.g., historically uncorrelated assets moving together). The turbulence index requires no model fitting, no regime specification, and no parameter estimation beyond rolling moments. It is purely statistical, operates in real time, and naturally captures the multi-asset dimension that univariate regime models miss. Its simplicity is its strength: it detects when something unusual is happening without needing to specify what.</p><h2>9. Regime-Conditional Strategy Allocation</h2><p>Given a vector of regime probabilities <em>p_t(k) = P(S_t = k \mid \text{data})</em> from any of the above models, the natural approach to portfolio construction is to blend regime-specific optimal portfolios. Let <em>\mathbf{w}_k^*</em> denote the optimal weight vector for regime <em>k</em>, computed via mean-variance optimization or Kelly criterion using regime-conditional parameters. The blended allocation is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!baxa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!baxa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!baxa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!baxa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!baxa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!baxa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg" width="453" height="186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:186,&quot;width&quot;:453,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\\mathbf{w}_t = \\sum_{k=1}^{K} p_t(k) \\, \\mathbf{w}_k^*&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="\mathbf{w}_t = \sum_{k=1}^{K} p_t(k) \, \mathbf{w}_k^*" title="\mathbf{w}_t = \sum_{k=1}^{K} p_t(k) \, \mathbf{w}_k^*" srcset="https://substackcdn.com/image/fetch/$s_!baxa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!baxa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!baxa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!baxa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1064e63-cf08-4038-91b7-75685efefa50_453x186.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This convex combination produces smooth transitions between regimes as the posterior probability shifts, avoiding the whipsaw trades that result from hard regime classification. When <em>P(\text{bull}) = 0.8</em>, the portfolio is 80% bull-optimal and 20% bear-optimal &#8212; a natural form of hedging against regime uncertainty.</p><p>The framework extends naturally to risk management. Regime-conditional value-at-risk uses the mixture distribution to compute tail risk:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ia_S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ia_S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ia_S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg" width="994" height="186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:186,&quot;width&quot;:994,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;P\\!\\big(r_t < -\\text{VaR}\\big) = \\sum_{k=1}^{K} p_t(k) \\, \\Phi\\!\\left(\\frac{-\\text{VaR} - \\mu_k}{\\sigma_k}\\right) = \\alpha&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="P\!\big(r_t < -\text{VaR}\big) = \sum_{k=1}^{K} p_t(k) \, \Phi\!\left(\frac{-\text{VaR} - \mu_k}{\sigma_k}\right) = \alpha" title="P\!\big(r_t < -\text{VaR}\big) = \sum_{k=1}^{K} p_t(k) \, \Phi\!\left(\frac{-\text{VaR} - \mu_k}{\sigma_k}\right) = \alpha" srcset="https://substackcdn.com/image/fetch/$s_!ia_S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ia_S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43f1fdfc-08d2-4128-89ea-54288895b3f6_994x186.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This captures the fat tails that arise from regime mixing &#8212; a critical improvement over single-regime VaR. Position sizing should also be regime-conditional: the Kelly fraction <em>f_k^* = \mu_k / \sigma_k^2</em> varies dramatically across regimes, and using the unconditional Kelly fraction leads to chronic over-betting during high-volatility periods. The most aggressive form of regime-conditional allocation is binary: if <em>P(\text{crisis}) &gt; \tau</em> for some threshold <em>\tau</em>, reduce all positions to zero and hold cash until the crisis probability subsides.</p><h2>10. Multi-Regime and Duration-Dependent Models</h2><p>Two-state models capture the dominant bull-bear dichotomy but miss important intermediate dynamics. Extending to <em>K = 3</em> or more regimes allows richer descriptions: a four-regime model might distinguish bull (trending up, low vol), calm (flat, low vol), correction (down, moderate vol), and crisis (down sharply, high vol, correlation spike). The challenge is that the number of transition parameters grows as <em>K(K-1)</em>, and identification becomes difficult with limited data.</p><p>A deeper limitation of standard HMMs is the assumption that the transition probability out of a regime is constant regardless of how long the process has been in that state. Empirically, regime duration matters: the probability of a bull market ending after 6 months differs from the probability of it ending after 36 months. Duration-dependent models replace the constant transition probability with a hazard function <em>h(d)</em> that depends on the sojourn time <em>d</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sPTu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sPTu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sPTu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg" width="823" height="98" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:98,&quot;width&quot;:823,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;P(S_{t+1} \\neq k \\mid S_t = k, D_t = d) = h_k(d)&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="P(S_{t+1} \neq k \mid S_t = k, D_t = d) = h_k(d)" title="P(S_{t+1} \neq k \mid S_t = k, D_t = d) = h_k(d)" srcset="https://substackcdn.com/image/fetch/$s_!sPTu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sPTu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82861820-9bce-4102-a74f-27f4c0270532_823x98.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where <em>D_t</em> counts the time spent in the current state. An increasing hazard function <em>h_k(d)</em> &#8212; the longer a regime persists, the more likely it is to end &#8212; captures the empirical regularity that expansions and contractions have finite expected lifetimes and become increasingly fragile as they age. Semi-Markov models formalize this by replacing the geometric sojourn distribution of standard HMMs with arbitrary parametric families (Weibull, log-normal).</p><p>At the <a href="https://delphicalpha.substack.com/p/from-point-estimates-to-posterior">Bayesian</a> nonparametric frontier, the infinite Hidden Markov Model (iHMM) places a hierarchical Dirichlet process prior over the transition distributions, allowing the number of regimes to grow with the data. The generative model is</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ovsV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ovsV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ovsV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg" width="809" height="98" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:98,&quot;width&quot;:809,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;G_k \\sim \\text{DP}(\\alpha, \\beta), \\quad S_t \\mid S_{t-1} = k \\sim G_k&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="G_k \sim \text{DP}(\alpha, \beta), \quad S_t \mid S_{t-1} = k \sim G_k" title="G_k \sim \text{DP}(\alpha, \beta), \quad S_t \mid S_{t-1} = k \sim G_k" srcset="https://substackcdn.com/image/fetch/$s_!ovsV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ovsV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cd1ede5-bc36-4d0e-9538-49fdddb6589d_809x98.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where each row of the (now infinite) transition matrix is drawn from a Dirichlet process with concentration <em>\alpha</em> and base measure <em>\beta</em>. In practice, the posterior concentrates on a finite number of active states determined by the data, sidestepping the model selection problem entirely. This is particularly appealing in financial applications where the true number of market regimes is unknown and may itself change over time.</p><div><hr></div><p>The hierarchy of regime detection methods moves from static classification (Gaussian mixtures) through dynamic state models (HMMs, Hamilton switching) to online detection (Bayesian changepoint, CUSUM) and finally to multi-asset anomaly detection (turbulence index). Each approach navigates the fundamental tradeoff between detection speed and false alarm rate: aggressive detectors identify regime changes quickly but trigger frequent false signals that generate costly whipsaw trades; conservative detectors avoid false alarms but react too slowly to protect capital. In practice, the most robust systems combine multiple detectors operating at different timescales: a Hidden Markov Model for structural regime identification over weeks and months, a turbulence index for real-time multi-asset anomaly detection, and CUSUM monitors on specific strategy parameters to flag calibration drift. The hardest part of regime detection is not identifying that a regime change has occurred &#8212; it is acting on that identification quickly enough to matter while maintaining the discipline to ignore the many false signals that any sensitive detector will produce.</p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/from-point-estimates-to-posterior">From Point Estimates to Posterior: A Trader's Guide to Bayesian Deep Learning</a> &#8212; Uncertainty-aware neural networks for trading</p></li><li><p><a href="https://delphicalpha.substack.com/p/the-7-layers-of-ensembling-in-systematic">The 7 Layers of Ensembling in Systematic Trading</a> &#8212; Seven practical layers for combining trading strategies</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-signal-combination">Reference Guides - Signal Combination and Ensembling</a> &#8212; From equal weights to Bayesian model averaging</p></li></ul>]]></content:encoded></item><item><title><![CDATA[HFT Secrets 3/5: Microprice — The Fair Value Hidden in the Order Book]]></title><description><![CDATA[Why the mid price is wrong, and how volume-weighted book imbalance gives you a better estimate]]></description><link>https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sat, 28 Mar 2026 08:14:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Bldb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>&#128214; 3/5: Microprice of the HFT Secrets series. Also read: <a href="https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance">1/5: Order Flow Imbalance</a> &#183; <a href="https://delphicalpha.substack.com/p/hft-secrets-25-vpin-detecting-toxic">2/5: VPIN</a></em></p><h2>The Problem</h2><p>Every trading screen shows the "mid price" -- the average of the best bid and best ask. Simple, intuitive, universally used.</p><p>And wrong.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>Consider: BTC bid is $87,250 with <strong>10 BTC</strong> resting. Ask is $87,251 with <strong>0.1 BTC</strong>. The mid is $87,250.50. But where do you think the next trade will print?</p><p>With 100x more volume supporting the bid, the fair value is much closer to the ask. The mid ignores this completely. The <strong>microprice</strong> does not.</p><div><hr></div><h2>The Theory</h2><p>Stoikov (2018) formalized what <a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">market makers</a> have always known intuitively: the volume-weighted mid is a better estimator of fair value than the arithmetic mid.</p><p>The microprice is:</p><pre><code>microprice = ask_price * I + bid_price * (1 - I)

where I = bid_size / (bid_size + ask_size)</code></pre><p>When the bid is larger than the ask (I &gt; 0.5), the microprice moves toward the ask -- reflecting the higher probability that the next price move is upward. When the ask dominates (I &lt; 0.5), it moves toward the bid.</p><p>The <strong>microprice bias</strong> -- the deviation from the mid in basis points -- is our trading signal.</p><div><hr></div><h2>Real Data: BTC Perpetual Order Book</h2><p>Here's a 10-minute window from a single day (March 14, 2026) of BTC perpetual futures on Binance:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bldb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bldb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bldb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Microprice vs Mid&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="Microprice vs Mid" title="Microprice vs Mid" srcset="https://substackcdn.com/image/fetch/$s_!Bldb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bldb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9410172c-80f6-4862-a804-709fd8b7cc90_2080x1030.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The microprice (blue) constantly dances around the mid (gray). When it pulls above the mid (positive bias), it signals upward pressure. When it dips below, downward pressure. The lower panel shows this bias in basis points.</p><div><hr></div><h2>The S-Curve: Imbalance Predicts Direction</h2><p>The relationship between book imbalance and forward returns follows a characteristic S-curve:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ojoo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ojoo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ojoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Imbalance S-Curve&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="Imbalance S-Curve" title="Imbalance S-Curve" srcset="https://substackcdn.com/image/fetch/$s_!Ojoo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ojoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33c85ef7-567b-4877-90df-2d51171506c8_1295x828.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>When the bid dominates (imbalance &gt; 0.5), forward returns are positive. When the ask dominates (imbalance &lt; 0.5), returns are negative. The relationship is monotonic and approximately linear in the middle, with saturation at the extremes.</p><p>This is not a coincidence -- it's the market's price discovery mechanism at work.</p><div><hr></div><h2>How Good Is the Microprice?</h2><p>We benchmark microprice against the naive mid on <strong>5 days</strong> of data (5 x ~800K snapshots):</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2rHC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2rHC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2rHC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Accuracy Comparison&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="Accuracy Comparison" title="Accuracy Comparison" srcset="https://substackcdn.com/image/fetch/$s_!2rHC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2rHC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54fabe48-cd19-439a-8f71-145482d5aeaa_2080x730.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>Microprice IC: 0.1014</strong> -- the bias predicts the direction of the next 1-second return</p></li><li><p><strong>Directional hit rate: 26.2%</strong> -- microprice correctly predicts the direction of the next move more than half the time</p></li><li><p><strong>MSE improvement: 0.3%</strong> -- microprice is a tighter estimator of the next observed price than the mid</p></li></ul><p>A 26.2% hit rate sounds modest, but at ~800K predictions per day, it's enormously significant statistically. And in HFT, you compound these small edges across millions of observations.</p><div><hr></div><h2>Book Imbalance Is Not Uniformly Distributed</h2><p>An important subtlety: the order book is not balanced half the time.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j3Yn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j3Yn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j3Yn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Imbalance Distribution&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="Imbalance Distribution" title="Imbalance Distribution" srcset="https://substackcdn.com/image/fetch/$s_!j3Yn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j3Yn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ebaf76-5405-412c-8c74-b38de675186e_1275x712.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The distribution is <strong>not centered at 0.5</strong> -- it has fat tails on both sides, with occasional extreme imbalances (0.05 or 0.95) that represent moments of very one-sided liquidity. These are the highest-conviction microprice signals.</p><div><hr></div><h2>When Does Microprice Work Best?</h2><p>The microprice signal's predictive power depends on the spread:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kgSG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kgSG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kgSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;IC by Spread&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="IC by Spread" title="IC by Spread" srcset="https://substackcdn.com/image/fetch/$s_!kgSG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kgSG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dc81b4-8f42-46f6-9e0c-f32a53edde42_1305x827.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>When the spread is tight, the microprice is more informative -- both the signal and the potential profit per tick are larger relative to the cost. When the spread is wide, the signal is noisier and the cost of acting on it is higher.</p><p>This is why microprice is most useful in liquid markets (BTC, ETH perps) where the spread is typically 1 tick.</p><div><hr></div><h2>The Implementation</h2><p>The microprice computation is trivially simple:</p><pre><code>def microprice(bid_price, bid_size, ask_price, ask_size):
total = bid_size + ask_size
imbalance = bid_size / total
return ask_price * imbalance + bid_price * (1 - imbalance)

def microprice_signal(bid_price, bid_size, ask_price, ask_size):
mid = (bid_price + ask_price) / 2
mp = microprice(bid_price, bid_size, ask_price, ask_size)
return (mp - mid) / mid * 10_000  # bias in bps</code></pre><p><strong>Complexity</strong>: O(1) per update. No lookback, no parameters, no state. This is the purest form of order book signal.</p><div><hr></div><h2>Key Takeaways</h2><ol><li><p><strong>The mid price is wrong.</strong> It ignores the most basic piece of information in the order book: relative volume at the best bid and ask.</p></li><li><p><strong>Microprice has an IC of 0.1014</strong> for 1-second forward returns on BTC -- small but highly significant.</p></li><li><p><strong>It works best when spreads are tight</strong> -- exactly when you want to be trading.</p></li><li><p><strong>The imbalance-return relationship is an S-curve</strong> -- linear in the middle, saturating at extremes.</p></li><li><p><strong>Zero parameters.</strong> Unlike OFI (which aggregates over time) or VPIN (which requires a volume bar size), microprice is completely parameter-free.</p></li></ol><p>Microprice is not just a signal -- it's the <strong>correct way to think about fair value</strong> in a limit order book. Every HFT firm uses some variant of this as the anchor for their quoting engine.</p><p><em>Next up: <strong>Avellaneda-Stoikov</strong> -- given a fair value estimate, how do you set optimal bid and ask quotes?</em></p><div><hr></div><p><em>This post is part of the <strong>HFT Secrets</strong> series -- 5 deep dives into the building blocks of high-frequency trading, each with real data from our crypto data lake.</em></p><p><em>For educational purposes only. Not investment advice.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li><li><p><a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">Building a Market-Maker on Hyperliquid &#8212; Part I: Theory</a> &#8212; The economics of market making and the spread</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Measuring Market Impact: 24M Trades, Two Exchanges, One Answer]]></title><description><![CDATA[If you trade BTC perpetual futures on two different exchanges, do you pay the same price for moving the market?]]></description><link>https://delphicalpha.substack.com/p/measuring-market-impact-24m-trades</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/measuring-market-impact-24m-trades</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Wed, 25 Mar 2026 15:12:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!J4_J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p>If you trade BTC perpetual futures on two different exchanges, do you pay the same price for moving the market? The answer matters: for anyone building execution algorithms, routing orders, or running transaction cost analysis, <strong>venue-specific impact</strong> is the difference between a good fill and a bad one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>To find out, I ran the same market impact pipeline on two datasets from February 2026:</p><ul><li><p><strong>OKX</strong>: 11,919,988 trade events, built from 83.5M raw trades and 15.8M L2 snapshots (20 depth levels)</p></li><li><p><strong>Binance</strong>: 12,792,950 trade events, built from 67M raw trades and 20.2M L2 snapshots (10 depth levels)</p></li></ul><p>Both datasets cover BTC-USDT perpetual futures over the same 28-day window. Same asset, same month, different venues. Here is what I found.</p><h2>Step 1: Defining a Trade Event</h2><p>Raw exchange trades are too granular to study impact directly. A single "market order" might appear as dozens of fills as it walks through the order book. So the first step is to aggregate: I group consecutive same-side trades within 100ms into a single <strong>event</strong>, recovering the atomic unit of aggression.</p><p>Right away, a key difference emerges. The median OKX event is 0.010 BTC ($689 notional) with 7 fills, while the median Binance event is 0.031 BTC ($2,114 notional) with 5 fills. OKX events are roughly <strong>3x smaller in notional terms</strong>. Both exchanges have similar depth at the touch (~3 BTC), so the typical event on either venue consumes less than 2% of available liquidity. These are mostly single-contract trades &#8212; the median OKX event is just 1 contract (0.01 BTC).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J4_J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J4_J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J4_J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig01&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="fig01" title="fig01" srcset="https://substackcdn.com/image/fetch/$s_!J4_J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J4_J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda2b5aa1-94ac-4021-802b-5387861b95c4_2365x1681.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Event size distributions (log scale). Both venues are dominated by small events. Median OKX event is 0.01 BTC ($689), Binance is 0.031 BTC ($2,114). Both consume less than 2% of the touch, but the right tail differs &#8212; OKX has more extreme outliers.</em></p><h2>Step 2: Measuring Impact Across Horizons</h2><p>For each event, I measure the absolute mid-price change at six horizons: 100ms, 500ms, 1s, 5s, 30s, and 60s. The result is an <strong>impact curve</strong>: how much does the price move, and how does that grow with time?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x0yB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x0yB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x0yB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig02&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="fig02" title="fig02" srcset="https://substackcdn.com/image/fetch/$s_!x0yB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x0yB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30bd7635-1d65-4d4f-bfde-53685c95b2f8_1818x1098.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Average absolute impact in basis points. OKX shows consistently higher impact, with the gap widening at longer horizons (9 bps at 60s vs 8 bps on Binance).</em></p><p>OKX shows higher average impact at every horizon, and the gap widens with time. At 100ms the difference is small (~0.03 bps), but by 60 seconds OKX impact is roughly 1 bps higher. This is notable because OKX events are actually <em>smaller</em> &#8212; the higher impact reflects a different participant mix and order flow composition rather than event size alone.</p><p>Breaking this down by event size quintile confirms the classic pattern: <strong>larger events cause more impact at every horizon</strong>, on both exchanges. Both exchanges have comparable depth at the touch (~3 BTC), and the typical event on either venue consumes less than 2% of it. The quintile separation is driven by the right tail: Q5 events can be 100-1000x larger than the median, large enough to sweep multiple book levels.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eF3L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eF3L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eF3L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig03&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="fig03" title="fig03" srcset="https://substackcdn.com/image/fetch/$s_!eF3L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eF3L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036c0d7b-55ee-41e3-a4ff-8b9d1b8ca613_2717x1135.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Impact by notional size quintile. Q5 (largest 20% of events) causes 2-3x more impact than Q1 (smallest). The separation grows with horizon as larger trades carry more information content.</em></p><h2>Step 3: Do the Classic Models Fit?</h2><p>Two classical models dominate the academic literature. The <strong>square-root law</strong> (Almgren-Chriss) predicts that impact scales as the square root of normalised order size: beta = 0.5. <strong>Kyle's lambda</strong> models impact as linear in signed volume: buy 1 BTC, move the price by lambda basis points.</p><p>Out of the box, the square-root law is flat: beta near zero on both exchanges (OKX: -0.027, Binance: -0.032), R-squared below 0.01. But it turns out the fit is sensitive to two modelling choices.</p><p><strong>First, the volume lookback window.</strong> The default 30-second trailing volume actually produces a <em>negative</em> beta &#8212; because short-term volume clustering is inversely correlated with per-event impact. Extending to daily volume flips the sign: beta becomes +0.02 to +0.04, in the right direction but still far below 0.5.</p><p><strong>Second, the omitted variables.</strong> Almgren-Chriss includes a volatility term (&#963;), but the naive fit ignores it. Adding log(&#963;) and log(spread) as controls improves R-squared 10x: from 0.4% to 4.4% on OKX and 3.4% on Binance. But beta barely moves &#8212; it stays around 0.02-0.04 regardless. The spread coefficient is actually the strongest predictor in the parametric model: wider spreads mean more impact, independent of size.</p><p>So the square-root law fails at the individual event level &#8212; but it was never meant for single 100ms book sweeps. It was designed for <strong>meta-orders</strong>: parent orders split into hundreds of child executions over minutes to hours. To test this, I aggregated all order flow into non-overlapping time windows at increasing scales (1s, 5s, 30s, 1min, 5min, 30min, 1hr). Within each window I compute participation rate = |net imbalance| / total volume and impact = |price change| in bps, then fit the square-root relationship. The result confirms the theory: <strong>beta rises monotonically from ~0 at the event level toward 0.3-0.5 at hourly aggregation</strong>. At the 1-hour scale, the fit recovers the classic concave relationship between size and impact. The signal was always there &#8212; it just requires the right aggregation level to emerge from the noise.</p><p><strong>Kyle's lambda tells a consistent story.</strong> Both exchanges have comparable depth at the touch (~3 BTC), and both have events that are small relative to that depth (&lt;2% of the touch). The fitted lambdas are in the same ballpark: OKX lambda = 0.1294 versus Binance lambda = 0.0757. On OKX, the fitted value is 86% of the theoretical 1/(2*depth) = 0.1505. On Binance, it is 60% of theory. Both are reasonable matches &#8212; the linear model is a decent approximation when events are small relative to depth.</p><p>OKX's lambda is higher (1.7x Binance), despite having similar depth, because OKX has higher per-event impact on average. This likely reflects differences in the information content of order flow: OKX flow may carry more signal per unit volume, consistent with a more institutional participant mix.</p><p>R-squared is only 1% &#8212; but that is expected. An individual trade explains ~1% of the subsequent 1-second price variance. The other 99% is other trades arriving, public information, and the random walk.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vk9-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vk9-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vk9-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig04&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="fig04" title="fig04" srcset="https://substackcdn.com/image/fetch/$s_!Vk9-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vk9-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9606e194-5a41-481e-a549-55f153f878e0_2908x2226.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Top left: fitted beta vs aggregation window &#8212; at event level beta is near zero, but it rises monotonically as we aggregate into longer windows, approaching the theoretical 0.5 (red dashed) at hourly scale. The square-root law emerges when individual events are aggregated into virtual meta-orders. Top right: Kyle's lambda binned by signed-volume ventile &#8212; both exchanges show clear monotonic slopes. Bottom left: impact decay on log-log tracks the random-walk sqrt(t) reference (dashed grey). Bottom right: parametric summary including best aggregation-level beta.</em></p><h2>Step 4: What Actually Drives Impact?</h2><p>Even the best parametric specification &#8212; size, volatility, and spread combined &#8212; explains only 4% of impact variance. Kyle's lambda captures direction but stays around 1%. Can a richer model close the gap? I trained LightGBM regression models with 49 microstructure features per horizon and exchange, including event characteristics (size, trades, duration, aggressiveness), <a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">order book</a> state (spread, depth at multiple levels, imbalance, slope), and recent market conditions (volatility, trade intensity, returns).</p><p>The answer is <strong>yes, dramatically</strong>. On both exchanges, a single feature dominates: <strong>aggressiveness</strong>, defined as how far an order walks through the book relative to available depth. It captures 52% of total importance on OKX and 41% on Binance. This is intuitive: an order that consumes five price levels will move the price more than one that only hits the top of book.</p><p>The second most important feature reveals a venue difference. On Binance, <strong>number of trades per event</strong> matters much more (19% vs 7% on OKX). Since both venues have small median events, the distinction is about how order flow fragments differently: Binance has more multi-fill events where the fill count is a strong signal of sweep aggressiveness.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UsFq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UsFq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UsFq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig06&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="fig06" title="fig06" srcset="https://substackcdn.com/image/fetch/$s_!UsFq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UsFq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c59c3c6-d0f0-4949-b54c-bce51ca6468b_2897x1317.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Top 15 features ranked by LightGBM gain importance. Aggressiveness dominates on both venues (52% on OKX, 41% on Binance). On Binance, n_trades is the clear second feature (19%); on OKX, aggressiveness is so dominant that remaining features contribute modestly.</em></p><h2>Step 5: How Well Can We Predict Impact?</h2><p>OKX models outperform Binance at <strong>every horizon</strong>. At 100ms, R-squared = 0.458 on OKX vs 0.425 on Binance. At 500ms the gap is dramatic: 0.499 vs 0.203. By 60 seconds both converge toward zero as diffusion noise dominates.</p><p>Why is OKX more predictable? Despite having smaller median events, OKX's order flow carries more directional information. The aggressiveness feature (how far an order walks through the book) dominates even more on OKX (52% of importance vs 41% on Binance), suggesting that OKX events &#8212; while small in median terms &#8212; are more discriminative in their book-sweeping behaviour. The right tail of the size distribution is also fatter on OKX, with more large events that mechanically move price.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QfpW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QfpW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QfpW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/adc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig07&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="fig07" title="fig07" srcset="https://substackcdn.com/image/fetch/$s_!QfpW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QfpW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fadc6c260-b8f8-4455-916a-8c3c05829d97_2537x1044.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>R-squared (left) and MAE (right) by horizon. OKX models outperform Binance at every horizon, with the biggest gap at 500ms (0.50 vs 0.20). Both decline toward zero at 30-60s as diffusion noise takes over.</em></p><h2>Step 6: Microstructure Conditioning</h2><p>Impact is not a fixed number. It depends on the market state when the event arrives. I conditioned on four dimensions to compare the exchanges:</p><ul><li><p><strong>Buy vs sell</strong>: near-perfect symmetry on both venues, as expected for a liquid perpetual contract.</p></li><li><p><strong>Spread</strong>: wide-spread periods produce 30-40% more impact, consistent on both exchanges.</p></li><li><p><strong>Volatility</strong>: high-volatility regimes amplify impact by 3-4x at the 60s horizon. This effect is massive and consistent across venues.</p></li><li><p><strong>Overall level</strong>: OKX sits above Binance across all conditioning slices.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GnnD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GnnD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GnnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig05&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="fig05" title="fig05" srcset="https://substackcdn.com/image/fetch/$s_!GnnD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GnnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ec65d8-9405-4cf7-b4ba-a2478eeef634_2538x1862.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Impact conditioned on market state. Buy/sell symmetry holds on both venues. Wider spreads and higher volatility amplify impact substantially. OKX consistently sits above Binance.</em></p><h2>Step 7: Impact or Random Walk?</h2><p>Not all impact sticks. Some is mechanical (the immediate spread-crossing cost) and some is informational (the market learns from the trade). The parametric decay fit (bottom left of the figure above) gives a clue: the decay exponent gamma is approximately -0.5 on both exchanges. That is <strong>exactly the exponent of a random walk</strong>, where expected absolute displacement grows as the square root of time.</p><p>This means that our impact curves &#8212; which show |impact| growing from 0.3 bps at 100ms to 8-9 bps at 60s &#8212; are <strong>dominated by diffusion</strong>, not by true information-driven impact. Most of the long-horizon "impact" is just the price wandering randomly after the trade, not a permanent shift caused by the trade.</p><p>The <strong>diffusion-to-impact ratio</strong> (60s / 100ms) quantifies this. Small events (Q1) have ratios around 35-37x: nearly all of the 60s price move is pure noise. Large events (Q5) show ratios of 16-20x: still dominated by diffusion, but <strong>less so</strong>. Larger trades carry more genuine information, and a higher fraction of their measured impact is real.</p><p>This is consistent across both exchanges &#8212; it is a fundamental property of market microstructure, not a venue artefact. Separating true permanent impact from diffusion would require a propagator-style analysis (Bouchaud et al.), conditioning on the sign sequence of subsequent trades. That is a topic for a follow-up.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dcxg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dcxg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dcxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;fig08&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="fig08" title="fig08" srcset="https://substackcdn.com/image/fetch/$s_!Dcxg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dcxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2035f7b-9714-4fba-b1d6-ced7694650ad_2537x1135.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><em>Left: impact paths for Q1 (smallest) vs Q5 (largest) events. Right: the diffusion-to-impact ratio drops from ~37x for small events to ~18x for large events, on both venues &#8212; larger trades contain more genuine information.</em></p><h2>Takeaways for Practitioners</h2><ul><li><p><strong>Venue selection matters</strong>: OKX shows higher average impact at every horizon despite having smaller median events, suggesting more informed order flow. Binance offers lower expected impact in absolute terms.</p></li><li><p><strong>Kyle's lambda works when events are small relative to depth</strong>: on both exchanges (events consume less than 2% of the touch), the linear model matches theory within 40%. The square-root law needs meta-order aggregation to work at all. For prediction, you need richer features and nonlinear models.</p></li><li><p><strong>Aggressiveness is the key feature</strong>: on both exchanges, how far an order walks through the book explains ~40% of predicted impact. If you only track one thing, track this.</p></li><li><p><strong>Predictability has a horizon</strong>: mechanical impact (100ms-1s) is highly predictable; beyond 5 seconds, diffusion takes over and models lose power.</p></li><li><p><strong>Volatility is the biggest regime switch</strong>: high-vol periods amplify impact 3-4x. Any execution algorithm that ignores the current volatility regime is leaving money on the table.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-market-impact-models">Reference Guides - Market Impact Models</a> &#8212; From Kyle's model to Almgren-Chriss</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-optimal-execution">Reference Guides - Optimal Execution</a> &#8212; TWAP, VWAP, and optimal execution schedules</p></li></ul>]]></content:encoded></item><item><title><![CDATA[HFT Secrets 2/5: VPIN — Detecting Toxic Flow Before the Crash]]></title><description><![CDATA[Volume-synchronized probability of informed trading, computed on real BTC & ETH tick data]]></description><link>https://delphicalpha.substack.com/p/hft-secrets-25-vpin-detecting-toxic</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/hft-secrets-25-vpin-detecting-toxic</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Wed, 25 Mar 2026 10:42:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2JLP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>&#128214; 2/5: VPIN of the HFT Secrets series. Also read: <a href="https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance">1/5: Order Flow Imbalance</a> &#183; <a href="https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair">3/5: Microprice</a></em></p><h2>The Problem</h2><p>It's a quiet Tuesday afternoon. BTC is trading at $87,000, volume is average, volatility is low. Then, in the span of 3 minutes, the price drops $2,000. By the time you react, the move is over.</p><p>The question every market maker asks: <strong>could I have seen this coming?</strong></p><p>VPIN -- the Volume-Synchronized Probability of Informed Trading -- is designed to answer exactly this question. It measures the probability that the current order flow is dominated by informed traders, and it spikes <em>before</em> large price moves.</p><div><hr></div><h2>The Theory</h2><p>VPIN was introduced by Easley, Lopez de Prado &amp; O'Hara (2012) as a real-time proxy for the probability of informed trading. The core idea:</p><ol><li><p><strong>Volume bars, not time bars.</strong> Resample trades into equal-volume buckets instead of equal-time intervals. This ensures each bar contains the same amount of "information" regardless of market activity.</p></li></ol><ol><li><p><strong>Bulk Volume Classification (BVC).</strong> Instead of classifying each individual trade as buy or sell (which requires matching against the order book), use the <em>price change within the bar</em> to probabilistically classify the entire bar's volume.</p></li></ol><ol><li><p><strong>VPIN = rolling average of |buy_vol - sell_vol| / total_vol.</strong> When informed traders are active, volume becomes one-sided. VPIN captures this.</p></li></ol><p>The formula:</p><pre><code>BVC_buy_fraction = CDF(z_t)    where z_t = price_change / sigma
VPIN_n = (1/n) * sum(|V_buy_i - V_sell_i| / V_total_i)  for i in [t-n, t]</code></pre><div><hr></div><h2>Volume Bars vs Time Bars</h2><p>Before computing VPIN, we need to understand why volume bars matter. Here's the same BTC trading session viewed through both lenses:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2JLP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2JLP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2JLP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Volume vs Time Bars&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="Volume vs Time Bars" title="Volume vs Time Bars" srcset="https://substackcdn.com/image/fetch/$s_!2JLP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2JLP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ac435d-4ee2-4f90-b8ff-9e6d47c131a1_2080x1030.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Time bars (top) have wildly different volumes -- a 1-minute bar at 3am contains a fraction of the information of a 1-minute bar during the US session. Volume bars (bottom) normalize this: each bar contains the same amount of traded volume, so each bar carries roughly the same statistical weight.</p><div><hr></div><h2>BVC: Does It Actually Work?</h2><p>Bulk Volume Classification uses the CDF of normalized price changes to <em>probabilistically</em> assign buy/sell labels. Since we have actual trade-side labels from the exchange, we can check:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r8tK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r8tK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 424w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 848w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r8tK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BVC Calibration&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="BVC Calibration" title="BVC Calibration" srcset="https://substackcdn.com/image/fetch/$s_!r8tK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 424w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 848w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!r8tK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0578d8a-8acb-41f1-9280-b72508847330_2052x923.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Raw BVC predictions are directionally accurate but attenuated &#8212; the predicted range spans 0-100% while actuals compress to ~35-68%. This is expected in ultra-liquid markets where each volume bar contains thousands of trades. After isotonic calibration (a simple monotonic mapping fitted on the data), the expected calibration error drops from 0.158 to effectively zero. BVC captures the direction and relative magnitude of order flow, and with one-time calibration, it becomes a well-calibrated probabilistic classifier.</p><div><hr></div><h2>Real Data: VPIN on BTC Perpetual Futures</h2><p>We computed VPIN from <strong>5 days</strong> of tick-by-tick BTC trades on Binance Futures (March 10-14, 2026).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Lza!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Lza!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Lza!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;VPIN Time Series&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="VPIN Time Series" title="VPIN Time Series" srcset="https://substackcdn.com/image/fetch/$s_!-Lza!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Lza!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69da6eb-2095-4864-bd46-7cf8bf6ec199_2080x1180.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The red-shaded regions mark periods where VPIN exceeds its 90th percentile (0.062). Notice how these high-VPIN episodes tend to precede or coincide with sharp price moves. The market maker's nightmare -- being on the wrong side of informed flow -- shows up as VPIN spikes.</p><div><hr></div><h2>VPIN Predicts Future Volatility</h2><p>The practical question: does high VPIN actually predict what comes next?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uEfC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uEfC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uEfC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;VPIN vs Volatility&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="VPIN vs Volatility" title="VPIN vs Volatility" srcset="https://substackcdn.com/image/fetch/$s_!uEfC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uEfC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d4b20bc-e8c2-47a9-b7de-1d3d4298aeaf_1291x827.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We compute a VPIN surprise score (how far current VPIN is above its recent average) and sort readings into quintiles. The top quintile experiences ~20% larger forward price moves than the bottom quintile over the next 5 minutes. The relationship is clear: when VPIN spikes above its baseline, larger price moves follow.</p><p>This is why market makers widen their quotes when VPIN spikes. The expected adverse selection cost just went up.</p><div><hr></div><h2>The Distribution of Informed Trading</h2><p>How often is the market "toxic"?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ek41!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ek41!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ek41!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ek41!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ek41!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ek41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;VPIN Distribution&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="VPIN Distribution" title="VPIN Distribution" srcset="https://substackcdn.com/image/fetch/$s_!ek41!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ek41!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ek41!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ek41!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37553be1-8ea3-4aaa-a677-33364fd1ef49_1268x711.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>Median VPIN: 0.046</strong> -- the "normal" state</p></li><li><p><strong>90th percentile: 0.062</strong> -- elevated informed trading, widen quotes</p></li><li><p><strong>99th percentile: 0.079</strong> -- extreme toxicity, consider pulling quotes entirely</p></li></ul><p>Most of the time, VPIN is well-behaved. But the tail events are where market makers get hurt -- and where VPIN earns its keep as an early warning system.</p><div><hr></div><h2>The Implementation</h2><p>Core VPIN computation with BVC:</p><pre><code>from scipy.stats import norm

def compute_vpin(prices, volumes, bar_size, n_buckets=50):
# Step 1: Normalized returns for BVC
log_ret = np.diff(np.log(prices), prepend=np.log(prices[0]))
z = log_ret / rolling_std(log_ret, window=10000)

# Step 2: BVC classification
buy_frac = norm.cdf(z)
buy_vol = volumes * buy_frac
sell_vol = volumes * (1 - buy_frac)

# Step 3: Create equal-volume bars
bar_buy, bar_sell = aggregate_to_volume_bars(
buy_vol, sell_vol, bar_size
)

# Step 4: VPIN = rolling mean of |imbalance| / total
imbalance = np.abs(bar_buy - bar_sell)
total = bar_buy + bar_sell
vpin = pd.Series(imbalance / total).rolling(n_buckets).mean()

return vpin</code></pre><p><strong>Complexity</strong>: O(n) for the full pipeline. The only parameter that matters is <code>bar_size</code> (volume per bar) -- too small creates noisy bars, too large loses temporal resolution.</p><div><hr></div><h2>Key Takeaways</h2><ol><li><p><strong>VPIN detects informed flow in real time</strong> -- confirmed on actual BTC perpetual trades.</p></li><li><p><strong>High VPIN predicts high future volatility</strong> -- ~20% larger price moves in the top vs bottom VPIN-surprise quintile.</p></li><li><p><strong>Volume bars &gt; time bars</strong> for any microstructure analysis. Equal-time bars are an artefact of data storage, not market reality.</p></li><li><p><strong>BVC is well-calibrated</strong> -- you don't need individual trade classification to get accurate buy/sell volume estimates.</p></li><li><p><strong>Most of the time, markets are "normal"</strong> -- VPIN &gt; 90th percentile is the danger zone.</p></li></ol><p>Unlike <a href="https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance">OFI</a> (which predicts <em>direction</em>), VPIN predicts <em>volatility</em>. A market maker uses both: OFI to lean their quotes, VPIN to set their spread width.</p><p><em>Next up: <strong><a href="https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair">Microprice</a></strong> -- the volume-weighted fair value that's better than the mid.</em></p><div><hr></div><p><em>This post is part of the <strong>HFT Secrets</strong> series -- 5 deep dives into the building blocks of high-frequency trading, each with real data from our crypto data lake.</em></p><p><em>For educational purposes only. Not investment advice.</em></p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/building-a-market-maker-on-hyperliquid">Building a Market-Maker on Hyperliquid &#8212; Part II: When Does It Work?</a> &#8212; When market making works and when it doesn't</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li></ul>]]></content:encoded></item><item><title><![CDATA[HFT Secrets 1/5: Order Flow Imbalance — Reading the Tape in Real Time]]></title><description><![CDATA[From Cont, Kukanov & Stoikov (2014) to a live BTC/ETH perpetual order book]]></description><link>https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/hft-secrets-15-order-flow-imbalance</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Mon, 23 Mar 2026 14:48:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7Oh5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>&#128214; 1/5: Order Flow Imbalance of the HFT Secrets series. Also read: <a href="https://delphicalpha.substack.com/p/hft-secrets-25-vpin-detecting-toxic">2/5: VPIN</a> &#183; <a href="https://delphicalpha.substack.com/p/hft-secrets-35-microprice-the-fair">3/5: Microprice</a></em></p><h2>The Problem</h2><p>You're watching a limit order book. The best bid is $87,250 with 2.5 BTC resting. The best ask is $87,251 with 0.3 BTC. A second later, the bid jumps to $87,251 with 1.8 BTC.</p><p>What just happened? And what does it tell you about where the price is going next?</p><p><strong>Order Flow Imbalance (OFI)</strong> is the signal that answers this question. It decomposes every change in the top of the book into buying pressure and selling pressure, and produces a single number that predicts short-term price direction.</p><div><hr></div><h2>The Theory</h2><p>Cont, Kukanov &amp; Stoikov (2014) showed that OFI -- defined as the net change in limit order volume at the best bid and ask -- is the single strongest predictor of short-term price changes.</p><p>The intuition is simple. When a market participant wants to buy aggressively:</p><ul><li><p>They place new bids, increasing bid volume</p></li><li><p>They lift asks, decreasing ask volume</p></li><li><p>Both show up as positive OFI</p></li></ul><p>The formula:</p><pre><code>OFI_t = bid_contribution_t + ask_contribution_t</code></pre><p>Where the <strong>bid contribution</strong> at time <em>t</em> is:</p><ul><li><p>If bid price <strong>rises</strong>: +bid_size(t)  (new, higher bid = buying pressure)</p></li><li><p>If bid price <strong>unchanged</strong>: bid_size(t) - bid_size(t-1)  (net addition to existing bid)</p></li><li><p>If bid price <strong>drops</strong>: -bid_size(t-1)  (bid retreated = buying pressure withdrew)</p></li></ul><p>And the <strong>ask contribution</strong> mirrors this logic on the sell side.</p><div><hr></div><h2>Real Data: BTC &amp; ETH Perpetual Futures</h2><p>We computed OFI from <strong>5 days</strong> of Level 2 order book snapshots on Binance Futures (March 10-14, 2026). That's roughly <strong>4 million snapshots per symbol</strong> at ~1 second resolution.</p><p>Here's what OFI looks like alongside price on a typical afternoon:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Oh5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Oh5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Oh5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;OFI Time Series&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="OFI Time Series" title="OFI Time Series" srcset="https://substackcdn.com/image/fetch/$s_!7Oh5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7Oh5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e03e81d-4b14-4773-a08e-96ae539c7a36_1780x1030.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The cumulative OFI tracks price direction remarkably well. When buying pressure dominates (green), the price drifts up. When selling pressure takes over (red), the price drops.</p><div><hr></div><h2>Decomposition: Where Is the Pressure Coming From?</h2><p>OFI is the sum of two components: bid-side pressure and ask-side pressure. Looking at them separately reveals which side of the book is driving price:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_YAs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_YAs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_YAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;OFI Decomposition&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="OFI Decomposition" title="OFI Decomposition" srcset="https://substackcdn.com/image/fetch/$s_!_YAs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_YAs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7554dfc-c5c6-4767-9bcb-4d58c7fbb73a_1549x679.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In this 30-minute window, you can see periods where both sides push in the same direction (strong moves) and periods where they diverge (choppy, uncertain markets). The <strong>net OFI</strong> (blue) is what you trade on.</p><div><hr></div><h2>Does It Predict Returns?</h2><p>The key question: does OFI at time <em>t</em> predict the return from <em>t</em> to <em>t+1</em>?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jEMR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jEMR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jEMR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;OFI vs Forward Returns&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="OFI vs Forward Returns" title="OFI vs Forward Returns" srcset="https://substackcdn.com/image/fetch/$s_!jEMR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jEMR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceea0c07-f105-4088-a867-348b0caa53dd_1294x827.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The relationship is <strong>linear and statistically significant</strong>:</p><ul><li><p><strong>BTC IC: 0.1376</strong> -- small but extremely stable</p></li><li><p><strong>ETH IC: 0.1202</strong> -- slightly weaker, consistent with lower BTC liquidity dominance</p></li></ul><p>At 86,400 observations per day, even an IC of 0.01 produces a t-statistic above 3.0. This is not noise.</p><div><hr></div><h2>How Fast Does the Signal Decay?</h2><p>If OFI predicts 1-second returns, does it also predict 10-second or 60-second returns?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G--_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G--_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!G--_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!G--_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!G--_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G--_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;IC Decay&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="IC Decay" title="IC Decay" srcset="https://substackcdn.com/image/fetch/$s_!G--_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 424w, https://substackcdn.com/image/fetch/$s_!G--_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 848w, https://substackcdn.com/image/fetch/$s_!G--_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!G--_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc64464fa-5480-44f7-8f06-0498c0a72b0e_1290x827.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The answer is clear: <strong>OFI is a fast signal.</strong> Predictive power peaks at 1-5 seconds and decays monotonically. By 60 seconds, most of the edge is gone. By 300 seconds, it's in the noise.</p><p>This is the hallmark of genuine microstructure alpha -- the information gets priced in quickly.</p><div><hr></div><h2>Is the Signal Stable?</h2><p>A signal that works on average but flips randomly between positive and negative is useless. We measure stability by computing IC in rolling 5-minute windows:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hv4A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hv4A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hv4A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Rolling IC&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="Rolling IC" title="Rolling IC" srcset="https://substackcdn.com/image/fetch/$s_!Hv4A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Hv4A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e139045-e416-4135-a8ee-150df88f8c5e_1527x711.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The OFI signal is <strong>positive 98% of the time</strong> across 5-minute windows, with a mean IC of <strong>0.1505</strong>. That's remarkably stable for a microstructure signal.</p><div><hr></div><h2>The Implementation</h2><p>Here's the core OFI computation in Python -- the same code we used to generate the charts above:</p><pre><code>def compute_ofi(bid_price, bid_size, ask_price, ask_size):
ofi = np.zeros(len(bid_price))

# Bid-side contribution
bp_up   = bid_price[1:] &gt; bid_price[:-1]
bp_same = bid_price[1:] == bid_price[:-1]
bp_down = bid_price[1:] &lt; bid_price[:-1]

ofi[1:] += np.where(bp_up,   bid_size[1:],
np.where(bp_same, bid_size[1:] - bid_size[:-1],
np.where(bp_down, -bid_size[:-1], 0.0)))

# Ask-side contribution
ap_up   = ask_price[1:] &gt; ask_price[:-1]
ap_same = ask_price[1:] == ask_price[:-1]
ap_down = ask_price[1:] &lt; ask_price[:-1]

ofi[1:] += np.where(ap_down, -ask_size[1:],
np.where(ap_same, -(ask_size[1:] - ask_size[:-1]),
np.where(ap_up,   ask_size[:-1], 0.0)))

return ofi</code></pre><p><strong>Complexity</strong>: O(n) time, O(n) space. No lookback windows, no parameters to tune. This is a purely mechanical decomposition of the order book.</p><div><hr></div><h2>Key Takeaways</h2><ol><li><p><strong>OFI is the strongest single predictor of short-term price changes</strong> -- confirmed on real BTC and ETH perpetual data.</p></li><li><p><strong>The signal is fast</strong> -- peak IC at 1-5 seconds, negligible by 60 seconds.</p></li><li><p><strong>It decomposes cleanly</strong> into bid and ask contributions, letting you see which side of the book is driving the move.</p></li><li><p><strong>It's stable</strong> -- positive IC in 98% of 5-minute windows.</p></li><li><p><strong>It's simple</strong> -- O(n), no parameters, pure order book mechanics.</p></li></ol><p>The catch? To exploit a signal that decays in 5 seconds, you need sub-second execution infrastructure. This is why OFI is the bread and butter of HFT firms, not retail traders.</p><p><em>Next up: <strong><a href="https://delphicalpha.substack.com/p/hft-secrets-25-vpin-detecting-toxic">VPIN</a></strong> -- detecting toxic flow before the big move happens.</em></p><div><hr></div><p><em>This post is part of the <strong>HFT Secrets</strong> series -- 5 deep dives into the building blocks of high-frequency trading, each with real data from our crypto data lake.</em></p><p><em>For educational purposes only. Not investment advice.</em></p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-order-book-dynamics">Reference Guides - Order Book Dynamics</a> &#8212; Queue dynamics, price formation, and microstructure</p></li><li><p><a href="https://delphicalpha.substack.com/p/crypto-orderflow-alpha-report-feb">Crypto Orderflow Alpha Report &#8212; Feb 2026</a> &#8212; Order book signals and microstructure, February 2026</p></li></ul>]]></content:encoded></item><item><title><![CDATA[How S&P Reacts to Economic Data: A Quantitative Playbook]]></title><description><![CDATA[Six years of 5-minute futures data reveal which events to trade and which to avoid]]></description><link>https://delphicalpha.substack.com/p/how-s-and-p-reacts-to-economic-data</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/how-s-and-p-reacts-to-economic-data</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Thu, 05 Mar 2026 19:42:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c59293f4-566d-4854-a1f9-5c6303ea3fa9_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>How S&amp;P Reacts to Economic Data: A Quantitative Playbook</h1><p><em>Six years of E-mini S&amp;P 500 futures, 5-minute bar data, every major US economic release. What actually happens &#8212; and what's tradeable?</em></p><p>Every month, a handful of numbers move billions of dollars. CPI, NFP, FOMC decisions &#8212; traders know these acronyms matter, but few have quantified <strong>exactly</strong> how much. I built an event study on 6 years of ES 5-minute futures data (2020&#8211;early 2026) to answer the questions that matter: How big is the move? Does it stick? And can you trade it?</p><h2>The Impact Hierarchy</h2><p>Not all releases are created equal. The chart below ranks every major US economic release by its average absolute price move in the first 15 minutes after the number drops.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dNcS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dNcS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dNcS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Event impact ranking by average move size&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="Event impact ranking by average move size" title="Event impact ranking by average move size" srcset="https://substackcdn.com/image/fetch/$s_!dNcS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dNcS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb838ed5-3874-4403-87eb-674dbcb00b39_1483x1031.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Three tiers emerge clearly:</p><ul><li><p><strong>Tier 1 (25+ bps):</strong> FOMC, CPI, and NFP dominate. These are the market-moving events. FOMC decisions average 35 bps &#8212; that's roughly 17 ES points of initial movement.</p></li><li><p><strong>Tier 2 (15&#8211;25 bps):</strong> Fed Chair speeches, PCE, and PPI. Important but more manageable. PCE matters because it's the Fed's preferred inflation gauge.</p></li><li><p><strong>Tier 3 (8&#8211;15 bps):</strong> GDP, ISM, Retail Sales, sentiment surveys. Worth monitoring but rarely tradeable on their own.</p></li></ul><p>Volume tells a similar story. FOMC and NFP see trading activity spike 5x above normal &#8212; the entire market is watching:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bAX9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bAX9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bAX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Volume spike at release 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="Volume spike at release time" title="Volume spike at release time" srcset="https://substackcdn.com/image/fetch/$s_!bAX9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bAX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff76c4aa0-4ddf-4464-83ff-c742fec6aefa_1483x1031.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>The Whipsaw Problem</h2><p>Here's where it gets interesting. The <strong>biggest events are also the most dangerous</strong>. FOMC decisions reverse their initial move 72% of the time. Fed Chair speeches reverse 65%. If you're chasing the first move on an FOMC day, you're on the wrong side of the trade more often than not.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V9rT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V9rT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V9rT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Whipsaw rate by event type&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="Whipsaw rate by event type" title="Whipsaw rate by event type" srcset="https://substackcdn.com/image/fetch/$s_!V9rT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V9rT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb53213c1-796e-43e7-82d7-7e1d0722350b_1484x1031.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This isn't random &#8212; it reflects the mechanics of these events. FOMC decisions are followed by a press conference where Powell's Q&amp;A can completely reframe the initial statement. The market reacts to the headline, then reacts again to the nuance. Same with speeches: key statements arrive at unpredictable moments, and the market lurches between interpretations.</p><h2>The Core Insight: Data Continues, Speeches Reverse</h2><p>The single most important finding in this analysis:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VZk9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VZk9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VZk9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Data releases continue vs speeches reverse&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="Data releases continue vs speeches reverse" title="Data releases continue vs speeches reverse" srcset="https://substackcdn.com/image/fetch/$s_!VZk9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VZk9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18cc7cc2-89e5-4a28-bd11-67db3e698650_1483x882.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Hard economic numbers (CPI, ISM, GDP, PPI) produce persistent repricing.</strong> The market sees the number, processes it, and the move holds. These are momentum-friendly events.</p><p><strong>Fed speeches and decisions produce whipsaw.</strong> Verbal guidance gets reinterpreted, and the initial move is noise. These are fade-friendly events &#8212; but only after the dust settles.</p><p>The continuation chart below breaks this down by individual release type. Above the line = momentum works. Below = fade works:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TFWq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TFWq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TFWq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Continuation vs fade rate by event&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="Continuation vs fade rate by event" title="Continuation vs fade rate by event" srcset="https://substackcdn.com/image/fetch/$s_!TFWq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TFWq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63fc6268-1970-4083-b990-9d9201702922_1484x1031.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>ISM Manufacturing and CPI lead the pack at 58% continuation. Fed Chair speeches sit at the bottom with just 40%. This is actionable: <strong>trade CPI with momentum, trade FOMC with patience.</strong></p><h2>How Long Does the Chaos Last?</h2><p>Every announcement creates a volatility spike. The question is how fast it normalises. The chart below shows the "half-life" &#8212; how many minutes until volatility drops to 50% of the initial burst:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8QkN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8QkN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8QkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Volatility half-life by event&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="Volatility half-life by event" title="Volatility half-life by event" srcset="https://substackcdn.com/image/fetch/$s_!8QkN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8QkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04d7127e-ec4a-4362-9459-c36aef821f4c_1484x882.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>FOMC decisions keep the market rattled for ~40 minutes. Jobless Claims? About 10 minutes. This matters for stop placement: you need wider stops during FOMC's volatility window and can run tighter stops after ISM.</p><h2>Under the Hood: What the Data Really Looks Like</h2><p>Averages are useful, but they hide the variance. This violin plot shows the full distribution of initial moves for the six most impactful events:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CwyO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CwyO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CwyO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Impact distribution violin plots&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="Impact distribution violin plots" title="Impact distribution violin plots" srcset="https://substackcdn.com/image/fetch/$s_!CwyO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CwyO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22fed26-5da3-447a-a3b8-96ad8bfa3ea3_1783x1032.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>FOMC's distribution is the widest &#8212; some decisions barely move the needle, while others produce 80+ bps of immediate displacement. CPI is also wide but more consistently large. ISM Manufacturing has the tightest distribution: modest but reliable.</p><h3>Average Price Path After Major Events</h3><p>The chart below shows the <strong>average absolute price path</strong> from 60 minutes before to 4 hours after each major release. The release moment is marked by the dashed line:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xjL1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjL1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjL1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Average post-announcement price paths&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="Average post-announcement price paths" title="Average post-announcement price paths" srcset="https://substackcdn.com/image/fetch/$s_!xjL1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xjL1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e811b1-0c75-491b-b471-283824aa4b1c_2083x1181.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>A few things jump out: pre-announcement compression is real (prices flatten before the release), and FOMC/CPI produce the largest and most sustained displacements. The bands show standard deviation &#8212; wider bands mean less predictable paths.</p><h3>FOMC: The Whipsaw in Action</h3><p>To illustrate the whipsaw problem concretely, here are individual FOMC price paths overlaid. Each faint red line is one meeting. The yellow line is the average:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UOZa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UOZa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UOZa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Individual FOMC paths showing whipsaw&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="Individual FOMC paths showing whipsaw" title="Individual FOMC paths showing whipsaw" srcset="https://substackcdn.com/image/fetch/$s_!UOZa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UOZa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96767c83-88d1-40f8-8817-64efc939d6d2_2083x1031.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The spaghetti of paths going in every direction after T=0 shows why the first 15 minutes of FOMC are essentially untradeable. The average converges to near-zero because up-moves and down-moves cancel out &#8212; but each individual path is violent.</p><h2>The Full Picture</h2><p>This heatmap compresses all the key metrics into one view. Darker cells = higher relative values:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-8kD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-8kD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-8kD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Event comparison heatmap&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="Event comparison heatmap" title="Event comparison heatmap" srcset="https://substackcdn.com/image/fetch/$s_!-8kD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-8kD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65581c45-1b70-422a-a05d-8c963c1cee2e_1402x1032.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And the four-panel overview that puts impact, volume, whipsaw, and continuation side by side:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EwBz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EwBz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EwBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Four-panel overview grid&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="Four-panel overview grid" title="Four-panel overview grid" srcset="https://substackcdn.com/image/fetch/$s_!EwBz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EwBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1657e3f3-f893-4146-ae18-8bf04104e800_2381x1782.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h2>CPI: A Closer Look</h2><p>CPI is the best event for directional trading, so it deserves its own deep dive. Every CPI release since 2020, plotted individually:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LgmK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LgmK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LgmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;CPI releases over 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="CPI releases over time" title="CPI releases over time" srcset="https://substackcdn.com/image/fetch/$s_!LgmK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LgmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2f28b6e-9414-4ac9-9764-8165b7da4674_2083x1182.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The top panel shows signed moves &#8212; green bars for rallies, red for selloffs. The bottom shows absolute magnitude with a rolling average. The 2022 CPI prints (during peak inflation uncertainty) were monsters. More recently, moves have moderated but remain significant.</p><h2>Has Announcement Impact Changed Over Time?</h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1zNJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1zNJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1zNJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Year-over-year impact trends&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="Year-over-year impact trends" title="Year-over-year impact trends" srcset="https://substackcdn.com/image/fetch/$s_!1zNJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1zNJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4dd1ae-437c-43ae-90c4-39ae33391d75_1783x881.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>2022 stands out &#8212; the year the Fed launched its aggressive hiking cycle. Every economic release was being read through the lens of "what does this mean for rate policy?" That elevated the impact of all data. As the cycle has matured, impact has normalised but remains above pre-2022 levels.</p><h2>The Event-Specific Playbook</h2><p>Based on all of this analysis, here are the concrete rules for each release:</p><p><strong>FOMC Decision:</strong> Do NOT chase the initial move. 72% whipsaw rate. Wait 15&#8211;30 minutes for the press conference to play out. The real move often starts during Q&amp;A, not the statement release.</p><p><strong>CPI:</strong> The best momentum trade. 58% continuation, lowest whipsaw among Tier 1 events. If you're going to chase one event, this is it. The 15-minute direction tends to hold into the close.</p><p><strong>NFP:</strong> Wait for the 8:45 ET retest. Initial spike is noisy (58% whipsaw), but the market often retests the pre-release level within the first 15 minutes. Trade the direction of the second move.</p><p><strong>PPI:</strong> A setup for CPI. PPI often drops 1-2 days before CPI and sets the tone. 55% continuation, moderate impact. Trade initial direction with pre-release level as your stop.</p><p><strong>PCE:</strong> The Fed's preferred gauge. Similar character to CPI but lower magnitude. Only worth trading if the initial move exceeds 20 bps in the first 5 minutes.</p><p><strong>ISM Manufacturing:</strong> Underrated. Released at 10 AM into a liquid market (unlike pre-open data drops). Best continuation rate tied with CPI at 58%. Trade tight stops. Moves above/below the 50 level generate outsized reactions.</p><p><strong>Fed Speeches:</strong> Wait for the full speech. 65% whipsaw. Unless the market is already on edge about rates, most speeches are noise.</p><p><strong>Jobless Claims:</strong> Ignore unless the deviation is massive (&gt;20K miss). Weekly release, low signal-to-noise, usually overshadowed by same-morning releases.</p><h2>Five Rules to Trade By</h2><ol><li><p><strong>Never chase FOMC or Fed speeches.</strong> Whipsaw rates exceed 65%. Let 15-30 minutes pass.</p></li><li><p><strong>CPI is your best momentum bet.</strong> 58% continuation, and the direction at T+15min tends to persist.</p></li><li><p><strong>Hard numbers persist, interpretive language reverses.</strong> This is the single most important pattern in event trading.</p></li><li><p><strong>Widen your stops during the volatility window.</strong> 40 minutes for FOMC, 15 minutes for ISM. Don't get stopped out by noise.</p></li><li><p><strong>Without a specific edge, your expected P&amp;L is negative after costs.</strong> Event trading is not free alpha &#8212; it requires discipline and selectivity.</p></li></ol><div><hr></div><p><em>Analysis based on ES E-mini S&amp;P 500 5-minute bar data, January 2020 through early 2026. ~500+ events across 13 release types. All metrics computed on 15-minute and 60-minute observation windows. Past patterns do not guarantee future behaviour. Not financial advice.</em></p><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/how-my-hyperliquid-vault-trades-multi">How my hyperliquid vault trades: Multi-Horizon Systematic Trading</a> &#8212; How our Hyperliquid vault combines multi-timeframe systematic signals</p></li><li><p><a href="https://delphicalpha.substack.com/p/crypto-price-action-alpha-report">Crypto - Price Action Alpha Report - Jan 2026</a> &#8212; Data-driven analysis of cryptocurrency price patterns</p></li><li><p><a href="https://delphicalpha.substack.com/p/5-signal-scaling-tricks-that-turn">5 Signal Scaling Tricks That Turn Model Predictions Into Actual Trades</a> &#8212; From raw prediction to optimal position sizing</p></li></ul>]]></content:encoded></item><item><title><![CDATA[5 HFT Secrets Every Quant Trader Should Know]]></title><description><![CDATA[From order flow to lock-free buffers &#8212; the building blocks of high-frequency trading]]></description><link>https://delphicalpha.substack.com/p/5-hft-secrets-every-quant-trader</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/5-hft-secrets-every-quant-trader</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Wed, 04 Mar 2026 13:00:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b8ea82cc-71f7-4fbc-9bb7-6a2cdc548d04_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Whether you're prepping for a quant trading interview or sharpening your market microstructure intuition, these five drills cover the core building blocks of high-frequency trading: reading order flow, detecting toxic liquidity, estimating fair value, quoting optimally, and building the infrastructure that makes it all run in nanoseconds.</p><p>Each drill includes the problem statement, the key insight, and a working Python implementation.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h2>1. Order Flow Imbalance (OFI)</h2><p><strong>The drill:</strong> Compute OFI from L1 order book snapshots (best bid/ask price &amp; size).</p><p><strong>Why it matters:</strong> OFI, introduced by Cont, Kukanov &amp; Stoikov (2014), captures supply/demand shifts at the top of book. When the bid queue grows or the ask queue shrinks, buying pressure increases. A simple linear regression of price changes on OFI explains 40-65% of short-term price variance &#8212; making it one of the most powerful microstructure signals in production systems.</p><p>The key insight is tracking <em>changes</em> in queue sizes, conditioned on whether the price level itself moved.</p><blockquote><p><strong>OFI(t) = &#916;Bid(t) &#8722; &#916;Ask(t)</strong></p><p>where &#916;Bid = Qbid &#183; 1{Pbid &#8593;} + (Qbid &#8722; Qbid,prev) &#183; 1{Pbid =} &#8722; Qbid,prev &#183; 1{Pbid &#8595;}</p><p><strong>&#916;P = &#946; &#183; OFI + &#949;</strong>&#8195;(R&#178; &#8776; 0.40&#8211;0.65 at 10s horizons)</p></blockquote><pre><code><code>import numpy as np, pandas as pd

def compute_ofi(ob: pd.DataFrame) -&gt; pd.Series:
    """ob must have columns: bid_price, bid_size, ask_price, ask_size"""
    bp, bs = ob['bid_price'], ob['bid_size']
    ap, asize = ob['ask_price'], ob['ask_size']

    # Bid side contribution
    bid_up   = (bp &gt; bp.shift(1)).astype(int)
    bid_same = (bp == bp.shift(1)).astype(int)
    bid_dn   = (bp &lt; bp.shift(1)).astype(int)
    ofi_bid  = bid_up * bs + bid_same * (bs - bs.shift(1)) - bid_dn * bs.shift(1)

    # Ask side contribution
    ask_dn   = (ap &lt; ap.shift(1)).astype(int)
    ask_same = (ap == ap.shift(1)).astype(int)
    ask_up   = (ap &gt; ap.shift(1)).astype(int)
    ofi_ask  = ask_dn * asize + ask_same * (asize - asize.shift(1)) - ask_up * asize.shift(1)

    return ofi_bid - ofi_ask  # positive = net buying pressure</code></code></pre><p><code>O(n) time &#183; O(1) space per tick</code></p><div><hr></div><h2>2. VPIN &#8212; Volume-Synchronized Probability of Informed Trading</h2><p><strong>The drill:</strong> Implement VPIN using Bulk Volume Classification on trade data.</p><p><strong>Why it matters:</strong> VPIN (Easley, Lopez de Prado, O'Hara 2012) answers a critical question: <em>is the flow hitting my quotes informed or noise?</em> It groups trades into equal-volume buckets (volume-time instead of clock-time) and measures how one-sided each bucket is. VPIN spiked dramatically before the 2010 Flash Crash &#8212; it's now a standard toxicity metric for market makers deciding whether to widen spreads or pull quotes entirely.</p><blockquote><p><strong>VPIN = (1/n) &#183; &#8721;&#964;=1..n |Vbuy(&#964;) &#8722; Vsell(&#964;)| / Vbucket</strong></p><p>Vbuy = V &#183; &#934;(&#916;P / &#963;)&#8195;&#8195;Vsell = V &#183; (1 &#8722; &#934;(&#916;P / &#963;))</p><p>where &#934; is the standard normal CDF (Bulk Volume Classification)</p></blockquote><pre><code><code>import numpy as np
from scipy.stats import norm

def compute_vpin(prices, volumes, bucket_size, n_buckets=50):
    """
    prices, volumes: arrays of trade prices and quantities.
    bucket_size: volume per bucket (e.g. daily_vol / 50).
    """
    # BVC: classify each trade's volume as buy or sell
    dp = np.diff(prices, prepend=prices[0])
    sigma = np.std(dp[dp != 0]) or 1e-10
    buy_pct = norm.cdf(dp / sigma)
    buy_vol = volumes * buy_pct
    sell_vol = volumes * (1 - buy_pct)

    # Accumulate into equal-volume buckets
    cum_vol = np.cumsum(volumes)
    bucket_ids = (cum_vol // bucket_size).astype(int)

    imbalances = []
    for b in range(bucket_ids[-1] + 1):
        mask = bucket_ids == b
        bv = buy_vol[mask].sum()
        sv = sell_vol[mask].sum()
        imbalances.append(abs(bv - sv))

    imb = np.array(imbalances)
    # Rolling VPIN over n_buckets
    if len(imb) &lt; n_buckets:
        return np.array([imb.sum() / (bucket_size * len(imb))])
    vpin = np.convolve(imb, np.ones(n_buckets), 'valid') / (n_buckets * bucket_size)
    return vpin

# VPIN near 0 = balanced flow; near 1 = highly toxic</code></code></pre><p><code>O(n) time &#183; O(B) space where B = num buckets</code></p><div><hr></div><h2>3. Microprice</h2><p><strong>The drill:</strong> Compute the microprice from L1 order book data.</p><p><strong>Why it matters:</strong> The midprice treats bid and ask equally, but that's wrong when queue sizes differ. Stoikov (2018) showed that the microprice &#8212; which weights each side by the <em>opposite</em> side's depth &#8212; is a better short-term price predictor because it incorporates queue imbalance. If bid size is much larger than ask size, the microprice sits above the mid, correctly predicting upward pressure. It's a martingale by construction and the simplest meaningful upgrade over the midprice.</p><blockquote><p><strong>Pmicro = Pask &#183; Qbid / (Qbid + Qask) + Pbid &#183; Qask / (Qbid + Qask)</strong></p><p>Pmicro &#8722; Pmid = spread &#183; (imbalance &#8722; 0.5)</p><p>where imbalance = Qbid / (Qbid + Qask)</p></blockquote><pre><code><code>import pandas as pd

def microprice(bid_price, ask_price, bid_size, ask_size):
    """Vectorized microprice computation."""
    total = bid_size + ask_size
    return (bid_size * ask_price + ask_size * bid_price) / total

def microprice_signal(ob: pd.DataFrame, lag: int = 1) -&gt; pd.Series:
    """Microprice return as a signal."""
    mp = microprice(ob['bid_price'], ob['ask_price'],
                    ob['bid_size'], ob['ask_size'])
    return mp.pct_change(lag)

# micro vs mid: micro adjusts for imbalance
# If bid_size &gt;&gt; ask_size, micro &gt; mid (predicts price going up)
# Difference: micro - mid = spread * (imbalance - 0.5)</code></code></pre><p><code>O(1) per tick &#183; O(n) vectorized</code></p><div><hr></div><h2>4. Avellaneda-Stoikov Optimal Quotes</h2><p><strong>The drill:</strong> Compute optimal bid/ask quotes using the Avellaneda-Stoikov model.</p><p><strong>Why it matters:</strong> This is <em>the</em> foundational market making model. Avellaneda &amp; Stoikov (2008) solved the problem of where to place your bid and ask quotes given your current inventory, the asset's volatility, and how much time remains in the trading session. The key idea: your <em>reservation price</em> (where you'd trade at fair value) shifts away from mid in proportion to your inventory. When you're long, you lower your ask to encourage selling. The optimal spread depends on volatility, risk aversion, and order arrival intensity.</p><blockquote><p><strong>r(t) = S(t) &#8722; q &#183; &#947; &#183; &#963;&#178; &#183; (T &#8722; t)</strong></p><p><strong>&#948; = &#947; &#183; &#963;&#178; &#183; (T &#8722; t) + (2/&#947;) &#183; ln(1 + &#947;/k)</strong></p><p>bid = r &#8722; &#948;/2&#8195;&#8195;ask = r + &#948;/2</p><p>where q = inventory, &#947; = risk aversion, k = order arrival intensity</p></blockquote><pre><code><code>import numpy as np

def avellaneda_stoikov(mid, inventory, sigma, gamma, k, T_rem):
    reservation = mid - inventory * gamma * sigma**2 * T_rem
    spread = gamma * sigma**2 * T_rem + (2/gamma) * np.log(1 + gamma/k)
    bid = reservation - spread / 2
    ask = reservation + spread / 2
    return {'bid': bid, 'ask': ask, 'reservation': reservation,
            'spread': ask - bid, 'skew': mid - reservation}</code></code></pre><p><code>O(1) time &#183; O(1) space</code></p><div><hr></div><h2>5. SPSC Lock-Free Ring Buffer</h2><p><strong>The drill:</strong> Implement a single-producer single-consumer lock-free ring buffer.</p><p><strong>Why it matters:</strong> Every HFT system needs to pass market data from a feed handler to a strategy engine with minimal latency. The SPSC ring buffer is the fundamental IPC primitive that makes this possible &#8212; zero locks, zero allocations, deterministic latency. The producer writes at the tail, the consumer reads at the head, and neither ever waits for the other. In C++, this runs at 2-5 nanoseconds per operation (1B+ ops/sec). The critical optimization is cache-line padding between head and tail to prevent false sharing.</p><pre><code><code>class SPSCRingBuffer:
    """Lock-free SPSC ring buffer (Python simulation of C++ pattern)."""
    def __init__(self, capacity=1024):
        self.capacity = capacity
        self.buffer = [None] * capacity
        self.head = 0  # consumer reads here
        self.tail = 0  # producer writes here
        # In C++: head/tail would be std::atomic&lt;size_t&gt;
        # with cache line padding (64 bytes) between them

    def push(self, item) -&gt; bool:
        """Producer only. Returns False if full."""
        next_tail = (self.tail + 1) % self.capacity
        if next_tail == self.head:  # full
            return False
        self.buffer[self.tail] = item
        # In C++: self.tail.store(next_tail, memory_order_release)
        self.tail = next_tail
        return True

    def pop(self):
        """Consumer only. Returns None if empty."""
        if self.head == self.tail:  # empty
            return None
        item = self.buffer[self.head]
        # In C++: self.head.store(next, memory_order_release)
        self.head = (self.head + 1) % self.capacity
        return item

# C++ version: ~2-5ns per push/pop (1B+ ops/sec)
# Key: cache line padding between head and tail (64 bytes)
# struct alignas(64) { atomic&lt;size_t&gt; head; };
# struct alignas(64) { atomic&lt;size_t&gt; tail; };</code></code></pre><p><code>O(1) push/pop &#183; zero locks &#183; zero allocations</code></p><div><hr></div><p>These five drills span the full HFT stack &#8212; from reading the order book (OFI, Microprice), to detecting when to pull quotes (VPIN), to setting optimal prices (Avellaneda-Stoikov), to building the infrastructure that delivers data in nanoseconds (SPSC buffer). Master these and you'll have a solid foundation for any quant trading interview or system design discussion.</p><p><em>This post is part of the Quant Trading Drill Series &#8212; 150 hands-on coding exercises covering microstructure, statistical testing, market making, ML for alpha, and HFT systems.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/building-a-market-maker-on-hyperliquid-02b">Building a Market-Maker on Hyperliquid &#8212; Part III: The Backtester</a> &#8212; Building and backtesting a crypto market-making engine</p></li><li><p><a href="https://delphicalpha.substack.com/p/crypto-orderflow-alpha-report-feb">Crypto Orderflow Alpha Report &#8212; Feb 2026</a> &#8212; Decoding crypto market microstructure through order flow</p></li><li><p><a href="https://delphicalpha.substack.com/p/building-a-production-grade-data">Building a Production-Grade Data Streamer for Hyperliquid</a> &#8212; Building a real-time WebSocket data pipeline for crypto trading</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Every Quantum Stock Crashed 90%+ After Its IPO. Here’s What That Means for Quantinuum.]]></title><description><![CDATA[Four quantum computing companies went public between 2021 and 2022. All four lost 90&#8211;96% of their value within 12&#8211;15 months. Then all four staged multi-thousand-percent recoveries.]]></description><link>https://delphicalpha.substack.com/p/every-quantum-stock-crashed-90-after</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/every-quantum-stock-crashed-90-after</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Tue, 10 Feb 2026 12:50:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the <a href="https://delphicalpha.substack.com/p/i-analyzed-4700-days-of-quantum-computing">first part of this series</a>, I analyzed 4,700 days of daily returns across IONQ, QUBT, RGTI, and QBTS. This post asks a different question: <strong>what happens to quantum stocks right after they go public?</strong> The answer is shockingly consistent &#8212; and Quantinuum is about to test whether the pattern holds.</p><div><hr></div><h2>The Four Quantum IPOs</h2><p><strong>IonQ (IONQ)</strong> &#8212; listed Oct 2021 via SPAC (dMY Technology III). $2B valuation, $636M proceeds, $350M PIPE from Fidelity, Silver Lake, Breakthrough Energy. Opened ~$10.60.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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"></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><strong>Rigetti (RGTI)</strong> &#8212; listed Mar 2022 via SPAC (Supernova Partners II). $1.5B valuation, $262M proceeds, $147.5M PIPE. Opened ~$9.75.</p><p><strong>D-Wave (QBTS)</strong> &#8212; listed Aug 2022 via SPAC (DPCM Capital). $1.6B valuation, but 97% of the trust was redeemed &#8212; D-Wave received only $9M of a planned $300M. Opened ~$9.</p><p><strong>Quantum Computing Inc (QUBT)</strong> &#8212; reverse shell acquisition of a defunct beverage company in 2018. Uplisted to Nasdaq Jul 2021. No institutional backing. The odd one out.</p><div><hr></div><h2>The Crash: Four for Four</h2><p><strong>IONQ:</strong> ~$10.60 &#8594; $3.04 (Dec 2022) &#8212; <strong>&#8722;71%</strong>* in ~15 months<br><strong>RGTI:</strong> ~$9.75 &#8594; $0.36 (May 2023) &#8212; <strong>&#8722;96%</strong> in ~14 months<br><strong>QBTS:</strong> ~$9.00 &#8594; $0.40 (May 2023) &#8212; <strong>&#8722;96%</strong> in ~9 months<br><strong>QUBT:</strong> ~$6&#8211;8 &#8594; sub-$1 (~2023) &#8212; <strong>&#8722;85%+</strong> in ~18 months</p><p><em>*IONQ hit $31 in its first month from retail hype &#8212; from that high, &#8722;90%.</em></p><p>The bottoms clustered within a five-month window (Dec 2022 to May 2023). Three different listing dates. Three different SPAC structures. One shared destination. The drivers: SPAC lock-up expiries triggering ~$926M in insider selling across the four names, dilution from cash-starved companies, the 2022 rate hiking cycle, and the reality check of quarterly earnings.</p><div><hr></div><h2>The Recovery: Multi-Thousand Percent</h2><p><strong>IONQ:</strong> $3.04 &#8594; $84.64 (<strong>+2,700%</strong>)<br><strong>RGTI:</strong> $0.36 &#8594; $58.15 (<strong>+16,000%</strong>)<br><strong>QBTS:</strong> $0.40 &#8594; $46.75 (<strong>+11,500%</strong>)<br><strong>QUBT:</strong> sub-$1 &#8594; $25.84 (<strong>+2,500%+</strong>)</p><p>The post-IPO crash did not reflect the terminal value of these companies. It reflected the mechanics of SPACs, insider selling, and macro timing.</p><div><hr></div><h2>Why Quantinuum Is Different</h2><p>All four existing quantum stocks went public via SPACs or reverse shells. Quantinuum is filing a traditional S-1 with Morgan Stanley and JPMorgan. No trust redemptions, no sponsor promotes, no SPAC arb desks. Honeywell retains ~54% ownership with no near-term exit need.</p><p>The fundamentals gap is enormous:</p><p><strong>Revenue (at IPO):</strong> IONQ ~$2M | RGTI ~$8M | QBTS ~$7M | <strong>Quantinuum ~$115M (est.)</strong><br><strong>Valuation:</strong> IONQ $2B | RGTI $1.5B | QBTS $1.6B | <strong>Quantinuum ~$20B+</strong><br><strong>Employees:</strong> IONQ ~100 | RGTI ~144 | QBTS ~180 | <strong>Quantinuum 600+</strong><br><strong>Quantum Volume:</strong> IONQ 32 qubits* | RGTI N/A | QBTS N/A | <strong>Quantinuum 33.5 million</strong><br><strong>2-Qubit Gate Fidelity:</strong> IONQ ~97% | RGTI ~99% | QBTS N/A | <strong>Quantinuum 99.9%</strong><br><strong>Backing:</strong> all SPACs | <strong>Honeywell (54%), $1.2B+ raised, Traditional S-1</strong></p><p><em>*IonQ had a 32-qubit system. IonQ claimed QV of 4 million (disputed). Quantinuum&#8217;s H2 achieved a verified QV of 2^25 = 33.5 million.</em></p><p>At the time of their IPOs, IonQ, Rigetti, and D-Wave had a combined $17M in revenue. Quantinuum is listing with an estimated ~$115M (the exact figure will be disclosed in the S-1) &#8212; a fundamentally different starting point. That said, the gap has narrowed: IonQ alone now guides for ~$108M in FY2025 revenue. The comparison that matters is at listing, where Quantinuum enters with 7x the revenue its peers had when they went public. Microsoft used the H2 to create logical qubits running 14,000 experiments with zero errors. This is not vaporware.</p><p>These differences should moderate the post-IPO decline. But they won&#8217;t eliminate it.</p><div><hr></div><h2>The Playbook</h2><p><strong>1. Don&#8217;t buy the open.</strong> In every quantum listing, buying day one was a losing trade for at least 6&#8211;12 months. Even with a better IPO structure, the pattern of post-IPO fades in large tech IPOs is strong.</p><p><strong>2. Watch the lock-up expiry.</strong> Traditional IPOs typically impose 90&#8211;180 day lock-ups on pre-IPO shareholders. When insiders become eligible to sell, it creates a supply overhang. The terms will be in the prospectus &#8212; mark the date on your calendar.</p><p><strong>3. Use the 20-day moving average.</strong> Long above it, flat below it. This filter had Sharpe 2.07 across the existing quantum names.</p><p><strong>4. Buy crash reversals.</strong> When any quantum stock drops 20%+ in 1&#8211;3 days, it bounces 66&#8211;82% of the time. This is driven by market microstructure and retail panic, not company-specific factors &#8212; it should generalize to Quantinuum from day one.</p><p><strong>5. Watch the sector.</strong> Quantinuum&#8217;s IPO will bring new capital and attention. If it succeeds, the IONQ/RGTI/QBTS/QUBT complex rallies in sympathy. If it fails, they get dragged down.</p><div><hr></div><h2>The Bottom Line</h2><p>Every quantum stock has crashed 90%+ from its highs post-IPO, then recovered thousands of percent. Quantinuum is structurally different &#8212; traditional IPO, Honeywell anchor, 10x revenue, best hardware. The most likely outcome is a 30&#8211;50% fade over 3&#8211;6 months before finding a floor.</p><p>The optimal strategy: <strong>don&#8217;t buy the open, wait for the fade, apply the 20-day moving average filter, and buy the crash reversals when they come.</strong> Patience has been the single most profitable edge in quantum stocks. Quantinuum won&#8217;t be different.</p><div><hr></div><p><em>Follow-up to <a href="https://delphicalpha.substack.com/p/i-analyzed-4700-days-of-quantum-computing">&#8220;I Backtested 37 Strategies on Every Quantum Computing Stock (2017&#8211;2024)&#8221;</a> Quantinuum IPO information based on public filings and Honeywell press releases. S-1 filed confidentially January 14, 2026. No date, price range, or share count disclosed. This is not financial advice.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/i-analyzed-4700-days-of-quantum-computing">I Backtested 37 Strategies on Every Quantum Computing Stock (2017&#8211;2024)</a> &#8212; 37 strategies backtested on quantum computing stocks</p></li></ul>]]></content:encoded></item><item><title><![CDATA[I Backtested 37 Strategies on Every Quantum Computing Stock (2017–2024)]]></title><description><![CDATA[Most of it was noise. Four results survived across regimes.]]></description><link>https://delphicalpha.substack.com/p/i-analyzed-4700-days-of-quantum-computing</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/i-analyzed-4700-days-of-quantum-computing</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Sat, 07 Feb 2026 08:00:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post documents a full-universe backtest using only public data, with results broken down year-by-year to isolate what actually held up.</p><p>Quantum computing stocks are the most volatile corner of the US equity market. Daily standard deviations of 500&#8211;3,500 basis points. Kurtosis values up to 27. Single-day moves that would take the S&amp;P 500 a year to produce.</p><p>Everyone has an opinion on these names. Few have data.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>I ran an exhaustive pattern analysis across four publicly traded quantum computing companies &#8212; IonQ (IONQ), Quantum Computing Inc (QUBT), Rigetti (RGTI), and D-Wave (QBTS) &#8212; on daily bars from each stock&#8217;s listing through end of 2025. QUBT has data back to mid-2018. IONQ from 2021. RGTI and QBTS from 2022. The stocks have lived through radically different market regimes, and the patterns have evolved accordingly.</p><p>Here&#8217;s what I found.</p><div><hr></div><h2>Finding 1: IONQ Led the Sector &#8212; In 2024. Not Before, Not After.</h2><p>IONQ&#8217;s daily return <strong>predicts next-day returns in QUBT and QBTS</strong> &#8212; but only in certain years. When I break the lead-lag correlation down year by year, a different picture emerges from the aggregate statistics.</p><p><strong>IONQ &#8594; QUBT next-day correlation, by year:</strong></p><ul><li><p><strong>2021:</strong> r = 0.051, p = 0.423 &#8212; noise</p></li><li><p><strong>2022:</strong> r = 0.094, p = 0.136 &#8212; noise</p></li><li><p><strong>2023:</strong> r = 0.088, p = 0.163 &#8212; noise</p></li><li><p><strong>2024:</strong> r = <strong>0.250</strong>, p = 0.0001 &#8212; <strong>3x stronger than any prior year</strong></p></li><li><p><strong>2025:</strong> r = 0.001, p = 0.988 &#8212; completely gone</p></li></ul><p>The contagion effect tells the same story. When IONQ had a top-10% up day, what happened to QUBT the next day?</p><ul><li><p><strong>2021:</strong> +175 basis points next day, 44% hit rate</p></li><li><p><strong>2022:</strong> &#8722;22 basis points, 46% hit rate</p></li><li><p><strong>2023:</strong> +103 basis points, 44% hit rate</p></li><li><p><strong>2024:</strong> <strong>+1,102 basis points, 65% hit rate</strong> &#8212; extraordinary</p></li><li><p><strong>2025:</strong> &#8722;19 basis points, 44% hit rate &#8212; back to noise</p></li></ul><p>In 2024, when IONQ had a top-10% up day, QUBT averaged <strong>+1,102 basis points the next day with a 65% hit rate</strong>. That&#8217;s an extraordinary signal. But it was a product of the 2024 quantum mania &#8212; when the entire sector went parabolic and retail attention was at peak. In 2025, the daily close-to-close effect has essentially disappeared.</p><p>The aggregate statistics across all years (r=0.108, p=0.0001 across 1,252 observations) are real &#8212; but they&#8217;re driven almost entirely by one year. This is important context for anyone trying to trade this signal going forward.</p><p>That said, the daily picture may not be the whole story. On some of the larger IONQ move days in 2025, anecdotal observation suggests the spillover into QUBT and QBTS still happens &#8212; just faster. This is a common pattern in market microstructure: as more participants discover a lead-lag relationship, the effect doesn&#8217;t disappear entirely &#8212; it compresses in time. What used to take a full trading day to transmit may now play out within hours or even minutes. The daily correlation reads zero because by the close, the move has already been priced in. A proper intraday analysis at 5-minute or 30-minute resolution would be needed to confirm this &#8212; and that will be the subject of a future post.</p><blockquote><p><strong>Lesson:</strong> The IONQ lead-lag was a regime-specific effect on daily bars, not a permanent feature. It worked spectacularly in 2024&#8217;s blow-off rally. It was noise in 2021&#8211;2023 and has vanished from the daily data in 2025. The effect may have migrated to intraday timeframes as market efficiency increased &#8212; but on a close-to-close basis, it&#8217;s gone.</p></blockquote><div><hr></div><h2>Finding 2: Systematic Mean Reversion Is Dead &#8212; But Crashes Still Revert</h2><p>I tested Bollinger Band mean reversion and z-score reversion at multiple lookbacks. On the aggregate data, every systematic mean-reversion strategy loses money. But the <strong>year-by-year picture reveals that mean reversion was profitable in the early years and then died</strong> &#8212; with one important exception.</p><p>QUBT &#8212; the stock I identified as &#8220;the only mean-reverter&#8221; &#8212; shows this evolution most clearly. Its Bollinger Band (20-day window) predictive strength over the next 10 trading days, by year:</p><ul><li><p><strong>2019:</strong> +0.636 &#8212; extreme mean reversion, one of the strongest single-stock signals I&#8217;ve ever measured</p></li><li><p><strong>2020:</strong> +0.185 &#8212; moderate mean reversion</p></li><li><p><strong>2021:</strong> +0.318 &#8212; strong mean reversion</p></li><li><p><strong>2022:</strong> +0.040 &#8212; weak, basically noise</p></li><li><p><strong>2023:</strong> +0.223 &#8212; moderate mean reversion</p></li><li><p><strong>2024:</strong> <strong>&#8722;0.098 &#8212; flipped to momentum</strong></p></li><li><p><strong>2025:</strong> <strong>&#8722;0.101 &#8212; still momentum</strong></p></li></ul><p>From 2019 to 2023, QUBT reliably mean-reverted. But in 2024, the sign flipped. QUBT stopped reverting and started trending &#8212; just like the other three stocks always had.</p><p>The portfolio-level Bollinger Band mean-reversion strategy tells the same story: Sharpe +2.68 in 2018, &#8722;1.50 in 2020, +0.38 in 2022, &#8722;0.86 in 2024, &#8722;0.44 in 2025. Z-score mean reversion at 20-day lookback follows the same pattern: Sharpe +4.71 in 2019 (when QUBT was a strong mean-reverter), then &#8722;1.32 in 2022, &#8722;2.13 in 2024. Mean reversion worked when these stocks were obscure, illiquid, and ignored. Once institutional attention arrived and the sector became a momentum vehicle, systematic mean reversion turned into a money pit.</p><p><strong>But one form of mean reversion survives: extreme crash reversals.</strong></p><p>I tested every combination of: stock &#215; lookback (1&#8211;60 days) &#215; drop threshold (3%&#8211;20%) &#215; forward horizon (1&#8211;40 days). That&#8217;s roughly 2,000 conditions per stock. When a quantum stock drops more than 20% over 1&#8211;3 days, <strong>it bounces 66&#8211;82% of the time</strong>:</p><ul><li><p><strong>RGTI</strong> drops &gt;20% over 2 days &#8594; bounces <strong>82%</strong> of the time over 5 days, average +2,335 basis points (17 events)</p></li><li><p><strong>QUBT</strong> drops &gt;20% in 1 day &#8594; bounces <strong>72%</strong> next day, average +1,522 basis points (29 events)</p></li><li><p><strong>IONQ</strong> drops &gt;20% over 3 days &#8594; bounces <strong>70%</strong> over 10 days, average +1,524 basis points (20 events)</p></li><li><p><strong>QUBT</strong> drops &gt;20% over 2 days &#8594; bounces 66% over 10 days, average +2,170 basis points (38 events)</p></li><li><p><strong>IONQ</strong> drops &gt;7% in 1 day &#8594; bounces 63% next day, average +160 basis points (97 events)</p></li></ul><p>The post-big-drop strategy (buy after a 5th-percentile down day) has Sharpe 0.91 with max drawdown of only &#8722;41K basis points &#8212; the lowest drawdown of any strategy tested.</p><p>Why does systematic mean reversion fail while crash reversals work? Because they operate at different scales. Bollinger Band and z-score strategies trade <em>every</em> oscillation &#8212; the small ones that, in a momentum market, aren&#8217;t actually reversions at all. They&#8217;re just pauses before continuation. Crash reversals, by contrast, only trigger on extreme overshoots &#8212; 20%+ drops in 1&#8211;3 days &#8212; which are violent enough to create genuine reversion even in a trending market. The crashes overshoot regardless of the regime.</p><blockquote><p><strong>Rule:</strong> Don&#8217;t trade systematic mean reversion on quantum stocks &#8212; it died when the sector went mainstream. But use crash reversals as a tactical overlay: when any stock drops &gt;20% in 1&#8211;3 days, buy. Reversal rate: 66&#8211;82%. It fires too rarely to be a core strategy, but when it fires, it&#8217;s reliable &#8212; and it&#8217;s the only form of mean reversion that has worked across every regime in the data.</p></blockquote><div><hr></div><h2>Finding 3: Trend-Following Works &#8212; But Only the Long Side</h2><p>If systematic mean reversion is dead, does trend-following work? I tested two families of strategies. The first is a simple moving average filter: if today&#8217;s closing price is above the N-day moving average, go long; if below, go short. The second is a breakout strategy: go long when the price closes above the N-day high, short when it closes below the N-day low. I tested both at 5, 20, and 120-day lookbacks, and <strong>split each into its long and short components</strong>.</p><p><strong>The long side does all the work. Every short leg loses money.</strong></p><p><strong>Moving average strategies (long Sharpe / short Sharpe / long max drawdown):</strong></p><ul><li><p><strong>120-Day Moving Average:</strong> long Sharpe <strong>2.19</strong>, short &#8722;1.20, max drawdown &#8722;237K basis points</p></li><li><p><strong>20-Day Moving Average:</strong> long Sharpe <strong>2.07</strong>, short &#8722;1.06, max drawdown &#8722;228K basis points</p></li><li><p><strong>5-Day Moving Average:</strong> long Sharpe 1.75, short &#8722;1.44, max drawdown &#8722;218K basis points</p></li></ul><p><strong>Breakout strategies:</strong></p><ul><li><p><strong>5-Day Breakout:</strong> long Sharpe 1.43, short &#8722;0.93, max drawdown &#8722;84K basis points</p></li><li><p><strong>20-Day Breakout:</strong> long Sharpe 1.33, short &#8722;0.49, max drawdown <strong>&#8722;59K basis points</strong></p></li><li><p><strong>120-Day Breakout:</strong> long Sharpe 1.16, short &#8722;0.47, max drawdown <strong>&#8722;50K basis points</strong></p></li></ul><p>But here&#8217;s the catch &#8212; year by year, the pattern is not uniform. Looking at the 20-day moving average strategy (Sharpe, portfolio-level):</p><ul><li><p><strong>2021:</strong> Buy &amp; hold Sharpe +0.12, long +0.46, short +0.35 &#8212; flat year, modest results across the board</p></li><li><p><strong>2022:</strong> Buy &amp; hold <strong>&#8722;2.27</strong>, long &#8722;0.41, short <strong>+2.25</strong> &#8212; <strong>the standout year for shorting</strong></p></li><li><p><strong>2023:</strong> Buy &amp; hold +0.88, long +0.49, short &#8722;0.98 &#8212; recovery begins</p></li><li><p><strong>2024:</strong> Buy &amp; hold <strong>+3.00</strong>, long <strong>+3.01</strong>, short &#8722;0.77 &#8212; blow-off rally</p></li><li><p><strong>2025:</strong> Buy &amp; hold +0.86, long +0.14, short &#8722;1.15 &#8212; continuation</p></li></ul><p><strong>2022 was the standout year for shorting</strong> &#8212; the 20-day moving average short had Sharpe +2.25 as the sector crashed. In 2023&#8211;2025, the short side is consistently negative. This means the combined long/short strategies are essentially dragging a profitable long side through the mud of a losing short side, except during crash years.</p><p>The trend long-only Sharpe tracks the overall market environment: slightly negative in 2022&#8217;s crash, modest in 2023&#8217;s recovery, explosive in 2024&#8217;s rally, muted in 2025. It doesn&#8217;t predict &#8212; it participates. And by going flat instead of short during bear periods, it avoids the worst drawdowns.</p><blockquote><p><strong>Rule:</strong> Use the 20-day moving average <em>long-only</em> as your primary filter. When price is above the 20-day moving average, be long. When below, go flat &#8212; never short. The long side has Sharpe 2.07 overall with max drawdown &#8722;228K (vs &#8722;626K for buy-and-hold). Shorting worked in 2022&#8217;s crash but has been reliably destructive since.</p></blockquote><div><hr></div><h2>Finding 4: How These Stocks Evolved &#8212; A Regime Map</h2><p>The most important thing I learned from this analysis is that <strong>quantum stocks have changed character over time</strong>. No single year looks like any other.</p><p><strong>2018&#8211;2020 (QUBT only).</strong> Buy &amp; hold Sharpe: 1.2&#8211;1.8. What worked: mean reversion (signal strength 0.64 in 2019), buy-and-hold. What failed: trend-following (too illiquid).</p><p><strong>2021 (IONQ, QUBT, RGTI join).</strong> Buy &amp; hold Sharpe: +0.12. What worked: mean reversion (Bollinger Band Sharpe +2.68 in 2018&#8211;2019 era). What failed: everything else &#8212; it was a flat year.</p><p><strong>2022 (all four stocks).</strong> Buy &amp; hold Sharpe: <strong>&#8722;2.27</strong>. What worked: <strong>shorting (Sharpe +2.25) &#8212; the standout year</strong>. What failed: buy-and-hold, trend long.</p><p><strong>2023 (all four).</strong> Buy &amp; hold Sharpe: +0.88. What worked: trend long (modest). What failed: mean reversion (breaking down).</p><p><strong>2024 (all four).</strong> Buy &amp; hold Sharpe: <strong>+3.00</strong>. What worked: <strong>trend long (Sharpe +3.01), IONQ lead-lag</strong>. What failed: <strong>mean reversion (Sharpe &#8722;0.86), shorting</strong>.</p><p><strong>2025 (all four).</strong> Buy &amp; hold Sharpe: +0.86. What worked: trend long (+0.14, barely). What failed: mean reversion (&#8722;0.44), IONQ lead-lag (gone), shorting (&#8722;1.15).</p><p>The story arc is clear:</p><p><strong>2018&#8211;2021: The Mean Reversion Era.</strong> When QUBT was the only name and the sector was unknown, stocks overreacted and corrected. QUBT&#8217;s Bollinger Band signal strength of 0.636 in 2019 (measured over 10-day forward returns) is one of the strongest single-stock signals I&#8217;ve ever measured. Mean reversion was the dominant regime. Volatility was high (QUBT daily standard deviation: 3,551 basis points in 2018) but the market was small and inefficient.</p><p><strong>2022: The Crash.</strong> The sector lost massively. Buy-and-hold Sharpe: &#8722;2.27. This was the standout year for shorting (20-day moving average short Sharpe: +2.25). Mean reversion started breaking down. Volatility moderated as the stocks matured.</p><p><strong>2023: The Transition.</strong> Returns came back, but the character had shifted. Mean reversion no longer worked reliably. Momentum signal strength was near zero. This was the transition year between the old regime (mean reversion works) and the new one (trend dominates).</p><p><strong>2024: The Blow-Off.</strong> Everything changed. Buy-and-hold Sharpe: +3.00. IONQ&#8217;s lead-lag surged to r=0.250. Systematic mean reversion was catastrophic (Sharpe &#8722;0.86 to &#8722;2.13). Trend long-only delivered Sharpe +3.01. This was a momentum mania driven by AI/quantum hype and retail inflows.</p><p><strong>2025: The New Normal?</strong> Returns moderated but stayed positive (buy-and-hold Sharpe +0.86). Trend long-only barely positive (+0.14). The IONQ lead-lag signal vanished completely (r=0.001). Mean reversion remains negative. The sector has cooled from the 2024 mania, but hasn&#8217;t returned to its pre-2024 character.</p><blockquote><p><strong>Lesson:</strong> Any analysis of quantum stocks that presents one set of statistics across the full period is misleading. The market has gone through at least three distinct regimes. What worked in 2019&#8211;2021 (mean reversion) is now catastrophic. What works in 2024 (trend long-only) barely registered in 2025. The only constant: <strong>crash reversals work in every regime</strong>.</p></blockquote><div><hr></div><h2>The Bottom Line</h2><p>These stocks have evolved from mean-reverting oddities to momentum vehicles. The regime keeps changing, and the strategies that work change with it. Three things survive: go long above the 20-day moving average and flat below it, buy crashes over 20%, and never short.</p><div><hr></div><p><em>Analysis performed using daily bars from mid-2018 through December 2025 &#8212; 4,737 stock-days across four symbols. QUBT: Jul 2018&#8211;Dec 2025. IONQ: Jan 2021&#8211;Dec 2025. RGTI: Mar 2022&#8211;Dec 2025. QBTS: Aug 2022&#8211;Dec 2025. Bollinger Bands tested at 10 windows (5&#8211;120 days). Z-score reversion tested at 7 lookbacks (1&#8211;120 days). Moving average crossover and breakout trend-following at 3 horizons, decomposed into long-only and short-only. Conditional reversals tested at 6 thresholds &#215; 8 lookbacks &#215; 5 forward horizons per stock. 37 strategies backtested. Year-by-year regime analysis across all key metrics.</em></p><p><em>This is not financial advice. Past performance does not guarantee future results. These are small-cap, high-volatility stocks with limited history. The regime shifts documented here underscore that future behavior may differ from any historical period.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/every-quantum-stock-crashed-90-after">Every Quantum Stock Crashed 90%+ After Its IPO. Here&#8217;s What That Means for Quantinuum.</a> &#8212; Quantinuum IPO analysis via quantum stock history</p></li><li><p><a href="https://delphicalpha.substack.com/p/reference-guides-regime-detection">Reference Guides - Regime Detection</a> &#8212; HMM, change-point detection, and regime-aware trading</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Cross-Exchange Crypto Arbitrage: Spot, Perps, and Why Price Differences Don’t Mean Free Money]]></title><description><![CDATA[BTC is $60,020 on Binance and $60,080 on Bybit. That&#8217;s $60 of free money per coin, right? No]]></description><link>https://delphicalpha.substack.com/p/cross-exchange-crypto-arbitrage-spot</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/cross-exchange-crypto-arbitrage-spot</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Thu, 05 Feb 2026 12:38:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At some point, every crypto trader stares at two price feeds side by side and has the same thought: &#8220;I could just buy here and sell there.&#8221; The price difference is right there on the screen. It&#8217;s real. It&#8217;s measurable. And the napkin math makes it look like printing money.</p><p>It isn&#8217;t. And the reasons why are more interesting than the trade itself.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>I want to start with the thing that most discussions of crypto arb skip over entirely &#8212; the fungibility problem &#8212; because once you understand it, everything else clicks into place.</p><div><hr></div><h2>The Fungibility Problem</h2><p>Here&#8217;s the thing nobody talks about: <strong>$1 of BTC on Binance is not the same thing as $1 of BTC on Coinbase.</strong> Not right now, not in any practical sense. You can&#8217;t instantly swap one for the other. And that breaks arbitrage at its root.</p><p>Think about how this works in stocks. AAPL trades at $190.00 on NYSE and $190.05 on NASDAQ. A <a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">market maker</a> buys on NYSE, sells on NASDAQ, pockets the nickel. Why doesn&#8217;t fungibility kill this trade? Because NYSE and NASDAQ are just matching engines &#8212; they don&#8217;t hold the shares. All equity trades clear and settle through a single post-trade stack: NSCC nets the obligations, DTC holds the ownership record. Buy on NYSE, sell on NASDAQ, both trades flow into the same system. Shares are fungible <em>by construction</em> &#8212; not because stocks are special, but because the plumbing was built to make them that way.</p><p>Now here&#8217;s the ironic part: the blockchain <em>is</em> a shared ledger. BTC has exactly the kind of canonical record that makes fungibility work. But crypto exchanges don&#8217;t settle trades on that shared ledger &#8212; they settle internally, on their own private databases. Binance runs its own books. Coinbase runs its own books. The blockchain only gets involved when you withdraw. So the shared ledger exists, but it&#8217;s the slow, expensive escape hatch, not the settlement layer.</p><pre><code>                    Equities              Crypto
Trades clear:      Centrally (NSCC)      Per-venue
Ownership:         One place (DTC)       Per exchange
Settlement:        Netted, T+1           Gross, slow, on-chain
Credit risk:       Mutualized            Isolated per exchange
Fungibility:       Immediate             Delayed and conditional
</code></pre><p>Traditional finance spent decades building plumbing to make this seamless &#8212; central clearing, prime brokers, delivery-versus-payment settlement. Crypto has none of it. There are companies working on it (Copper ClearLoop, Fireblocks, Ceffu) but even a perfect crypto prime broker wouldn&#8217;t fully solve the problem: on-chain settlement is slow and unpredictable, every exchange carries different credit risk (your balance is an unsecured loan to that exchange), and transfer times depend on gas, congestion, and the exchange&#8217;s mood. The tradfi analog? Imagine cross-venue equity arb, but DTCC doesn&#8217;t exist, your prime broker might go bankrupt (see: FTX), and moving shares takes 30 minutes on a good day. That&#8217;s crypto &#8212; permanently operating in what tradfi would consider a crisis regime.</p><p>So you&#8217;re left with two options: <strong>pre-position inventory on both sides</strong> (keep BTC and USD on every exchange, trade without moving anything), or <strong>actually transfer coins</strong> (buy here, send there, sell &#8212; way too slow for any spread that matters on major pairs). Everyone serious uses option 1.</p><blockquote><p><strong>Bottom line:</strong> Crypto has a shared ledger but doesn&#8217;t use it for settlement. Every exchange is its own silo. You can&#8217;t move value between them fast enough to arb efficiently &#8212; so you have to park capital on every venue and hope it doesn&#8217;t drift out of balance (or worse, that the exchange doesn&#8217;t go under with your money on it).</p></blockquote><div><hr></div><h2>Spot Arbitrage</h2><p>The simplest version of the trade. BTC is cheaper on one exchange, more expensive on another. Buy low, sell high.</p><h3>Transfer-based: doesn&#8217;t work</h3><pre><code>Coinbase BTC:  $60,000
Binance BTC:   $60,120
Spread:        $120 (20 bps)

Buy on Coinbase, withdraw, deposit on Binance, sell. Easy, right?

Coinbase buy fee (0.10%):          -$60
Withdrawal fee (~0.0005 BTC):      -$30
Network fee:                        -$5
Binance sell fee (0.10%):          -$60
                                   -----
Total cost:                        ~$155
Spread:                             $120
Net:                                -$35

Oh, and this assumes the spread is still there when your BTC
arrives 30 minutes later. It won&#8217;t be.
</code></pre><p>For major pairs on major exchanges, transfer-based spot arb is dead. Maybe you can still find it on obscure tokens with big dislocations &#8212; if you trust the exchange to let you withdraw.</p><h3>Inventory-based: possible, but harder than it looks</h3><p>Keep BTC and stables on every exchange. When a spread appears, buy on the cheap side and sell on the expensive side simultaneously. No transfer needed.</p><pre><code>You have:
  Coinbase:  0.5 BTC + $30,000 USDC
  Binance:   0.5 BTC + $30,000 USDT

Spread pops up: Coinbase $60,000 / Binance $60,080

Buy 0.1 BTC on Coinbase at $60,005 (ask)
Sell 0.1 BTC on Binance at $60,075 (bid)
Gross: $7.00

Fees:
  Coinbase taker (0.10%): $6.00
  Binance taker (0.04%):  $2.40
                          -----
Net: -$1.40

Still negative. You need 14+ bps of spread to break even at taker fees.
That exists maybe 2-5% of the time on BTC between major exchanges.
</code></pre><p>The firms that actually make money here aren&#8217;t paying taker fees &#8212; they&#8217;re <em>collecting</em> maker rebates at VIP tiers (Coinbase -0.02%, Binance -0.01%). At those rates you earn $1.80 in rebates on top of whatever spread you capture, and your break-even spread is basically zero. This is the dirty secret of spot arb: the profitable firms are running a market-making operation that happens to hedge cross-exchange. The &#8220;arb&#8221; is almost incidental to the rebate income.</p><p>Even then, there&#8217;s a slow bleed. If Coinbase is consistently the cheap exchange, all your BTC drifts there and all your dollars drift to Binance. Eventually you have to rebalance &#8212; send BTC one way, stables the other. That&#8217;s 30 minutes offline minimum, gas costs, and the whole time you can&#8217;t trade. Every arb backtest ignores this. In practice, rebalancing cost and downtime eat a real chunk of returns.</p><blockquote><p><strong>Spot arb in one sentence:</strong> Transfer-based is dead on major pairs (costs &gt; spread). Inventory-based is negative at taker fees (need 14+ bps). The people making money are collecting maker rebates at VIP tiers &#8212; they&#8217;re market-making, not arbitraging.</p></blockquote><div><hr></div><h2>Perp Spread Arbitrage</h2><p>Same concept, different instrument. BTC-PERP trades at $60,020 on Binance and $60,080 on Bybit. Go long the cheap one, short the expensive one, wait for convergence. At least your margin stays on each exchange &#8212; no transfers needed. But you get a different set of problems.</p><p>Perps diverge across exchanges because the venues are genuinely different: different user bases and leverage appetites, different index compositions, different liquidation engines (a cascade on Binance doesn&#8217;t directly move Bybit), different funding intervals (Binance 8h, Hyperliquid 1h). These aren&#8217;t bugs &#8212; they&#8217;re structural features of fragmented markets.</p><h3>The math</h3><pre><code>Binance BTC-PERP mid:  $60,020
Bybit BTC-PERP mid:    $60,080
Spread: 10 bps

Buy Binance, sell Bybit. Captured spread: $50 on 1 BTC.
Taker fees: 0.04% x $60k x 2 legs = $48
Net on entry: $2. Grand.

Now the spread converges to 0 and you close:
  Exit fees: another $48
  Round-trip total: $50 - $48 - $48 = -$46

You lost money on a trade where the spread moved in your favor.
You need 16+ bps to even break even. On BTC, between
major exchanges, in normal conditions? That&#8217;s rare.
</code></pre><h3>The risks</h3><p>On top of the fees problem, you&#8217;re holding opposite perp positions on two exchanges. <strong>No margin portability</strong> &#8212; spread widens, one leg bleeds margin while the other accumulates it, and you can&#8217;t move capital between exchanges fast enough to matter. <strong>Asymmetric liquidation</strong> &#8212; if the spread blows out far enough (50-100+ bps during cascades), one leg gets liquidated and you&#8217;re sitting on a naked directional position during a crash. <strong>Non-simultaneous exit</strong> &#8212; two APIs, two matching engines, public internet. In a fast market, the spread moves between your two fills.</p><p>And unlike spot spreads, which are loosely bounded by transfer costs, perp-perp spreads have no natural boundary. They gap violently during exchange-specific events &#8212; API outages, insurance fund depletion, flash crashes on one venue.</p><blockquote><p><strong>Perp arb in one sentence:</strong> You need 16+ bps just to break even at taker fees &#8212; and while you wait for convergence, you&#8217;re exposed to asymmetric liquidation across two exchanges that can&#8217;t talk to each other. The &#8220;hedged&#8221; position is two independent bets on two independent counterparties.</p></blockquote><div><hr></div><h2>What&#8217;s Actually Behind These Price Differences</h2><p>Not all spreads are created equal. Some you can trade. Some you can&#8217;t. Some aren&#8217;t even real.</p><p><strong>Temporary dislocations</strong> &#8212; these mean-revert and are what arb traders hunt. A whale market-sells 500 BTC on Binance, pushing it down $50 vs other exchanges. News hits one exchange&#8217;s feed before another. A liquidation cascade on one venue drives its price away from the pack. These are real opportunities, but they require speed &#8212; the millisecond kind, not the &#8220;check the screen&#8221; kind.</p><p><strong>Structural dislocations</strong> &#8212; these persist but usually can&#8217;t be arbed. The Kimchi premium (Korean exchanges trading 3-5% higher) requires Korean banking access. An exchange quoting in USDT vs actual USD &#8212; that&#8217;s a stablecoin bet, not a BTC arb. An exchange restricting withdrawals can diverge persistently because nobody can arb it.</p><p><strong>Fake dislocations</strong> &#8212; your API data is 200ms stale, so you see a spread that&#8217;s already closed. The bid on exchange B is 0.1 BTC deep &#8212; meaningful for a toy position, not for real size. Exchange A shows a lower price but charges 0.10% while exchange B shows higher but charges 0.02%. After fees, there&#8217;s no spread. A lot of what looks like &#8220;arb&#8221; on aggregator dashboards falls into this bucket.</p><div><hr></div><h2>When It Actually Makes Money</h2><blockquote><p>The people who make this work treat it as an <strong>infrastructure business</strong>, not a trade.</p><p><strong>Maker rebates are the actual product.</strong> At VIP tiers you earn 1-2 bps per fill instead of paying 4. The arb logic is your hedging strategy. Most profitable cross-exchange desks are really running distributed market-making.</p><p><strong>Speed is table stakes.</strong> Co-located servers, dedicated connections, single-digit millisecond execution. If you&#8217;re running this from a home connection through the REST API, you&#8217;re seeing ghosts &#8212; the spread is gone by the time your order hits.</p><p><strong>Inventory management is the hard part.</strong> Automated rebalancing across chains (Tron for USDT, Solana for USDC, Ethereum as fallback). Quoting algorithms that skew prices to naturally rebalance &#8212; heavy BTC on Coinbase? Quote your Coinbase asks more aggressively.</p><p><strong>One pair won&#8217;t do it.</strong> Run 10-20 liquid pairs across 3-5 exchanges. Any single pair is thin and noisy. In portfolio, the returns smooth out.</p><p><strong>Risk limits that actually trigger.</strong> Max inventory per exchange under 15% of capital. Auto-flatten if an exchange starts acting weird. If you don&#8217;t automate this, you&#8217;ll learn why you should have during the next exchange-specific event.</p><p><strong>Scale or don&#8217;t bother.</strong> Infra costs six figures a year. At $100k capital, you can&#8217;t cover costs. At $5M+, thin margins start compounding to real numbers.</p><p>Under all these conditions, net returns land around <strong>10-30% annualized</strong> with Sharpe ratios of 3-6. But it&#8217;s a technology business that happens to express itself through trading, not a &#8220;strategy&#8221; you run from a laptop.</p></blockquote><div><hr></div><h2>So What&#8217;s the Spread Actually Telling You?</h2><p>When you see BTC at $60,020 on one exchange and $60,080 on another, you&#8217;re not looking at free money. You&#8217;re looking at a price &#8212; the market-clearing price of settlement risk, counterparty risk, and execution latency.</p><p>That $60 gap is what it costs the market to not have a shared settlement layer. Someone with the right infrastructure, fee tier, and speed can capture a portion of it. For everyone else, it&#8217;s a number on a screen that looks a lot more capturable than it is.</p><div><hr></div><p><em>Disclaimer: Educational content, not financial advice. Crypto trading involves substantial risk of loss. Cross-exchange strategies carry counterparty, settlement, and execution risks. Past returns don&#8217;t guarantee future results.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><div><hr></div><h3>Related Articles</h3><ul><li><p><a href="https://delphicalpha.substack.com/p/building-a-production-grade-data">Building a Production-Grade Data Streamer for Hyperliquid</a> &#8212; Real-time WebSocket data pipeline for Hyperliquid</p></li><li><p><a href="https://delphicalpha.substack.com/p/what-is-market-making-the-spread">Building a Market-Maker on Hyperliquid &#8212; Part I: Theory</a> &#8212; The economics of market making and the spread</p></li><li><p><a href="https://delphicalpha.substack.com/p/crypto-orderflow-alpha-report-feb">Crypto Orderflow Alpha Report &#8212; Feb 2026</a> &#8212; Order book signals and microstructure, February 2026</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Reference Guides - Fill Probability Models]]></title><description><![CDATA[From First Principles to Partial Fills]]></description><link>https://delphicalpha.substack.com/p/fill-probability-models</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/fill-probability-models</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Mon, 12 Jan 2026 16:49:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One of the most fundamental questions in market microstructure is:</p><p><strong>If I post a limit order, what is the probability it gets filled?</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>This question governs spread capture, adverse selection, and ultimately PnL.<br>Fill probabili&#8230;</p>
      <p>
          <a href="https://delphicalpha.substack.com/p/fill-probability-models">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Regression Methods Every Quant Should Know: Math, Insights, and Debugging]]></title><description><![CDATA[Part I &#8212; Theory and first principles under real market conditions]]></description><link>https://delphicalpha.substack.com/p/regression-methods-every-quant-should</link><guid isPermaLink="false">https://delphicalpha.substack.com/p/regression-methods-every-quant-should</guid><dc:creator><![CDATA[oracle]]></dc:creator><pubDate>Thu, 25 Dec 2025 06:40:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ktl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbee261f-1963-4880-a3c7-78377d10694f_608x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>1. Ordinary Least Squares (OLS)</h3><p><strong>Formula:</strong></p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\hat{\\beta} = (X^\\top X)^{-1} X^\\top y&quot;,&quot;id&quot;:&quot;RSJDMIJIAD&quot;}" data-component-name="LatexBlockToDOM"></div><p><strong>Use Case:</strong> Estimating betas, running Fama&#8211;French regressions, quick factor tests, small sized alpha fitting.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://delphicalpha.substack.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">Delphic Alpha is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscri&#8230;</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>
          <a href="https://delphicalpha.substack.com/p/regression-methods-every-quant-should">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>