<script data-pm-proxy="intercept"></script><?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[Systematically Biased]]></title><description><![CDATA[Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.]]></description><link>https://systematicallybiased.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Sj04!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png</url><title>Systematically Biased</title><link>https://systematicallybiased.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 02 Sep 2026 05:41:29 GMT</lastBuildDate><atom:link href="/__u/systematicallybiased.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Systematically Biased]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[systematicallybiased@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[systematicallybiased@substack.com]]></itunes:email><itunes:name><![CDATA[Systematically Biased]]></itunes:name></itunes:owner><itunes:author><![CDATA[Systematically Biased]]></itunes:author><googleplay:owner><![CDATA[systematicallybiased@substack.com]]></googleplay:owner><googleplay:email><![CDATA[systematicallybiased@substack.com]]></googleplay:email><googleplay:author><![CDATA[Systematically Biased]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Paper Explainer: Empirical Asset Pricing via Machine Learning (2020, RFS)]]></title><description><![CDATA[A video explainer of a seminal paper on machine learning for stock return prediction]]></description><link>https://systematicallybiased.substack.com/p/paper-explainer-empirical-asset-pricing-b79</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/paper-explainer-empirical-asset-pricing-b79</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Tue, 11 Aug 2026 10:16:49 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/210731761/36a0e180f6b0b4b2d1d9f5f03bac798e.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>I posted this originally as an article, but then I realized that the video can&#8217;t easily be restacked, so I&#8217;m publishing it a second time as a video to see what happens&#8230;</p><div><hr></div><p>After a short break to escape the scorching European summer, I&#8217;m back to, well, another heatwave in Europe.</p><p>I&#8217;ve been experimenting with a new format, learning how to make videos with <a href="https://www.remotion.dev/">Remotion</a>.<a href="/__u/systematicallybiased.substack.com/p/paper-explainer-empirical-asset-pricing#footnote-1"><span>1</span></a> This piece is a short video explainer of the influential paper &#8220;Empirical Asset Pricing via Machine Learning&#8221;, by Gu, Kelly, and Xiu, published in 2020 on the Review of Financial Studies. The paper is freely available <a href="https://academic.oup.com/rfs/article-pdf/33/5/2223/33209812/hhaa009.pdf">here</a>.</p><p>I made this first one in a vertical format for easy viewing on mobile, but I plan to test other formats to see what works best.</p><p>Hope you enjoy!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>]]></content:encoded></item><item><title><![CDATA[Small Investors and Substack Financial Advice]]></title><description><![CDATA[Should small investors follow investment advice from Finance Substack?]]></description><link>https://systematicallybiased.substack.com/p/small-investors-and-substack-financial</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/small-investors-and-substack-financial</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Tue, 14 Jul 2026 16:06:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wDwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Finance Substack has become a meaningful paid-content business. Many accounts now sell investment-related material, from market commentary to stock picks, from deep dives into individual companies to model portfolios and systematic strategies. High-profile market research on Substack can <a href="https://www.ft.com/content/04b57c60-08b6-432b-8076-a3da0acebf4c?">move markets</a>, with top accounts charging from $50 to $100 per month, while smaller accounts aimed more clearly at retail investors often charge from $5 to $25.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> </p><p>In this post, I take a look at what this means for small investors. I focus on practical questions such as accountability, suitability, implementation, and cost. I should preface that many<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> of the accounts that sell this content mean well and are run by competent people who have a solid understanding of their craft. These people have invested their time and resources to develop their investment approaches and have used them to compound their wealth, and want to help others do the same (for a fee).  But this doesn&#8217;t automatically mean that following their strategies is the right approach for a given individual investor. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>Regulated or Not?</h1><p>The <a href="https://www.sec.gov/about/offices/oia/oia_investman/rplaze-042012.pdf">SEC definition</a> of an investment adviser is as follows:<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><blockquote><p><em>[&#8230;] any person or firm that:</em></p><ul><li><p><em>for compensation;</em></p></li><li><p><em>is engaged in the business of;</em></p></li><li><p><em>providing advice to others or issuing reports or analyses regarding securities.</em></p></li></ul></blockquote><p>The person in question must satisfy all three elements to be considered an investment adviser. The third element is where many finance Substacks enter the grey zone, as &#8220;advising others about securities&#8221; encompasses things like: </p><ul><li><p>advice about market trends;</p></li><li><p>providing a selective list of securities;</p></li><li><p>advice about asset allocation.</p></li></ul><p>In sum, writers selling access to security recommendations, model portfolios, buy/sell alerts, private communities, or &#8220;copy my portfolio&#8221; content while relying on generic &#8220;not investment advice&#8221; disclaimers could, in principle, fall within the scope of the definition. </p><p>However, there are important exceptions under U.S. securities law. The most relevant in this context is the publisher&#8217;s exclusion, which applies to newspapers, magazines and financial publications. To qualify, the publication must be general and impersonal, bona fide/disinterested rather than promotional, and not timed to specific market activity. As an example, a federal U.S. court <a href="https://www.gtlaw.com/en/insights/2024/8/no-need-for-seeking-alpha-to-seek-registration">dismissed</a> a proposed class action accusing Seeking Alpha of acting as an unregistered investment adviser, ruling that the publisher&#8217;s exclusion applied to Seeking Alpha.  </p><p>Recent cases like the <a href="https://www.citriniresearch.com/p/2028gic">Citrini post</a> that seems to have significantly moved markets have sparked a debate about regulation of financial research for profit on Substack. Mark Rubinstein wrote in the <a href="https://www.ft.com/content/04b57c60-08b6-432b-8076-a3da0acebf4c?">FT</a> at the time: </p><blockquote><p><em>Markets have always found their way around the structures regulators build, and research is no different. Citrini is just the most dramatic expression of where that migration ends up: market-moving distribution with zero disclosure architecture. Nobody reads the disclaimers anyway. In a world where everything is entertainment, who wants to be slowed down by six pages of small print?</em></p></blockquote><p>In the FT article, Rubinstein reports that the UK&#8217;s Financial Conduct Authority (FCA), the main conduct regulator for UK financial services, <a href="https://www.fca.org.uk/news/press-releases/fca-leads-international-crackdown-illegal-finfluencers">took criminal action</a> against finfluencers (a truly hideous word) who &#8220;tout products or services illegally and without authorisation through online videos and posts, where they use the pretence of a lavish lifestyle, often falsely, to promote success.&#8221; This suggests that regulators are willing to draw a line, but the most obvious targets are closer to unscrupulous finfluencers than to bona fide publications. </p><p>Overall, as long as the content is not tailored to individual readers, Substack content appears to fall within the publisher&#8217;s exclusion. For fun, I asked AI to generate a visual depicting where a financial publication would fall in this regulatory spectrum. Funnily enough, AI hedged its own risk with a legal disclaimer.  </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wDwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wDwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1294157,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/204635085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wDwg!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faad622cf-a4d1-4d98-92b8-d7db60532a1f_1448x1086.png 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 aria-hidden="true" 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><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 main tension is that there is money to be made in Finance Substack. There are basically no entry barriers, and success can depend as much on marketing as on the quality of the content. This <a href="https://behindthebalancesheet.com/blog/the-substack-gold-rush-whos-winning-and-why/">post</a> gives a nice overview of the business model and the different types of Finance Substack publication. </p><p>Some readers may be reading this and asking &#8220;so what?&#8221;, which is a very valid question. Who cares if a Substack account falls under some regulatory agency&#8217;s definition of adviser? What matters is the value they derive from their paid subscription. That may well be the case for many subscribers, especially buy-side and professional money managers who subscribe to the more expensive research accounts, or individual investors who are financially savvy and know what they&#8217;re getting into. But that is not the case for every reader or subscriber. The main issues are accountability and disclosure. Many accounts are fully anonymous, so you may be getting financial advice from an experienced professional in the industry, or simply an anonymous promoter quietly talking his own book. On the other hand, it could be argued that no one really expects from these accounts the same kind of systematic disclosure, fiduciary, supervisory, and recordkeeping obligations that apply to registered advisers and broker-dealers.</p><div><hr></div><h1>Suitability</h1><p>Broadly speaking, suitability means that a recommended securities transaction or investment strategy is suitable for the customer, based on information obtained through reasonable due diligence to understand the customer&#8217;s investment profile. That is, investment advice doesn&#8217;t exist in a vacuum. In regulated investment advice, this is central to investor-protection regulation, because advisers are supposed to act in line with the best interests of their clients, offering them investment products or strategies that are suitable for them. </p><p>Unless they are operating as registered advisers or otherwise subject to a fiduciary standard, Substack publishers generally do not owe subscribers the kind of fiduciary duty associated with regulated investment advice. The information provided is not usually tailored to any one individual investor. In fact, doing so would arguably move them much closer to the regulatory definition of an investment adviser.</p><p>The suitability question doesn&#8217;t imply anything negative about a Substack account or content. An investment strategy or trade recommendation can be intelligent, well researched, and profitable for the author, yet still be unsuitable for many subscribers. Investors relying on Substack financial content therefore need to do their own research to understand who they&#8217;re following and why. If they&#8217;re paying someone for research or model portfolios/signals, the main question becomes whether the advice being sold makes sense for their own situation. </p><p>A leveraged trend-following strategy, a concentrated small-cap portfolio, or a monthly tactical ETF model may be sensible for one investor and inappropriate for another. Suitability depends on time horizon, liquidity needs, tax situation, risk tolerance, existing holdings, experience, and the investor&#8217;s ability to execute the strategy consistently. A Substack writer usually does not know any of these things about the subscriber.</p><p>In the marketplace of Finance Substack, as elsewhere, investors need to apply a healthy dose of <em>caveat emptor</em>.</p><div><hr></div><h1>Strategies &amp; Implementation</h1><p>Once paid content moves from general research to tradeable signals or model portfolios, the investor faces a second problem: implementation. That is, the subscriber must size positions, trade consistently, manage taxes, and avoid discretionary overrides. There are many different kinds of investment strategies being sold on Substack. I summarize some of the main possibilities below.</p><ul><li><p><strong>General research: </strong>many paid accounts provide general macroeconomic or market insights that are not necessarily actionable. It&#8217;s up to subscribers how they use that information.  </p></li><li><p><strong>Stock picks: </strong>accounts that provide recommendations for individual stocks to buy or sell. Subscribers decide what to act on, how to size positions and execute any trades.</p></li><li><p><strong>Market timing/signals:</strong> strategies that give sporadic signal to go long or short a given instrument. For instance, a &#8220;buy the dip&#8221; model could trigger a signal sporadically, which is sent to subscribers, who then would have to execute trades manually. </p></li><li><p><strong>Model portfolios:</strong> This is probably one of the most common kinds of advice-like paid finance content available on Substack. A typical case is a tactical asset allocation model implemented using ETFs. The publisher provides a target portfolio at a given rebalancing frequency (typically monthly). Some accounts provide example scripts to automate execution, which a DIY-minded systematic investors could adapt and use. </p></li></ul><p>I&#8217;m a big proponent of following a DIY systematic investment approach, which is what I personally do. This does not necessarily mean a complicated quantitative trading system, and does not necessarily require automation. In my view, it&#8217;s better to follow a simple asset allocation that you understand well and can execute consistently, than following some complicated system or trading strategy that you know superficially, or that has some hidden tail risk you&#8217;re not aware of. </p><p>Many tactical asset allocation strategies have decent performance, are easy to implement/execute with ETFs, and are suitable for relatively small accounts. It has never been easier to backtest these strategies, or even to create your own app to automate parts of the investment workflow, from signal generation to execution. I documented my own version of this in a previous series of posts, mostly as an experiment with agentic AI, and it eventually became part of my own investment process. There are many details and pitfalls, but this can be a rewarding journey on its own, with the added benefit that you don&#8217;t need to rely on anyone else to provide you with allocations or signals.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> A good starting point is to read a good book on the topic, such as Robert Carver&#8217;s <a href="https://www.systematicmoney.org/systematic-trading">Systematic Trading</a>. </p><p>Many of the tactical allocation strategies that I see on Substack and elsewhere are variations of a few common themes, such as long-only trend following using simple filters (see for example <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=962461">Faber, 2007</a>) and dual momentum strategies (see <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2042750">Antonacci, 2017</a>). They are not difficult to implement and adapt independently. Many websites also track these kinds of strategies, allowing investors to compare their performance, level of risk etc. </p><p>Assuming that an investor has selected a given investment approach, following it consistently is extremely important. Suppose you spend a lot of time studying how to invest your money. You carefully select the right investment approach that is suitable for your preferences. But then, you do not execute the strategy diligently. Sometimes you forget to rebalance the portfolio, or rebalance differently from your backtest. Other times, you manually change allocations based on gut feeling or a recent post you&#8217;ve read. In this case, you have done only half the work, and your realized performance can no longer be compared cleanly with the strategy&#8217;s backtest or published track record. It would have been better to just follow a passive strategy. </p><p>Although many valid investment approaches can be found on Finance Substack and elsewhere, in my opinion small investors should be particularly careful with the following:</p><ul><li><p><strong>Day trading of any kind</strong>: it is well documented that most day traders lose money, see for example Barber, Lee, Liu, and Odean (<a href="https://www.jstor.org/stable/pdf/30226001.pdf?casa_token=5httWdZVveQAAAAA:WG8ppr5k2WxvSOpjGB9AwFmT9cV5uUBe7DlL4ZYLC-GMsKjaxpQNRq3-SyaYrGizuRxBsFrxo2P6mtyYD5LkSiS4gclkuvRxoh7Mz0gnsvq8wGZ8UfswOg">2009</a>, <a href="https://escholarship.org/content/qt7k75v0qx/qt7k75v0qx_noSplash_3d906c8711715d87ac95573cda3fbc7d.pdf">2014</a>); <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3423101">Chague, De-Losso, and Giovannetti (2020</a>). </p></li><li><p><strong>Using single-stock trading as a core strategy</strong>: successful stock picking is exceedingly difficult. <a href="https://papers.ssrn.com/sol3/Delivery.cfm?abstractid=2900447">Bessembinder (2018)</a> shows that most individual U.S. stocks underperform one-month Treasury bills over their full sample lifetimes, and that the aggregate wealth creation of the U.S. stock market is concentrated in a very small fraction of firms. For small investors, investing in individual stocks is even more challenging, as the portfolio may not have enough stocks to achieve a decent level of diversification. As the graph below illustrates, adding stocks rapidly reduces idiosyncratic volatility at first, but the benefits flatten out after about 20 stocks. This is not a magic number: a 20-stock portfolio can still be highly concentrated by sector, factor exposure, or position size.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VoOM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 424w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 848w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VoOM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png" width="1456" height="1043" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1043,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:254425,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/204635085?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 424w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 848w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VoOM!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b6c9fa-84ab-418a-82e4-77caa1161763_1798x1288.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Average annual volatility of equally-weighted portfolios with randomly selected U.S. stocks.</figcaption></figure></div><p>It is not impossible to pick stocks successfully, but for small investors this should at most complement a core strategy with diversified exposure. </p></li><li><p><strong>Trend following using futures</strong>: although there&#8217;s a lot of evidence for the performance of trend following, the benefits of this type of strategy really materialize when the number of different contracts is relatively large. A minimum account size for doing this properly is of the order of several hundred thousand dollars. It also requires some sophistication in terms of position sizing, signal generation, and execution.</p></li></ul><div><hr></div><h1>Costs &amp; Benefits</h1><p>The median size for an investment portfolio is not very large. The median value of holdings in the U.S. was about<a href="https://www.sec.gov/data-research/statistics-data-visualizations/us-households-participation-capital-markets"> $53k in 2022</a>. Comparable European figures are harder to define, but euro-area medians for direct risky financial assets are smaller: around <a href="https://www.ecb.europa.eu/pub/pdf/scpsps/ecb.sps46~3563bc9f03.en.pdf">&#8364;10k for listed shares and &#8364;18k for mutual funds</a> among households that hold those assets. This means that costs of any kind can be a significant drag on performance for small investors. Suppose that an investor pays a monthly subscription to a Substack account to have access to a specific investment strategy. Table 1 shows the annualized subscription fee, as a percentage of capital, for different monthly fees and account sizes. The fee can be substantial for smaller accounts. For example, an investor with a &#8364;20k investment account, paying a monthly subscription of &#8364;20, is effectively paying a 1.2% annual fee, which is very expensive. On top of this, we should add transaction costs (slippage and broker fees), which can erode performance further. And that&#8217;s before taxes. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/HbknV/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08adccf6-a836-44b7-84f2-bc087668aba5_1220x948.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1975ba43-4207-4209-b460-21e8095258e6_1220x1156.png&quot;,&quot;height&quot;:744,&quot;title&quot;:&quot;Table 1: Annual fee in % for different levels of account capital&quot;,&quot;description&quot;:&quot;The table shows the annual fee an investor with the capital in the first column would pay based on a monthly fee show on the other columns.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/HbknV/1/" width="730" height="744" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>By adding some cost and turnover assumptions, we can estimate the total cost to the investor. Table 2 shows the total annual cost of running a strategy with a monthly subscription fee of &#8364;25, using transaction-cost assumptions that vary with account size, for different levels of monthly turnover. Even for a &#8364;50k account, the total annual cost can be substantial, up to 1% annually for higher levels of turnover. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/sHt6h/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3747460-96c3-43ea-9af9-5a4176615ab8_1220x636.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3abc7b70-4d16-4caa-981d-032bad54ac2e_1220x756.png&quot;,&quot;height&quot;:376,&quot;title&quot;:&quot;Table 2: Total annual cost in % for different account sizes, monthly subscription fee of&nbsp;&#8364;25&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/sHt6h/2/" width="730" height="376" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>We can also estimate the impact on risk-adjusted returns. For simplicity, let&#8217;s assume a strategy with a Sharpe ratio of 1 before costs.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> I assume that costs reduce expected returns one-for-one and leave volatility unchanged. Table 3 shows the Sharpe ratio net of subscription fee and estimated transaction costs for various account sizes and levels of turnover. The impact is minor for a &#8364;100k account, but can be substantial for smaller accounts with higher turnover. I would argue that accounts below &#8364;25k are probably better off following a simple passive allocation. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/DMJSk/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fed85e91-652a-4ee2-97d5-b41243a308b3_1220x636.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af574fbf-e586-4618-a49c-ee57d51c4ac5_1220x756.png&quot;,&quot;height&quot;:376,&quot;title&quot;:&quot;Table 3: Sharpe ratio net of&nbsp;monthly subscription fee&nbsp;and transaction costs&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/DMJSk/1/" width="730" height="376" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h1>The Verdict</h1><p>Substack is a phenomenal place to learn about almost anything. Finance Substack is no different, and many accounts provide access to high quality content that helps readers invest better. Many paid accounts sell actionable investment-related content, including trading signals and target allocations for model portfolios. In this post, I looked at whether it makes sense for small investors to follow such advice. I analyzed the issue from four different perspectives: regulatory, suitability, implementation, and costs/benefits. </p><p>My verdict is: for most small investors, paid Substack signals and model portfolios should mostly be treated as education or research, not as something to follow mechanically. Specifically, for smaller accounts, the hurdle implied by the subscription fee can be significant. Below roughly &#8364;25k, subscription fees may represent a large cost drag, and a simple, diversified, low-cost allocation would probably be a better default. This doesn&#8217;t mean that paid research cannot be valuable, but the smaller the account, the more the investor should be mindful of any costs, including subscriptions, fees or transaction costs from strategies that require frequent trading.</p><p>For larger accounts, the fees are not that relevant as a proportion of capital, but investors still need to carefully examine the investment strategy or approach being offered to understand what they&#8217;re getting into, the risks involved, and to assess whether a strategy is appropriate for <em>their</em> own situation. Implementation and consistency are also key to allow proper comparisons with backtested or published performance. </p><p>DIY investment can be a fun and rewarding journey. There is nothing wrong with outsourcing part of it, but it&#8217;s important to have a balanced view of the costs, risks, and benefits. </p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>My own Substack does not sell signals. The paid feature allows readers who see value in what I publish to support the work.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I would like to believe this is most of them, but it is certainly not all of them.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>I am not a lawyer. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Investing is a long-term, or even lifelong, endeavor. It&#8217;s anyone&#8217;s guess whether a given Substack account will be around in 5 or 10 years to provide you with your target allocations.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>These numbers are based on expected return of 13%, a volatility of 10%, and a risk-free rate of 3%. This is not far from well-performing tactical asset allocation models. </p></div></div>]]></content:encoded></item><item><title><![CDATA[Backtesting Risk Parity Alternatives]]></title><description><![CDATA[Splitting risk vs splitting hairs]]></description><link>https://systematicallybiased.substack.com/p/backtesting-risk-parity-alternatives</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/backtesting-risk-parity-alternatives</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Tue, 30 Jun 2026 18:18:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rU-p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1121cdf2-7849-452a-92a0-ec37274fc355_1220x774.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In a <a href="/__u/systematicallybiased.substack.com/p/a-deep-dive-into-risk-parity">previous article</a>, I did a deep dive into risk parity, discussing different approaches, sketching out (some) of the math involved in solving the risk parity problem, and going over some of the extensive literature on the topic. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>In this article, I&#8217;m going to show the results of backtests of some of the different risk parity approaches I discussed. I&#8217;m going to be working with the same multi-asset ETF universe I used in this post:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8ec63428-a6ad-47c1-8709-4347ed5472d3&quot;,&quot;caption&quot;:&quot;In a previous post, I discussed several alternatives to mean-variance optimization (MVO), which are summarized below:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Backtesting Mean-Variance Alternatives&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:11581391,&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;bio&quot;:&quot;Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-05-28T17:22:17.639Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!pBMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://systematicallybiased.substack.com/p/backtesting-mean-variance-alternatives&quot;,&quot;section_name&quot;:&quot;Portfolio Lab&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:199367837,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:8000939,&quot;publication_name&quot;:&quot;Systematically Biased&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Sj04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>As a reminder, the universe contains nine ETFs, representing asset classes that are grouped into four buckets (Equity/Fixed Income/Real Estate/Commodities &amp; Gold). The data are daily from January 2000 to April 2026.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> I rebalance all portfolios monthly, requiring three years of daily data to estimate inputs. The universe is therefore dynamic, i.e. I consider at each rebalance date only the ETFs for which data are available over the last three years. </p><p>I considered the following alternative risk parity strategies:<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><ul><li><p><strong>Inverse Volatility</strong>: this is not really a risk parity strategy, in the sense that it does not try to equalize risk contributions. By using only volatilities, this strategy ignores correlations between assets. </p></li><li><p><strong><span>Asset RP (Vol)</span></strong><span>: asset-level risk parity using standard deviation as the risk measure.</span></p></li><li><p><strong><span>Asset RP (CVaR)</span></strong><span>: asset-level risk parity using CVaR as the risk measure.</span></p></li><li><p><strong><span>Bucket RP (Vol)</span></strong><span>: equal risk budgets across buckets, split equally across eligible assets within each bucket, using standard deviation as the risk measure.</span></p></li><li><p><strong><span>Bucket RP (CVaR)</span></strong><span>: the same bucket-budget idea, but using CVaR instead of standard deviation.</span></p></li></ul><div><hr></div><h1>Realized Performance</h1><p>The table below shows the performance of all the strategies. The column &#8220;Realized Volatility&#8221; reports the actual volatility of each strategy as implemented. The remaining columns report numbers for rescaled strategies with 10% volatility. </p><p>In terms of returns, the Inverse Volatility strategy had the worst performance, achieving a CAGR of 7.27%. The best performers were the bucket RP strategies, with similar CAGRs around 8.4% to 8.5%. The downside volatility of the strategies are quite similar, around 7%. While the Inverse Volatility strategy has the least negative skewness and lowest kurtosis, it also has the worst maximum drawdown, around -39%. The bucket RP strategies reduce the maximum drawdown, with Bucket RP (CVaR) at -32%, which is still substantial for a strategy often associated with risk control. In terms of Sharpe and Sortino ratios, the bucket RP strategies perform better than the asset-level RP strategies. The best performer overall is Bucket RP (CVaR), with a Sharpe of 0.70 and a Sortino of 0.98. The strategies have similar turnovers, close to 1.50%.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/3FPog/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1121cdf2-7849-452a-92a0-ec37274fc355_1220x774.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96acd005-cf0d-4f1d-ad5c-bc95319b34a2_1220x844.png&quot;,&quot;height&quot;:420,&quot;title&quot;:&quot;Return Statistics (volatility scaled to 10%)&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/3FPog/1/" width="730" height="420" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The performance comparison is useful, but it should not be read as a horse race. These strategies are not designed to forecast returns; they impose different definitions of risk balance.</p><div><hr></div><h1>Allocations and Risk Contributions</h1><p>I look at allocations and risk contributions for each strategy at the bucket level. For risk contributions, I report results using both the standard deviation and the CVaR measures. </p><p>The chart below reports the average allocation (in %) for each strategy. We can see that there are significant differences in allocations. The most notable pattern is that allocations to Fixed Income are comparatively large, which is expected given the lower volatility of bonds compared to other assets. The Inverse Volatility allocates the smallest percentage to Fixed Income (42.4%), while Bucket RP (CVaR) allocates nearly 2/3 of the portfolio, on average. The allocations to Commodities &amp; Gold are the most stable, around 15%-17% for all strategies. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/U7f90/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbd1400e-76c9-4194-9fdc-768adfcf7e31_1220x378.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6df665f9-1a4d-44d8-ba3c-f3ee5068a46a_1220x448.png&quot;,&quot;height&quot;:218,&quot;title&quot;:&quot;Average Allocations (%)&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/U7f90/1/" width="730" height="218" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>Moving on to the analysis of the risk contributions, I would start by mentioning that, for strategies that set budgets at the asset level, the bucket-level risk contributions will partly reflect how many assets are used to represent each bucket, as well as the volatilities and correlations of those assets. Therefore, for the strategies that work at the asset level (Inverse Volatility and Asset RP), we should expect higher risk contributions for the equity bucket, which in the later part of the sample, has three ETFs (SPY, EFA, EEM), compared to the other buckets, which have only two ETFs each. Earlier in the sample, the dynamic availability of ETFs also affects these counts. On the other hand, we should expect equal risk contributions at the bucket level for each bucket RP strategy under its own risk measure. </p><p>The chart below shows risk contributions at the bucket level using the volatility risk measure. As expected, we see higher risk contributions for the equity bucket for the first three strategies. For the Inverse Volatility, almost half of the total volatility comes from the equity bucket, highlighting the fact that ignoring correlations can lead to very unbalanced contributions at the asset class level. Also in line with expectations, the Bucket RP (Vol) strategy has equal risk contributions, while the Bucket RP (CVaR) does not, since it uses a different risk measure. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/LZxC5/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a17b0f5-029f-4b1d-be7d-42e8deb396c2_1220x378.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86fe0869-e02c-4880-ace3-e2b15d5dca39_1220x448.png&quot;,&quot;height&quot;:218,&quot;title&quot;:&quot;Risk Contributions under Volatility Risk Measure (%)&nbsp;&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/LZxC5/1/" width="730" height="218" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The risk contributions under the CVaR risk measure are shown on the chart below. This time, it is the Bucket RP (CVaR) that shows equal risk contributions, while Bucket RP (Vol) does not. The asset-level strategies again show very unbalanced risk profiles at the bucket level, especially the Inverse Volatility strategy. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/W0EcI/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0eaaaade-eaea-4e98-9bc8-aaab4fd36eb5_1220x378.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa35a38a-cbf7-46d1-884c-8fccd2dababb_1220x448.png&quot;,&quot;height&quot;:218,&quot;title&quot;:&quot;Risk Contributions under CVaR Risk Measure (%)&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/W0EcI/1/" width="730" height="218" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h1>Final Thoughts</h1><p>These results illustrate clearly the fact that risk parity portfolio construction depends strongly on a number of choices:</p><ul><li><p>asset selection and grouping</p></li><li><p>choice of risk measure</p></li><li><p>choice of risk budget (either at the asset level or at some aggregation like asset class in this example)</p></li></ul><p>These choices are not innocuous, because they carry implications for what the portfolio will end up looking like. A clear example is the fact that the Inverse Volatility portfolio can end up producing very unbalanced risk contributions when aggregated at the asset class level. </p><p>For the particular set of assets used in this exercise, my preference would be to use a bucket RP strategy, because it allows control of risk contributions at the asset class level, regardless of how many or which ETFs we use to represent each asset class. As for the choice of risk measure, the performance of the Bucket RP (Vol) and Bucket RP (CVaR) are very similar, and using the CVaR, although nice conceptually, does not seem in this case to produce materially different portfolios relative to using the simpler volatility risk measure. </p><p>Risk parity is often sold as an investment approach that can deliver higher returns with controlled risk, but this depends heavily on the sample period, the assets chosen, and the behavior of correlations across regimes. Correlations are time-varying, and regime shifts can substantially affect the composition and performance of risk parity strategies. More importantly, since risk parity strategies are not really designed around return objectives, they should not, in my view, be judged on such metrics. The strategies are designed to impose a particular structure on risk contributions and, on that criterion, they largely do what they are supposed to do. The question, therefore, is what the investor values. Simple risk parity strategies are appropriate when the investor is seeking balanced risk contributions. As a risk-based approach, risk parity does not and cannot make strong statements about the returns it produces. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I extended the history of some ETFs using their own indices when available. Most series start in 2000, the exceptions being VNQI (start date: 02/01/2001) and BNDX (start date: 04/01/2013).</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>The CVaR strategies use a confidence level &#946;=0.95.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Library/Asset Pricing]]></title><description><![CDATA[A curated list of papers in asset pricing]]></description><link>https://systematicallybiased.substack.com/p/libraryasset-pricing</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/libraryasset-pricing</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Thu, 25 Jun 2026 09:24:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uwqY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post maintains a curated list of papers about asset pricing.</p><p>The link on the title of the paper is a direct download link when available. Otherwise, it takes you to the journal page for the paper. </p><div><hr></div><p><strong>Brou, A., &amp; Luger, R. (2026). <a href="https://www.sciencedirect.com/science/article/pii/S0378426626000907/pdfft?md5=f2b008ba75556115e1386c854ef1bfa4&amp;pid=1-s2.0-S0378426626000907-main.pdf">A new decomposition approach to modeling financial returns: Conditioning sign on magnitude</a>. Journal of Banking &amp; Finance, 189, 107716.</strong></p><blockquote><p>Brou and Luger (2026) propose a nonlinear return-forecasting framework that decomposes market excess returns into two objects: the sign of the return and its magnitude. Rather than forecasting returns directly with a linear predictive regression, the paper models magnitude as a volatility-like object and then conditions the probability of a positive return on that contemporaneous magnitude and lagged predictors. The idea is that volatility clustering and investor behavior can make direction partly predictable even when mean returns are hard to forecast. In monthly U.S. equity-premium data, the conditioning-sign-on-magnitude model improves out-of-sample forecasting and market-timing performance relative to the historical average, linear regressions, complete subset regression, and several nonlinear benchmarks, with especially strong gains at moderate predictor-set sizes.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1VTnwp3CcklFNITV1tKkj66oYRVrAnVq4/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uwqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:236828,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1VTnwp3CcklFNITV1tKkj66oYRVrAnVq4/view?usp=sharing&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203527200?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uwqY!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92a85c2-b94a-44b3-a31a-6ad692d17790_1674x941.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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><hr></div><p><strong>Xu, X., &amp; Liu, W.-H. (2024). <a href="https://doi.org/10.1080/14697688.2024.2409278">Forecasting the equity premium: Can machine learning beat the historical average?</a> Quantitative Finance, 24(10), 1445-1461.</strong></p><blockquote><p>This paper asks whether modern machine learning methods can beat the historical average benchmark in forecasting the U.S. equity premium. They evaluate 17 models, including OLS, 15 machine learning methods, and a forecast combination, using monthly S&amp;P 500 excess returns from 1926 to 2020 and an out-of-sample period from 1957 to 2020, with both macroeconomic predictors and technical indicators. The striking result is that machine learning often looks powerful in sample, especially tree-based models such as XGBoost, but that performance largely disappears out of sample: in the main expanding-window test, only PCR produces a positive out-of-sample R-squared, and the historical average still has the better success ratio and the best market-timing Sharpe ratio. The paper&#8217;s practical message is that aggregate equity-premium prediction is a small-sample, low-signal-to-noise problem where model complexity can easily become overfitting; the right benchmark is not whether a model explains the past, but whether it reliably improves on the historical average in real time.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1ixa_stOhRuKUrDkgS_OtlV9vn76_pHVV/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0jcG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225757,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1ixa_stOhRuKUrDkgS_OtlV9vn76_pHVV/view?usp=sharing&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203361784?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 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 aria-hidden="true" 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><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><hr></div><p><strong>Nicolas, M. L. D. (2026). <a href="https://www.sciencedirect.com/science/article/pii/S0378426625002468/pdfft?md5=8c148cb392ed2908eebaf9661c60aa21&amp;pid=1-s2.0-S0378426625002468-main.pdf">Tail risk exposure and the cross section of expected stock returns</a>. Journal of Banking &amp; Finance, 184, 107626.</strong></p><blockquote><p>Nicolas studies whether stocks earn a premium for exposure to market tail events, measured through tail dependence between individual stocks and the market. The paper&#8217;s key point is that many tail risk exposure measures are contaminated by ordinary market correlation: high-correlation stocks can appear tail-exposed even when the estimator is partly capturing average comovement, while low-correlation stocks may hide crash sensitivity that only appears in extreme states. Using U.S. stocks from 1965 to 2024, simulations, portfolio sorts, and Fama-MacBeth regressions, the paper finds that tail risk is priced mainly among low-correlation stocks and proposes a double-sort strategy that first controls for correlation and then sorts on tail risk exposure. That strategy produces stronger risk-adjusted performance than standard single-sort approaches, but the result also comes with practical caveats because the relevant stocks tend to be smaller and less liquid.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1YY-zpA5iQ8p6nOEZPwVo_LuEMbTlcsmf/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 424w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 848w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Pzmd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png" width="1456" height="817" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220661,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1YY-zpA5iQ8p6nOEZPwVo_LuEMbTlcsmf/view?usp=sharing&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203527200?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 424w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 848w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Pzmd!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png 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 aria-hidden="true" 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><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>
          <a href="/__u/systematicallybiased.substack.com/p/libraryasset-pricing">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Library/Systematic Trading ]]></title><description><![CDATA[A curated list of papers on quantitative and systematic trading strategies]]></description><link>https://systematicallybiased.substack.com/p/quantitativesystematic-trading</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/quantitativesystematic-trading</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Wed, 24 Jun 2026 07:55:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VQS0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post maintains a curated list of papers on quantitative and systematic trading strategies. </p><p>The link on the title of the paper is a direct download link when available. Otherwise, it takes you to the journal page for the paper.</p><p>Click on the image to see a 15-slide deck with an overview of the paper.</p><div><hr></div><p><strong>Yilmaz, S., &amp; Sefer, E. (2025). <a href="https://www.sciencedirect.com/science/article/pii/S2405918826000024/pdfft?md5=124255d72f656904963923598668fcf4&amp;pid=1-s2.0-S2405918826000024-main.pdf">Pairs trading with time-series deep learning model</a>s. </strong><em><strong>The Journal of Finance and Data Science</strong></em><strong>, </strong><em><strong>11</strong></em><strong>, 100177.</strong></p><blockquote><p>Yilmaz and Sefer study whether modern time-series deep learning models can improve generalized pairs trading by predicting the direction of factor-model residuals rather than relying only on classical asset-wise mean reversion. They compare a relative-value Ornstein-Uhlenbeck baseline with AdaBoost, LSTM, and several transformer-based models, including Informer, Autoformer, iTransformer, Scaleformer, and Chronos, using survivorship-bias-aware S&amp;P 500 data and a 20-asset cryptocurrency sample. The central finding is that transformer-based residual prediction generally delivers higher risk-adjusted performance than the baseline: iTransformer leads the S&amp;P 500 backtest with a Sharpe ratio of 1.94 versus 0.57 for relative value, while Scaleformer and iTransformer lead the crypto tests with Sharpe ratios around 2.2. The paper&#8217;s practical message is that the advantage comes not only from better forecasts but also from panel-level learning and more selective trading under transaction costs, though the results still require caution because the backtest uses simplified cost assumptions and does not fully model market impact, borrow constraints, or bid-ask spreads.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VQS0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VQS0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:208642,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203361784?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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><hr></div><p><strong>Moskowitz, T. J., Ooi, Y. H., &amp; Pedersen, L. H. (2012). <a href="http://docs.lhpedersen.com/TimeSeriesMomentum.pdf">Time series momentum</a>. Journal of Financial Economics, 104(2), 228-250.</strong></p><blockquote><p>Moskowitz, Ooi, and Pedersen&#8217;s paper documents &#8220;time series momentum&#8221;: the tendency for an asset&#8217;s own past return to predict its future return across liquid futures and forward markets. Using 58 instruments across commodities, currencies, equity indexes, and bonds, they show that assets with positive returns over the past year tend to keep rising over the next month, while assets with negative returns tend to keep falling, with partial reversal at longer horizons. A diversified trend-following strategy earns strong abnormal returns that are not explained by standard asset-pricing factors or cross-sectional momentum alone, and it performs especially well during extreme market moves. The paper also links these profits to market structure: speculators appear to ride trends while hedgers take the other side, suggesting that time series momentum reflects both gradual price adjustment and compensation for absorbing hedging pressure.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1vrwFQ_MJd5A06zNzGk3KtWORqq_aM3K8/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 424w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 848w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bzJ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png" width="1456" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241630,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1vrwFQ_MJd5A06zNzGk3KtWORqq_aM3K8/view?usp=sharing&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203364099?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 424w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 848w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bzJ2!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png 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 aria-hidden="true" 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><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><hr></div><p><strong>Faber, Meb, <a href="https://ssrn.com/abstract=962461">A Quantitative Approach to Tactical Asset Allocation</a> (February 1, 2013). The Journal of Wealth Management, Spring 2007.</strong></p><blockquote><p>Faber&#8217;s paper proposes a simple tactical asset allocation rule: hold an asset class when its monthly price is above its 10-month moving average, and move that sleeve to cash when it falls below. Tested across equities, foreign stocks, bonds, commodities, and REITs, the rule does not try to forecast returns with complexity; instead, it uses trend as a practical risk filter that reduces exposure during major bear markets. The main result is that long-run returns remain broadly comparable to buy-and-hold, while drawdowns and volatility fall sharply, especially in diversified multi-asset portfolios. The paper&#8217;s appeal is its discipline: a transparent, low-turnover rule that turns asset allocation into a repeatable process for controlling downside risk.</p></blockquote>
      <p>
          <a href="/__u/systematicallybiased.substack.com/p/quantitativesystematic-trading">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Library/Portfolio Optimization & Construction]]></title><description><![CDATA[A curated list of papers on portfolio optimization and construction]]></description><link>https://systematicallybiased.substack.com/p/asset-allocation-and-portfolio-construction</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/asset-allocation-and-portfolio-construction</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Wed, 24 Jun 2026 07:49:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2dG9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post maintains a curated list of papers on portfolio optimization and construction.</p><p>The link on the title of the paper is a direct download link when available. Otherwise, it takes you to the journal page for the paper.</p><p>Click on the image to see a 15-slide deck with an overview of the paper.</p><div><hr></div><p><strong>Yang, L. (2026). <a href="https://papers.ssrn.com/sol3/Delivery.cfm/6823998.pdf?abstractid=6823998&amp;mirid=1">Harvesting factor premia across regimes: An anchor-stabilized hidden Markov framework for multifactor portfolios</a>. Working paper, Columbia University.</strong></p><blockquote><p>This paper develops a regime-aware multifactor allocation framework that turns latent market states into implementable portfolio weights. The paper starts from a U.S. equity factor panel, estimates persistent market regimes with a Gaussian Hidden Markov Model, projects filtered regime probabilities one step ahead, and maps those probabilities into regime-conditioned mean-variance portfolios with Ledoit-Wolf covariance shrinkage, turnover penalties, and VIX or CAPE anchors. In the 2013-2023 walk-forward test, the framework does not beat passive equity benchmarks on raw bull-market return, but it substantially improves downside control: the long-only protective strategy achieves a Sharpe ratio of 1.33 and maximum drawdown of -3.64%, while the S&amp;P 500 has a Sharpe ratio of 0.90 and maximum drawdown of -23.97%. The main message is that regime information is economically useful only when it is translated into disciplined, forward-looking, turnover-aware allocation decisions rather than treated as a standalone timing signal.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1f2-XUEJBIg_WLudiNuRB6W434nKBbIcV/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 424w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 848w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2dG9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b745812-689d-42d2-823c-de0e66007539_1682x929.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:230068,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1f2-XUEJBIg_WLudiNuRB6W434nKBbIcV/view?usp=sharing&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203363648?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 424w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 848w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2dG9!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b745812-689d-42d2-823c-de0e66007539_1682x929.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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></p><p><strong>Owen, S. R. (2023). <a href="https://www.sciencedirect.com/science/article/pii/S2405918823000284/pdfft?md5=f08cced7b32b9843b62604332db0b92a&amp;pid=1-s2.0-S2405918823000284-main.pdf">An analysis of conditional mean-variance portfolio performance using hierarchical clustering</a>. The Journal of Finance and Data Science, 9, 100112.</strong></p><blockquote><p>This paper studies whether hierarchical clustering can improve conditional mean-variance portfolio construction by producing better ex-ante covariance estimates than a traditional Markowitz optimizer. Using CRSP monthly stock returns from 1965 to 2017, filtered for investability, the paper forms long-only, three-month buy-and-hold portfolios across 12-, 60-, and 120-month covariance look-back windows and compares cluster-optimized portfolios with Markowitz and market benchmarks. The central finding is that clustering the covariance matrix by stock-return correlations improves out-of-sample risk-adjusted performance: cluster-optimized Sharpe ratios exceed the benchmarks across look-back windows, the approach outperforms Markowitz by Sharpe ratio 54%, 68%, and 60% of the time, and it delivers smoother, lower portfolio weight changes than Markowitz. The practical message is that this is not black-box machine learning for its own sake; it is an interpretable way to condition the covariance matrix, diversify across correlated groups, and reduce the instability that often makes unconstrained mean-variance optimization hard to implement.</p></blockquote>
      <p>
          <a href="/__u/systematicallybiased.substack.com/p/asset-allocation-and-portfolio-construction">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Library/Machine Learning in Finance]]></title><description><![CDATA[A curated list of papers that apply machine learning in finance]]></description><link>https://systematicallybiased.substack.com/p/machine-learning</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/machine-learning</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Wed, 24 Jun 2026 07:47:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0jcG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post maintains a curated list of papers that use machine learning for financial applications. </p><p>The link on the title of the paper is a direct download link when available. Otherwise, it takes you to the journal page for the paper. </p><p>Click on the image to see a 15-slide deck with an overview of the paper. </p><div><hr></div><p><strong>Xu, X., &amp; Liu, W.-H. (2024). <a href="https://doi.org/10.1080/14697688.2024.2409278">Forecasting the equity premium: Can machine learning beat the historical average?</a> Quantitative Finance, 24(10), 1445-1461.</strong></p><blockquote><p>This paper asks whether modern machine learning methods can beat the historical average benchmark in forecasting the U.S. equity premium. They evaluate 17 models, including OLS, 15 machine learning methods, and a forecast combination, using monthly S&amp;P 500 excess returns from 1926 to 2020 and an out-of-sample period from 1957 to 2020, with both macroeconomic predictors and technical indicators. The striking result is that machine learning often looks powerful in sample, especially tree-based models such as XGBoost, but that performance largely disappears out of sample: in the main expanding-window test, only PCR produces a positive out-of-sample R-squared, and the historical average still has the better success ratio and the best market-timing Sharpe ratio. The paper&#8217;s practical message is that aggregate equity-premium prediction is a small-sample, low-signal-to-noise problem where model complexity can easily become overfitting; the right benchmark is not whether a model explains the past, but whether it reliably improves on the historical average in real time.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1ixa_stOhRuKUrDkgS_OtlV9vn76_pHVV/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0jcG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225757,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1ixa_stOhRuKUrDkgS_OtlV9vn76_pHVV/view?usp=sharing&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203361784?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0jcG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e20687-b964-4b7f-a2a8-770f9d0e7cbd_1698x947.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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><hr></div><p><strong>Yilmaz, S., &amp; Sefer, E. (2025). <a href="https://www.sciencedirect.com/science/article/pii/S2405918826000024/pdfft?md5=124255d72f656904963923598668fcf4&amp;pid=1-s2.0-S2405918826000024-main.pdf">Pairs trading with time-series deep learning model</a>s. </strong><em><strong>The Journal of Finance and Data Science</strong></em><strong>, </strong><em><strong>11</strong></em><strong>, 100177.</strong> </p><blockquote><p>Yilmaz and Sefer study whether modern time-series deep learning models can improve generalized pairs trading by predicting the direction of factor-model residuals rather than relying only on classical asset-wise mean reversion. They compare a relative-value Ornstein-Uhlenbeck baseline with AdaBoost, LSTM, and several transformer-based models, including Informer, Autoformer, iTransformer, Scaleformer, and Chronos, using survivorship-bias-aware S&amp;P 500 data and a 20-asset cryptocurrency sample. The central finding is that transformer-based residual prediction generally delivers higher risk-adjusted performance than the baseline: iTransformer leads the S&amp;P 500 backtest with a Sharpe ratio of 1.94 versus 0.57 for relative value, while Scaleformer and iTransformer lead the crypto tests with Sharpe ratios around 2.2. The paper&#8217;s practical message is that the advantage comes not only from better forecasts but also from panel-level learning and more selective trading under transaction costs, though the results still require caution because the backtest uses simplified cost assumptions and does not fully model market impact, borrow constraints, or bid-ask spreads.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VQS0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VQS0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:208642,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203361784?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 424w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 848w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VQS0!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13e8ce6a-1972-4f35-b20a-7d143de2be41_1698x947.png 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 aria-hidden="true" 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><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><hr></div><p><strong>Nardari, Federico and Schu&#776;ssler, Rainer Alexander, <a href="https://ssrn.com/abstract=4217088">Ensembles of Portfolio Rules</a> (June 29, 2024). Available at SSRN: https://ssrn.com/abstract=4217088</strong></p><blockquote><p>Nardari and Sch&#252;ssler&#8217;s paper proposes FLEXPOOL, a utility-based ensemble framework for combining heterogeneous portfolio rules rather than selecting a single &#8220;best&#8221; rule. Each candidate rule contributes its assigned portfolio weights and subsequent pseudo out-of-sample returns, and the framework chooses convex weights across rules to maximize discounted realized investor utility, allowing recent performance to matter more when market conditions change. Empirically, across U.S. stock allocation and market timing from 1977 to 2020, the ensemble generates higher certainty-equivalent returns than individual rules and simple combination benchmarks, suggesting that portfolio construction can benefit from treating allocation rules themselves as diversifiable components.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://drive.google.com/file/d/1EIWFHKSQQQWvL3dvjsKJDFHWXrrSsAQy/view?usp=sharing" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 424w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 848w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SZwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:851131,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://drive.google.com/file/d/1EIWFHKSQQQWvL3dvjsKJDFHWXrrSsAQy/view?usp=sharing&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/203361784?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 424w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 848w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SZwo!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png 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 aria-hidden="true" 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><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></p><p><strong>Gu, S., Kelly, B., &amp; Xiu, D. (2020). <a href="https://academic.oup.com/rfs/article-pdf/33/5/2223/33209812/hhaa009.pdf">Empirical asset pricing via machine learning</a>. The Review of Financial Studies, 33(5), 2223-2273</strong></p><blockquote><p>Gu, Kelly, and Xiu&#8217;s &#8220;Empirical Asset Pricing via Machine Learning&#8221; asks whether machine learning can improve the measurement of equity risk premiums, both in the cross-section of stocks and in aggregate market timing. Its central result is that flexible models, especially trees and neural networks, produce stronger out-of-sample forecasts and investment performance than traditional linear methods because they can capture nonlinear interactions among familiar predictors like momentum, liquidity, volatility, and valuation. The paper&#8217;s point is not that ML magically explains expected returns, but that it can be a better measuring instrument for risk premia when disciplined by validation and out-of-sample testing.</p></blockquote>
      <p>
          <a href="/__u/systematicallybiased.substack.com/p/machine-learning">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Deep Dive Into Risk Parity]]></title><description><![CDATA[Allocating risk, not capital: a practical guide to risk parity, risk budgeting, and hierarchical allocation]]></description><link>https://systematicallybiased.substack.com/p/a-deep-dive-into-risk-parity</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/a-deep-dive-into-risk-parity</guid><pubDate>Fri, 19 Jun 2026 21:16:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Msgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p>This post is divided into two parts. The first part introduces the basic intuition behind risk parity and provides an example in the two-asset case. The second part, which is exclusive for paid subscribers, goes deeper into the mechanics of risk budgeting, risk measures, factor risk parity, hierarchical risk parity, and long/short applications, and the recent literature.</p></div><p>In previous posts, I explored <a href="/__u/systematicallybiased.substack.com/p/beyond-mean-variance-optimization">alternatives</a> to mean-variance optimization and showed the results of a <a href="/__u/systematicallybiased.substack.com/p/backtesting-mean-variance-alternatives?r=6w89b">backtest</a> for a universe of ETFs representing different asset classes. I touched briefly on risk parity in these posts. </p><p>On this post, I&#8217;ll explore risk parity in more detail and discuss some of the more recent research on the topic. </p><div><hr></div><h1>What is Risk Parity?</h1><p>Risk parity is an investment management approach that focuses on the allocation of risk, rather than capital. Traditional approaches, such as mean-variance optimization, take as inputs estimates of expected returns of the assets as well as their covariances, and produce as output a capital allocation to achieve a certain objective (e.g., maximizing expected return for a given level of risk). Risk parity asks a different question: what capital allocation produces equal risk contributions from each asset? </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Msgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 424w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 848w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Msgx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png" width="1456" height="1030" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1030,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1321500,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/199288946?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 424w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 848w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Msgx!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6f52223-22bc-4d31-864f-da75dda1c8d6_1491x1055.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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>Risk parity is a relatively new approach to investment management. The idea dates back to the 1990s, with the first product<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> being launched in 1996, and the term &#8220;risk parity&#8221; only being coined in the <a href="https://www.panagora.com/assets/PanAgora-Risk-Parity-Portfolios-Efficient-Portfolios-Through-True-Diversification.pdf">2005 paper</a> by Edward Qian. Other names that are often used interchangeably include &#8220;risk budgeting&#8221; and &#8220;equal risk contributions&#8221;. Among these, risk budgeting is the most general one, the idea being that the investor can choose the proportion of total risk allocated to each asset. The risk parity, or equal risk contribution portfolio, corresponds to a special case of the risk budgeting approach, in which all assets receive equal risk allocations. </p><p>Risk parity is widely used by institutional investors, both as a tool to build multi-asset class portfolios with balanced risk contributions, to balance risk contributions from different assets in specific trading strategies, such as trend following, or to balance the contribution from multiple trading strategies. It is difficult to know how much capital is managed using risk parity principles. A reasonable reading of published estimates is that <em>dedicated</em> risk parity strategies manage on the order of several hundred billion dollars of capital, with levered economic exposure potentially several times larger.</p><div><hr></div><h1>Inverse Vol: a Naive Risk Parity Strategy</h1><p>A precursor to risk parity is the idea of weighting assets inversely to their volatilities. A typical justification for following such an approach is the fact that the risk of a 60/40 stock/bond portfolio is dominated by the stock component. The inverse-vol approach naturally increases the weights of safer assets, resulting in a more balanced portfolio. An issue that arises with the inverse-vol approach is that the volatility of this portfolio may be too low. In this case, leverage can be used to reach a desired target volatility. Asness et al. (2012) investigated this in the context of a 60/40 stock/bond portfolio over a long sample, showing favorable results for the levered inverse-vol portfolio relative to the market portfolio. The authors argue that leverage aversion could explain why this may happen in practice: since many investors are not allowed (or choose not) to use leverage, the higher return may represent a strategic advantage accruing to the investors who choose to do so. </p><p>The inverse vol approach is widely used in trend following programs. For example, in their classic paper on time series momentum, Moskowitz et al. (2012) define the return on a trend following portfolio of <em>S</em> different futures contracts as:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mI_3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 424w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 848w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mI_3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png" width="421" height="181" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e95a25a7-051d-4762-889c-de1439564af0_421x181.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:181,&quot;width&quot;:421,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20821,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/199288946?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 424w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 848w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mI_3!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe95a25a7-051d-4762-889c-de1439564af0_421x181.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The expression looks complicated, but it is essentially a simple average of <em>S</em> returns on futures contracts, where the return on each contract is multiplied by the sign of the past 12-month return and scaled according to an inverse volatility ratio. The 40% on the numerator is an arbitrary volatility level, justified by the authors to achieve a desired target level of 12% for the realized portfolio volatility. Note that this is calibrated empirically, as it depends on the trend following signals, the volatility estimates, and the diversification, which is not modeled. </p><p>The inverse vol approach has the advantage of being straightforward to use, only requiring estimates of the volatilities of the assets. However, because it does not model covariation between assets, in general, it does not produce equal risk contributions across assets or asset classes. This can be achieved with &#8220;true&#8221; risk parity approaches, at the cost of higher complexity. </p><div><hr></div><h1>A Simple Example with Two Assets</h1><p>A simple way to understand the intuition behind risk parity is to work through a simple portfolio with only two risky assets, using the volatility as a risk measure. In this simple case, there is a closed formula for the risk parity portfolio, and all the calculations can be done by hand. Denote by <em>x=</em>(<em>x</em><sub>1 , </sub><em>x</em><sub>2</sub>)&#8217; the vector of portfolio weights. The volatility of the portfolio is then </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\sigma(x)=\\sqrt{x_1^2 \\sigma_1^2+x_2^2\\sigma_2^2+2x_1x_2\\rho\\sigma_{1}\\sigma_2}&quot;,&quot;id&quot;:&quot;ZZLTFUFCDM&quot;}" data-component-name="LatexBlockToDOM"></div><p>The <strong>risk contribution</strong> of an asset <em>i </em>is defined as: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_i=x_i \\frac{\\partial \\sigma(x)}{\\partial x_i}&quot;,&quot;id&quot;:&quot;GKHDSYKQZD&quot;}" data-component-name="LatexBlockToDOM"></div><p>The derivatives in this expression can be calculated using the chain rule: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\frac{\\partial \\sigma(x)}{\\partial x_1}=\\frac{2x_1\\sigma_1^2+2x_2\\rho\\sigma_{1}\\sigma_2}{2\\sigma(x)}=\\frac{x_1\\sigma_1^2+x_2\\rho\\sigma_{1}\\sigma_2}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;RNHIAPIULQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>and </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\frac{\\partial \\sigma(x)}{\\partial x_2}=\\frac{2x_2\\sigma_2^2+2x_1\\rho\\sigma_{1}\\sigma_2}{2\\sigma(x)}=\\frac{x_2\\sigma_2^2+x_1\\rho\\sigma_{1}\\sigma_2}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;EDQSSGEAJX&quot;}" data-component-name="LatexBlockToDOM"></div><p>The risk contributions, therefore, are given by: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_1=x_1 \\frac{\\partial \\sigma(x)}{\\partial x_1}=\\frac{x_1^2\\sigma_1^2+x_1x_2\\rho\\sigma_{1}\\sigma_2}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;GQJSFYUOTV&quot;}" data-component-name="LatexBlockToDOM"></div><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_2=x_2 \\frac{\\partial \\sigma(x)}{\\partial x_2}=\\frac{x_2^2\\sigma_2^2+x_1x_2\\sigma_{12}}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;YJZWBGXYVG&quot;}" data-component-name="LatexBlockToDOM"></div><p>Note that the total portfolio volatility is the sum of the risk contributions: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_1+RC_2=\\frac{x_1^2\\sigma_1^2+2 x_1x_2\\rho\\sigma_{1}\\sigma_2+x_2^2\\sigma_2^2}{\\sigma(x)}=\\frac{\\sigma^2(x)}{\\sigma(x)}=\\sigma(x)&quot;,&quot;id&quot;:&quot;SKUOMAPREF&quot;}" data-component-name="LatexBlockToDOM"></div><p>Suppose that we assume that the portfolio is fully invested, such that <em>x</em><sub>1</sub>+<em>x</em><sub>2</sub>=1. To simplify even more the notation, let&#8217;s denote by <em>x </em>the weight in asset 1 and by (1-<em>x</em>) the weight in asset 2. In this case, we can write the risk contributions as: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_1=\\frac{x^2\\sigma_1^2+x(1-x))\\rho\\sigma_{1}\\sigma_2}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;BKQSXGJKYF&quot;}" data-component-name="LatexBlockToDOM"></div><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_2=\\frac{(1-x)^2\\sigma_2^2+x(1-x)\\rho\\sigma_{1}\\sigma_2}{\\sigma(x)}&quot;,&quot;id&quot;:&quot;DSOLSAYJUR&quot;}" data-component-name="LatexBlockToDOM"></div><p>If we require equal risk contributions, we need to solve the equation <em>RC</em><sub>1</sub>=<em>RC</em><sub>2</sub>, which gives the solution:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;x=\\frac{\\sigma_2}{\\sigma_1+\\sigma_2}&quot;,&quot;id&quot;:&quot;FJZXOWLZTM&quot;}" data-component-name="LatexBlockToDOM"></div><p>Notice that:</p><ul><li><p>the solution does not depend on the correlation between the assets. This is not the case in general, even in the two-asset case. </p></li><li><p>the weight on asset 1 is the ratio of the volatility asset 2 to the sum of the volatilities. If asset 1 has higher volatility than asset two, its capital allocation will be reduced. </p></li><li><p>this solution is the same one we would get with an inverse vol approach. If we define initial weights <em>x</em><sub>1</sub><em>=</em>1/<em>&#963;</em><sub>1</sub> and <em>x</em><sub>2</sub><em>=</em>1/<em>&#963;</em><sub>2</sub>, and then rescale the weights so that they sum to 1, we get:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;x_1^*=\\frac{\\frac{1}{\\sigma_1}}{\\frac{1}{\\sigma_1}+\\frac{1}{\\sigma_2}}=\\frac{\\sigma_2}{\\sigma_1+\\sigma_2}&quot;,&quot;id&quot;:&quot;EDYGKVAEWH&quot;}" data-component-name="LatexBlockToDOM"></div><p>and similarly for asset 2. So risk parity with two assets, using the volatility as the risk measure, is equivalent to inverse volatility weighting. This is not true in general. </p></li></ul><p>We can now reproduce the results from the stock/bond example in previous post. Stock (SPY) had a volatility of 17.94%, while bond (BND) had a volatility of 5.53%. The risk parity portfolio weight on SPY is then</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;x_{SPY}=\\frac{\\sigma_{BND}}{\\sigma_{SPY}+\\sigma_{BND}}=\\frac{0.0553}{0.1794+0.0553}=0.2356&quot;,&quot;id&quot;:&quot;PROETFMODQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>And the weight on BND is </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;x_{BND}=1-x_{SPY}=0.7644&quot;,&quot;id&quot;:&quot;ZNINJRWQAQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>The correlation between SPY and BND had been estimated at 0.1433. Plugging the numbers into the formula for the volatility, we get a volatility of 6.39% for the risk parity portfolio. We can also verify that this portfolio has equal risk contributions (<em>RC</em><sub>1</sub>=<em>RC</em><sub>2</sub>) and that the total portfolio volatility is equal to the sum of the risk contributions. </p><p>The risk contribution formulas can be used to compute the risk contributions for any allocation. For example, a 60% SPY/40% BND portfolio in this example has a total volatility of 11.29%, but the risk contributions are very unbalanced, with approximately 93.5% of the total risk coming from the equity allocation, and the remaining 6.5% coming from the bond allocation. This is illustrated in the animation below, in which I plot allocations (left bar) versus risk contributions (right bar). </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;6c6e5a48-eb52-47e6-a8fa-1c92d00b91a4&quot;,&quot;duration&quot;:null}"></div><div><hr></div><h1>A More General Risk Budget Approach</h1>
      <p>
          <a href="/__u/systematicallybiased.substack.com/p/a-deep-dive-into-risk-parity">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What Drives the Performance of Machine Learning Factor Strategies?]]></title><description><![CDATA[The use of ML in finance is all about the details]]></description><link>https://systematicallybiased.substack.com/p/what-drives-the-performance-of-machine</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/what-drives-the-performance-of-machine</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Mon, 08 Jun 2026 15:12:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-nRK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week I&#8217;ll be heading to Braga in Portugal for the FMA European meeting, where I&#8217;ll be presenting a paper on forecast combination approaches for covariance matrix estimation. I will also be discussing the paper &#8220;<a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5851562">What Drives the Performance of Machine Learning Factor Strategies</a>&#8221;, by Mikheil Esakia and Felix Goltz, so I thought I&#8217;d share some points on this interesting paper. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>A Common Setup for ML in Empirical Asset Pricing</h1><p>A common setup in the literature on ML is the <em>pooled</em> or <em>stacked regression</em> approach, popularised in <a href="https://academic.oup.com/rfs/article-pdf/33/5/2223/33209812/hhaa009.pdf">Gu, Kelly, and Xiu (2020, GKX)</a>. Suppose you have data on several firm characteristics (e.g.: size, book/market, momentum, etc) that past research has suggested are associated with expected returns. The idea is to build models of the form: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\mathbb{E}_t(r_{i,t+1})=g(z_{i,t})&quot;,&quot;id&quot;:&quot;VTXRDARNUP&quot;}" data-component-name="LatexBlockToDOM"></div><p>In words: we want to predict expected returns of stocks at time <em>t</em>+1, using predictors (typically stock characteristics) observed at time <em>t</em>, denoted by <em>z<sub>i</sub></em><sub>,</sub><em><sub>t</sub></em>. The function <em>g</em> can be linear (e.g., ridge or lasso) or nonlinear (e.g., neural networks, random forests, boosted trees).</p><p>This approach is <em>pooled</em> because, each time you train the models, you effectively use information from all the stocks available. The characteristics in <em>z<sub>i</sub></em><sub>,</sub><em><sub>t</sub></em> are typically cross-sectionally standardised, which helps with the scale and is also handy to imput missing values.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> </p><p>GKX carried out an extensive horse race of linear and nonlinear models using U.S. data. They considered 94 firm characteristics from Green, Hand, and Zhang (2017, GHZ).<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> The models in GKX included OLS, PLS, PCR, elastic net, generalized linear models, random forests, gradient boosted regression trees, and neural networks. The estimation setup in GKX uses expanding windows, starting with 18 years for training and 12 years for validation. Models are estimated once per year and used to forecast monthly returns for all stocks during that year. They then sorted stocks into decile portfolios based on next months forecasts. </p><p>GKX&#8217;s best performer in terms of statistical and economic performance was a neural network with 4 layers (NN4). The long-short portfolio constructed with NN4 forecasts yielded a Sharpe ratio of 1.35. GKX conclude that: </p><blockquote><p>Neural networks and, to a lesser extent, regression trees, are the best performing methods. We track down the source of their predictive advantage to accommodation of nonlinear interactions that are missed by other methods.</p></blockquote><p>That is, GKX attribute the superior performance of these methods to their ability to capture nonlinearities. </p><p>GKX was an important milestone in empirical asset pricing. It was among the first papers in the top finance journals to apply modern machine-learning methods at large scale to the cross-section of individual stock returns, with a careful out-of-sample design and a systematic comparison of methods. Its publication also signalled that ML had moved from being a largely peripheral or practitioner-oriented toolkit to something of broad interest within mainstream academic finance.</p><p>However, there are a number of caveats in that study: </p><ul><li><p>Notably, GKX did not consider transaction costs. ML strategies generally have high turnover. For example, the NN4 long-short strategy had average monthly turnover of over 100% per month. </p></li><li><p>At any point in time, GKX used all the 94 characteristics from GHZ which had available data. This is a somewhat subtle form of look-ahead bias, as some of these characteristics were only identified with hindsight. As I discussed <a href="/__u/systematicallybiased.substack.com/p/computers-ai-and-return-predictability">previously</a>, we know from previous studies such as <a href="https://gwern.net/doc/economics/2016-mclean.pdf">McLean and Pontiff (2016)</a> that, once published, returns of characteristic-based anomalies diminish. Therefore, using the characteristics over the entire sample is likely to bias results upwards. </p><div><hr></div></li></ul><h1>A Clever Design</h1><p>Esakia and Goltz (2025, EG) implement a clever design aimed at disentangling the sources of return from ML factor strategies. The design is based on three pillars: </p><ol><li><p>Assessing the value of different information sets and the flexibility of the functional form of the models;</p></li><li><p>Taking into account progressively more realistic implementation settings in terms of the universe of stocks used, factor hindsight, and transaction costs.</p></li></ol><p>Starting with the information sets, EG consider two sets of characteristics:</p><ul><li><p>The <strong>sparse</strong> set contains only &#8220;well known&#8221; factors such as beta, size, value, momentum, profitability, and asset growth. </p></li><li><p>The <strong>non-sparse</strong> set includes the full set of 94 characteristics. </p></li></ul><p>The, in terms of flexibility, EG refrain from doing a horse race with many models. Instead, they consider the following representatives: </p><ul><li><p><strong>Linear model:</strong> ridge regression</p></li><li><p><strong>Nonlinear model</strong>: a three-layer neural network </p></li></ul><p>This gives the 2x2 design shown below: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PNt6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 424w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 848w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PNt6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png" width="885" height="843" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:843,&quot;width&quot;:885,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119753,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/201133553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 424w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 848w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PNt6!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6599b3b7-f845-4657-a4c4-35280e8b1345_885x843.png 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 aria-hidden="true" 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><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>In addition, EG consider different implementation settings, which are increasingly more realistic. These settings are summarized in their Table 1: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PUaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 424w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 848w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PUaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png" width="733" height="248" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:248,&quot;width&quot;:733,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38773,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/201133553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 424w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 848w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PUaG!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa55c33-41b3-4fba-b643-34bd5dfa6d2f_733x248.png 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 aria-hidden="true" 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><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 Standard setting is similar to what is done in many papers. It does not explicitly exclude microcaps, and does not account for factor hindsight or trading costs. The Intermediate setting excludes microcaps and removes factor hindsight by only adding characteristic as they become publicly known. The Realistic setting also takes into account transaction costs.  GKX&#8217;s paper sits between Standard and Intermediate, as they do tests some variations that exclude microcaps. </p><p>In terms of trading costs, EG first estimate effective bid-ask spreads using a method proposed by Chung and Zhang (2014), which only requires bid and ask quotes for each stock. Then, they implement an algorithm that assigns stocks to deciles based not only on expected returns, but looking at return differentials net of the cost of replacing a stock by another.</p><div><hr></div><h1>The Results</h1><p>In terms of statistical performance, EG use the out-of-sample <em>R<sup>2</sup></em> as the metric. In line with other studies, their results confirm that the level of predictability in individual stocks is low. Their design shows that predictability deteriorates when removing factor hindsight, and improves when moving from linear to nonlinear models. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1QIw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 424w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 848w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1QIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png" width="891" height="239" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:239,&quot;width&quot;:891,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/201133553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 424w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 848w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1QIw!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc79f5bef-c4d9-45ee-a681-94fbd7e486a3_891x239.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In terms of economic performance, however, the picture is very different. Their main results are shown below. The figure plots mean monthly returns under each implementation setting. As we move from the Standard to the Realistic setting, the mean return decreases significantly, as does the difference between linear and nonlinear. The decrease is economically very relevant: the performance of nonlinear models applied to the non-sparse set decreases from 3.63% per month in the Standard setting to 0.79% in the Realistic setting. </p><p>In the Standard setting, differences in mean returns suggest that both the information set and well as functional form complexity are statistically significant. In the Realistic setting, however, the difference is insignificant under the sparse set (i.e. from -0.07% to 0.14%) and only significant at the 10% level in the nonsparse set. The combined improvement in monthly returns of moving from linear models under the sparse set to nonlinear models under the nonsparse set is 0.86%, which is significant at the 1% level. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-nRK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 424w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 848w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-nRK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png" width="1456" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Updated chart&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="Updated chart" title="Updated chart" srcset="/__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 424w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 848w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-nRK!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40ec1076-bfdb-45bd-b7f3-f4ccd7404081_2523x1085.png 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 aria-hidden="true" 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><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 paper also tests long-only versions of the strategies. Without allowing short positions, the gains from complexity shrink even more and become insignificant: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uEr4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 424w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 848w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uEr4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png" width="861" height="394" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:394,&quot;width&quot;:861,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:29136,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/201133553?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 424w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 848w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uEr4!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96ee9176-f860-4102-aa2e-9cd70689fe24_861x394.png 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 aria-hidden="true" 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><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><hr></div><h1>Final Thoughts</h1><p>The main message of the paper is that, once you impose some realistic implementation assumptions, using a broader universe of firm characteristics is much more important than increasing the complexity of the functional forms used in the ML models. As ML becomes more widely used in finance, taking into account realistic implementation constraints is essential. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>References </h1><p>Chung, K. H. and H. Zhang (2014). &#8220;<a href="https://doi.org/10.1016/j.finmar.2013.02.004">A simple approximation of intraday spreads using daily data</a>&#8221;. Journal of Financial Markets 17, pp. 94&#8211;120.</p><p>Esakia, M., &amp; Goltz, F. (2025). <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5851562">What Drives the Performance of Machine Learning Factor Strategies?</a>. <em>Available at SSRN 5851562</em>.</p><p>Green, J., Hand, J. R., &amp; Zhang, X. F. (2017). <a href="https://www.jstor.org/stable/pdf/48616726.pdf">The characteristics that provide independent information about average US monthly stock returns</a>. <em>The Review of Financial Studies</em>, <em>30</em>(12), 4389-4436.</p><p>Gu, S., Kelly, B., &amp; Xiu, D. (2020). <a href="https://academic.oup.com/rfs/article-pdf/33/5/2223/33209812/hhaa009.pdf">Empirical asset pricing via machine learning</a>. <em>The Review of Financial Studies</em>, <em>33</em>(5), 2223-2273.</p><p>McLean, R. D., &amp; Pontiff, J. (2016). Does academic research destroy stock return predictability?. <em>The Journal of Finance</em>, <em>71</em>(1), 5-32.</p><p>Rubesam, A. (2022). <a href="https://www.sciencedirect.com/science/article/abs/pii/S1566014122000085">Machine learning portfolios with equal risk contributions: Evidence from the Brazilian market</a>. <em>Emerging Markets Review</em>, <em>51</em>, 100891.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I used a similar approach in my 2022 paper looking at application of ML to the Brazilian equity market (Rubesam, 2022).</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>GHZ is another influential paper that looks into the factor zoo, but relies only on linear models. The authors made their SAS code <a href="https://sites.google.com/site/jeremiahrgreenacctg/home">available to download</a> the firm characteristics data from CRSP/Compustat. This was before other initiatives like <a href="https://www.openassetpricing.com/">Open Source Asset Pricing</a> existed.</p></div></div>]]></content:encoded></item><item><title><![CDATA[The Pre-IPO Bailout]]></title><description><![CDATA[Some musings on this week's events]]></description><link>https://systematicallybiased.substack.com/p/the-pre-ipo-bailout</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/the-pre-ipo-bailout</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Sun, 07 Jun 2026 10:23:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/nJzo5TDfamk" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On November 18, 2008, the U.S. Senate Banking Committee held a <a href="https://www.banking.senate.gov/hearings/examining-the-state-of-the-domestic-automobile-industry">hearing</a> to evaluate the need for a $25 billion working capital &#8216;&#8216;bridge loan&#8217;&#8217; from the U.S. government to rescue domestic automakers. </p><p>The hearing lasted for over four hours. The CEOs of Ford, GM, and Chrysler were unable to convince lawmakers to provide their companies with the financial relief they so desperately needed. Ford&#8217;s CDS spread increased by over 1090 basis points that day (more than 21%), and its stock lost 25% on the next day (stock markets had closed before the meeting ended). </p><p>GM was already not in great shape prior to the crisis, having lost $10.6 billion in 2005, sought and failed to obtain U.S. government assistance in 2006 (loss of ~$2 billion), and lost another $38 billion in 2007. It eventually filed for Chapter 11 on June 1, 2009. The U.S. government eventually extended financing amounting to almost $50 billion as &#8220;debtor in possession&#8221;, becoming the largest shareholder of GM. </p><p>The stock of GM, which had been in the Dow Jones index for 84 years, was <strong><a href="https://www.marketwatch.com/story/gm-out-of-dow-after-bankruptcy">removed</a></strong> from the index and started trading in the &#8220;pink sheets&#8221;, a term that immediately reminds me of this scene from The Wolf of Wall Street, a movie to which I&#8217;m going to have to refer once more in this piece.</p><div id="youtube2-nJzo5TDfamk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nJzo5TDfamk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/nJzo5TDfamk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>So we have the following chain of events: </p><ol><li><p>A large, publicly listed U.S. company becomes distressed</p></li><li><p>They ask the U.S. government for a bailout</p></li><li><p>The U.S. government says no, and forces the company into Chapter 11</p></li><li><p>The company files for Chapter 11, is dropped from the DJIA</p></li><li><p>U.S. government provides bailout and becomes the largest shareholder</p></li></ol><div><hr></div><h1>Pre-IPO Bailouts?</h1><p>Last Friday, we saw some clear signs that the AI bubble (or whatever you want to call it) is running out of steam. After 9 consecutive up weeks, the S&amp;P 500 dropped by -2.6%, the Nasdaq Composite by -4.2%, and the DJIA by -1.4%. Some companies did much worse. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nraT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 424w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 848w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nraT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png" width="741" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:741,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:190004,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://garymarcus.substack.com/i/200841299?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140d78a4-6662-49f1-a029-883166bcd86a_782x1135.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 424w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 848w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nraT!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3323cc0b-18a2-4788-9919-d9596a31515c_741x1091.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">This image is from <a href="/__u/substack.com/home/post/p-200841299">this post</a> by Gary Marcus.</figcaption></figure></div><p>Then this happened:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.reuters.com/business/trump-says-his-team-will-look-into-us-taking-stake-ai-companies-2026-06-05/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 424w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 848w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rGmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png" width="750" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:750,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:334297,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.reuters.com/business/trump-says-his-team-will-look-into-us-taking-stake-ai-companies-2026-06-05/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200980310?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 424w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 848w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rGmK!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90dd533e-76b3-4af9-b6f7-747581eedbf5_750x607.png 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 aria-hidden="true" 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><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>A lot of people have seen this coming. <a href="https://www.nbcnews.com/business/business-news/openais-sam-altman-backtracks-cfos-government-backstop-talk-rcna242447">Back in November 2025</a>, the CFO of Open AI,  during a panel with the WSJ, used the work &#8220;backstop&#8221; when discussing the possibility that the U.S. government could form partnerships with the private sector to build out the infrastructure needed for AI. The media went into frenzy mode, and Sam Altman felt like he had to clarify things and explain how capitalism works. According to him, the government should not intervene, companies that make bad decisions should be allowed to fail, and we should let the markets sort it out. </p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/sama/status/1986514377470845007&quot;,&quot;full_text&quot;:&quot;I would like to clarify a few things.\n\nFirst, the obvious one: we do not have or want government guarantees for OpenAI datacenters. We believe that governments should not pick winners or losers, and that taxpayers should not bail out companies that make bad business decisions or&quot;,&quot;username&quot;:&quot;sama&quot;,&quot;name&quot;:&quot;Sam Altman&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2046764873200394240/r7BxVezs_normal.jpg&quot;,&quot;date&quot;:&quot;2025-11-06T19:21:49.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:5716,&quot;retweet_count&quot;:1439,&quot;like_count&quot;:12474,&quot;impression_count&quot;:7975664,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>I have to say that I fully agree with Mr. Altman here. If your company needs the U.S. government to buy shares in the IPO, that means your company failed the test. </p><div><hr></div><h1>Actively Gaming the Passive Investors</h1><p>This was then. Now, we have potentially three gigantic IPOs, including one that was supposed to be about rockets and satellites, but which turned out to also be a huge bet in AI. In his <a href="/__u/open.substack.com/pub/aswathdamodaran/p/revisiting-the-spacex-valuation-a?r=6w89b&amp;utm_campaign=post-expanded-share&amp;utm_medium=post%20viewer">post-prospectus update of the SpaceX valuation</a>, Aswath Damodaran writes: </p><blockquote><p>There are a multitude of risks that SpaceX faces in each of its businesses, but the one that I would be concerned about the most is that it will overreach in the AI business, beginning with an overestimate of the target market for AI products and services and the strength of its own competitive position in that market, and following through with investments that reflect those misplaced assessments.</p></blockquote><p>The SpaceX IPO story has been particularly colorful. Nasdaq&#8217;s <a href="https://www.reuters.com/business/new-nasdaq-rules-include-fast-entry-new-listings-benchmark-index-2026-03-30/">new &#8220;fast entry&#8221; IPO rules</a> for large caps, a change ostensibly made to &#8220;modernize&#8221; how large companies can enter the index, has been widely regarded as a &#8220;SpaceX&#8221; rule. SP Global thought a bit longer about it and <a href="https://www.ft.com/content/b39d9e91-ad91-4230-986a-aadd2ea92452">decided to say no</a> to changes in the S&amp;P 500 index rules, which require 12 months of trading before a stock is eligible for inclusion. </p><div class="comment" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/&quot;,&quot;commentId&quot;:270907051,&quot;comment&quot;:{&quot;id&quot;:270907051,&quot;date&quot;:&quot;2026-06-05T05:57:47.744Z&quot;,&quot;edited_at&quot;:null,&quot;body&quot;:&quot;Some adults were in the room. SpaceX will need to wait at least one year to be included in the S&amp;P 500.\n\nhttps://www.spglobal.com/spdji/en/documents/indexnews/announcements/20260604-1483731/1483731_spdji-us-indices-megacaps-results-20260604.pdf&quot;,&quot;body_json&quot;:{&quot;attrs&quot;:{&quot;schemaVersion&quot;:&quot;v1&quot;},&quot;type&quot;:&quot;doc&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;Some adults were in the room. SpaceX will need to wait at least one year to be included in the S&amp;P 500.&quot;}]},{&quot;type&quot;:&quot;paragraph&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;marks&quot;:[{&quot;type&quot;:&quot;link&quot;,&quot;attrs&quot;:{&quot;rel&quot;:&quot;nofollow ugc noopener&quot;,&quot;target&quot;:&quot;_blank&quot;,&quot;href&quot;:&quot;https://www.spglobal.com/spdji/en/documents/indexnews/announcements/20260604-1483731/1483731_spdji-us-indices-megacaps-results-20260604.pdf&quot;,&quot;class&quot;:&quot;note-link&quot;}}],&quot;text&quot;:&quot;https://www.spglobal.com/spdji/en/documents/indexnews/announcements/20260604-1483731/1483731_spdji-us-indices-megacaps-results-20260604.pdf&quot;}]}]},&quot;restacks&quot;:0,&quot;reaction_count&quot;:2,&quot;children_count&quot;:0,&quot;attachments&quot;:[{&quot;id&quot;:&quot;093130dc-09ed-41cd-ace3-661690b60e18&quot;,&quot;type&quot;:&quot;image&quot;,&quot;imageUrl&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f09d2f52-fcab-45f6-ad35-f14bdd94963c_1284x503.png&quot;,&quot;imageWidth&quot;:1284,&quot;imageHeight&quot;:503,&quot;explicit&quot;:false}],&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;user_id&quot;:11581391,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;user_bestseller_tier&quot;:null,&quot;userStatus&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;subscriber&quot;:null}},&quot;source&quot;:null,&quot;forumChannel&quot;:null}" data-component-name="CommentPlaceholder"></div><p>S&amp;P now stands out as the largest index provider that does not allow fast track. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!CbCR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 424w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 848w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!CbCR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png" width="720" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55917,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200980310?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 424w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 848w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 1272w, /__u/substackcdn.com/image/fetch/$s_!CbCR!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea115ed4-46c4-4dde-8af9-a5e457bd5cf8_720x790.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Source: <a href="https://www.ft.com/content/b39d9e91-ad91-4230-986a-aadd2ea92452">FT</a></figcaption></figure></div><p>There are two sides to this story. One is that indices are supposed to represent the market. Therefore, companies should be added to them as quickly as possible. The other is that active investors in the markets need some time to work their magic and produce price discovery. Adding very large companies so quickly after the IPO would create distortions, as the passive investors are forced to buy stock at a price that is probably not the best. In the case of SpaceX, the small percentage of shares that will be floated, and how they will be represented in the indices, would compound the problem further. </p><p>Recall that GM was dropped from the DJIA index for being bad. One reason the market knew it was bad is because of active investors and price discovery. In my view, allowing huge companies to enter the indices so quickly is akin to asking passive investors to hold the bag, before active investors have a real chance to show everyone what&#8217;s in it.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> Hanno Lustig has an interesting article about how this plays out and how changes might blur the line of active/passive. </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:200637370,&quot;url&quot;:&quot;https://thetwocents.substack.com/p/whos-looking-out-for-passive-investors&quot;,&quot;publication_id&quot;:7882491,&quot;embedding_publication_id&quot;:null,&quot;publication_name&quot;:&quot;The Two Cents&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!SaFo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25a0ab54-9e6b-49b5-9e33-9bbc96664958_747x747.png&quot;,&quot;title&quot;:&quot;Who's looking out for passive investors? &quot;,&quot;truncated_body_text&quot;:&quot;When you think about asset management, managing other people&#8217;s money, the first thing you have to worry about is the alignment of incentives. To be more precise, you worry about the alignment of the incentives of those who manage the money, e.g., the GPs at hedge funds, private equity funds, and the managers of the mutual funds, with the objective func&#8230;&quot;,&quot;date&quot;:&quot;2026-06-05T15:39:36.848Z&quot;,&quot;like_count&quot;:27,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:15308999,&quot;name&quot;:&quot;Hanno Lustig&quot;,&quot;handle&quot;:&quot;hannolustig&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c171d95-f94f-4432-8b6b-9c45cea17e4c_533x533.jpeg&quot;,&quot;bio&quot;:&quot;Economist at Stanford. Fascinated by exchange rates. Really wanted to be a pilot. Actually, taxes do fund spending.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-04-25T06:15:36.614Z&quot;,&quot;reader_installed_at&quot;:&quot;2026-04-08T03:30:48.252Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:8043668,&quot;user_id&quot;:15308999,&quot;publication_id&quot;:7882491,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:7882491,&quot;name&quot;:&quot;The Two Cents&quot;,&quot;subdomain&quot;:&quot;thetwocents&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;A space for musings on economic policy and political economy by Hanno Lustig and Romain Wacziarg&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25a0ab54-9e6b-49b5-9e33-9bbc96664958_747x747.png&quot;,&quot;author_id&quot;:73455464,&quot;primary_user_id&quot;:73455464,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-02-03T04:40:47.270Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Romain Wacziarg&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}},{&quot;id&quot;:8042774,&quot;user_id&quot;:15308999,&quot;publication_id&quot;:7881719,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:7881719,&quot;name&quot;:&quot;Hanno's Substack&quot;,&quot;subdomain&quot;:&quot;twoeurocents&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;My personal Substack&quot;,&quot;logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/eeecdab1-8108-4749-96cf-8ec3d6b5424b_144x144.png&quot;,&quot;author_id&quot;:15308999,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-02-03T02:59:15.158Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Hanno Lustig&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;twitter_screen_name&quot;:&quot;HannoLustig&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="/__u/thetwocents.substack.com/p/whos-looking-out-for-passive-investors?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="/__u/substackcdn.com/image/fetch/$s_!SaFo!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25a0ab54-9e6b-49b5-9e33-9bbc96664958_747x747.png" loading="lazy"><span class="embedded-post-publication-name">The Two Cents</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Who's looking out for passive investors? </div></div><div class="embedded-post-body">When you think about asset management, managing other people&#8217;s money, the first thing you have to worry about is the alignment of incentives. To be more precise, you worry about the alignment of the incentives of those who manage the money, e.g., the GPs at hedge funds, private equity funds, and the managers of the mutual funds, with the objective func&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 27 likes &#183; 1 comment &#183; Hanno Lustig</div></a></div><div><hr></div><h1>AI Needs More Cash</h1><p>AI is a huge cash burner, and there are increasingly warnings that &#8220;the math ain&#8217;t mathing&#8221;. After <a href="https://www.reuters.com/legal/transactional/alphabet-raise-80-billion-equity-capital-ai-spending-2026-06-01/">Alphabet announced plans to raise $80 billion</a>, <a href="https://www.ft.com/content/e6df645d-1709-4a77-b15d-aa43a0209efd?syn-25a6b1a6=1">Meta jumped in</a> to announce that they too want to sell some stock. Meta shares fell -5.5%. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!J6Fv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 424w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 848w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!J6Fv!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif" width="909" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:909,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;https://gifdb.com/images/high/the-math-ain-t-mathing-meme-afkcazyh3v3irv2z.gif&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="https://gifdb.com/images/high/the-math-ain-t-mathing-meme-afkcazyh3v3irv2z.gif" title="https://gifdb.com/images/high/the-math-ain-t-mathing-meme-afkcazyh3v3irv2z.gif" srcset="/__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 424w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 848w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!J6Fv!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a131f7d-1a96-4d4f-953e-5c109fd70f0f_909x500.gif 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 aria-hidden="true" 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><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>At the same time, we learned that SpaceX&#8217;s AI division is <a href="/__u/substack.com/home/post/p-200841299">leasing compute to Google and Anthropic</a>. </p><p>I find this all very, very concerning: </p><ol><li><p>SpaceX&#8217;s IPO is partly a huge bet on AI and the valuation hinges on very optimistic assumptions for the target market, as well as SpaceX&#8217;s role in it. </p></li><li><p>Google and Meta selling equity to fund their own AI adventures. </p></li><li><p>Google and Anthropic leasing capacity from SpaceX, which suggests that SpaceX bought much more capacity than they needed. </p></li><li><p>POTUS stating that the U.S. government may be involved in taking a stake in AI companies as soon as the market corrected a bit. </p></li></ol><p>I think AI is incredibly useful, but everything is pointing in the same direction: the current business model is simply not sustainable. Asking the taxpayer to prop up companies that overreached in their race to the top is not the answer. Of course, if the idea of the government taking a stake in AI companies gains traction, there will be some narrative about national interests/security and answering &#8220;the threat of Mordor&#8221;.  Investors should not fall for it. </p><div id="youtube2-c1Vtzn3MZyA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;c1Vtzn3MZyA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/c1Vtzn3MZyA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Although I would note that there are probably a lot of retail investors that really want to buy anything associated with Elon Musk. </p></div></div>]]></content:encoded></item><item><title><![CDATA[Resources to Learn for Free*]]></title><description><![CDATA[*nothing is free. Learning costs attention and time. And coffee.]]></description><link>https://systematicallybiased.substack.com/p/resources-to-learn-for-free</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/resources-to-learn-for-free</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Wed, 03 Jun 2026 19:33:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!s3e1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The internet is full of amazing resources to learn just about anything. I see a lot of &#8220;bite-sized&#8221; content around, by which I mean short pieces, to be consumed quickly, that provide explanations or summaries of complicated concepts or topics. Some of it is actually quite good, especially those that illustrate complicated concepts through high quality visualisations. </p><p>But there&#8217;s a part of me that is sceptical of how much we can learn by consuming this &#8220;fast food&#8221; knowledge. It&#8217;s like hoping we can get a proper nutrition if we make a few stops per day to get snacks at different shops. A more realistic expectation would be that we would have to invest much more time and effort into learning about nutrition, which foods to buy, how to prepare meals properly, and so on. </p><p>Luckily, it has never been easier to find high quality learning resources. Of course, it still takes time and effort to learn something well, but you can&#8217;t get something for nothing. </p><p>I&#8217;ll start this post with some free resources to learn about machine learning. Hopefully, I will expand it over time to cover other topics as well. Feel free to comment with other resources I should add to this list. </p><p>Click on the corresponding images for direct links to the books. </p><div><hr></div><h1>Machine Learning</h1><h2>1. An Introduction to Statistical Learning with Applications in R/Python (James, Witten, Hastie, Tbishirani/Taylor)</h2><p>This book is accessible to anyone with undergrad level of stats and contains many examples of applications. There are two versions of this book, one with examples in R, another with examples in Python, because it&#8217;s never not the right time to start a debate about which one is better. I used parts of this book in a course I used to teach on machine learning for business school students.</p><p><strong>Pre-requisites</strong>: an elementary course in statistics; basic linear algebra. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hastie.su.domains/ISLR2/ISLRv2_corrected_June_2023.pdf.download.html" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 424w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 848w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 1272w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!s3e1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png" width="715" height="1205" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1bae5370-23b3-4003-a463-422da75eebab_715x1205.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1205,&quot;width&quot;:715,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:687565,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://hastie.su.domains/ISLR2/ISLRv2_corrected_June_2023.pdf.download.html&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 424w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 848w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 1272w, /__u/substackcdn.com/image/fetch/$s_!s3e1!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bae5370-23b3-4003-a463-422da75eebab_715x1205.png 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 aria-hidden="true" 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><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://hastie.su.domains/ISLP/ISLP_website.pdf.download.html" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 424w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 848w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 1272w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!whMt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png" width="782" height="1205" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1205,&quot;width&quot;:782,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:732202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://hastie.su.domains/ISLP/ISLP_website.pdf.download.html&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 424w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 848w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 1272w, /__u/substackcdn.com/image/fetch/$s_!whMt!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff726a156-3a12-4931-8ae5-a4e240f713d4_782x1205.png 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 aria-hidden="true" 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><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><hr></div><h2>2. The Elements of Statistical Learning (Hastie, Tbishirani, and Friedman)</h2><p>This is the big brother of the previous book. The original was released in 2001 and was one of the first books on statistical learning. The second edition updated it with more recent topics. Compared to the first book on this list, this one covers more things, and in much more detail.</p><p><strong>Pre-requisites</strong>: this book is written in simple language, but it is intended for graduate students and assumes more familiarity with statistics and mathematics compared to the previous one. Particularly, it assumes a decent grasp of regression analysis.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hastie.su.domains/ElemStatLearn/download.html" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 424w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 848w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7Wd8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png" width="849" height="1234" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17d66c23-0356-4321-9123-943af6286b2c_849x1234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1234,&quot;width&quot;:849,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:496837,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://hastie.su.domains/ElemStatLearn/download.html&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 424w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 848w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7Wd8!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17d66c23-0356-4321-9123-943af6286b2c_849x1234.png 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 aria-hidden="true" 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><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><hr></div><h2>3. Pattern Recognition and Machine Learning (Bishop)</h2><p>This is another excellent book that has been around for a long time, and the updated edition is excellent. This book puts a lot of emphasis on a Bayesian viewpoint.</p><p><strong>Pre-requisites</strong>: this book is intended for graduate students. It assumes you know multivariate calculus and linear algebra. It does include a review of probability, but in my opinion, this is not a book for someone who doesn&#8217;t already have a solid background in that topic. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.microsoft.com/en-us/research/wp-content/uploads/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 424w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 848w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1wbB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png" width="945" height="1235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1235,&quot;width&quot;:945,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2211732,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.microsoft.com/en-us/research/wp-content/uploads/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 424w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 848w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1wbB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40798638-bc93-48c9-be86-f323f23f46e2_945x1235.png 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 aria-hidden="true" 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><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><hr></div><h2>4. Probabilistic Machine Learning: An Introduction (Murphy)</h2><p>I&#8217;m less familiar with this book than with the other ML books above, but this is another comprehensive book that is available for free and has <a href="https://github.com/probml/pyprobml">accompanying Python code</a>. There&#8217;s also a companion book on more advanced topics, which is also <a href="https://github.com/probml/pml2-book/releases/latest/download/book2.pdf">free</a>. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://github.com/probml/pml-book/releases/latest/download/book1.pdf" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rH9v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png" width="886" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9359c43-6183-4a8b-a91c-254da3610129_886x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:886,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:719030,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://github.com/probml/pml-book/releases/latest/download/book1.pdf&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rH9v!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9359c43-6183-4a8b-a91c-254da3610129_886x1024.png 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 aria-hidden="true" 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><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></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Very helpfully, the book indicates the more complicated bits to the reader with this lovely image:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fbW_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 424w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 848w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fbW_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png" width="990" height="136" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:136,&quot;width&quot;:990,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31415,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200461757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 424w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 848w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fbW_!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681c6080-62b0-48a1-aec0-49e2c49ccb7e_990x136.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Pockets of Replicability (Post #6)]]></title><description><![CDATA[A series of short articles on finance research replicability. On this issue: "Common risk factors in the cross-section of corporate bond returns"]]></description><link>https://systematicallybiased.substack.com/p/pockets-of-replicability-post-6</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/pockets-of-replicability-post-6</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Tue, 02 Jun 2026 20:40:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cwW_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In asset pricing, a stochastic discount factor (SDF) is a special random variable with the property that the price of any asset <em>i </em>can be obtained as the expected value of the asset&#8217;s payoff multiplied by the SDF: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_i=\\mathbb{E}\\left[\\tilde{m}\\tilde{x}_i\\right]&quot;,&quot;id&quot;:&quot;EWNNSXELIA&quot;}" data-component-name="LatexBlockToDOM"></div><p>The existence of a strictly positive SDF is equivalent to the absence of arbitrage opportunities. </p><p>Let <em>R<sub>i</sub></em> denote the asset&#8217;s gross return and <em>R<sub>f</sub></em> the gross risk-free return. We can rearrange the pricing equation to show that risk premia are determined by covariation with the SDF:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\mathbb{E}[\\tilde{R}_i]-R_f=-R_f \\text{cov}(\\tilde{m},\\tilde{R})&quot;,&quot;id&quot;:&quot;OXTJQISYAA&quot;}" data-component-name="LatexBlockToDOM"></div><p>Asset pricing theory is concerned with specifying a particular form for the SDF, implying that expected returns are determined by covariations with some set of variables or factors. A central question in asset pricing, therefore, is to determine which factors enter the SDF. Since these are the factors that help explain cross-sectional differences in expected returns, this has not only economic but also practical implications, as investors can use these factors to construct and hedge portfolios. </p><p>However, economic theory does not provide much guidance on the precise structure of the SDF, which means that we must rely on empirical studies to test which factors actually matter. This is a non-trivial task that involves many steps and can be affected by data quality/availability and several design choices. </p><div><hr></div><h1>The (Equity) Factor Zoo</h1><p>In the CAPM, the SDF is an affine function of a single systematic risk factor: the market return. Therefore, under the CAPM, the expected return on any asset is entirely determined by its covariance with the market (i.e. its market beta). Extensive research on the stock market has shown that the CAPM is unable to explain the returns on many different types of portfolios. This list of &#8220;anomalies&#8221; eventually morphed into what we today call the &#8220;factor zoo&#8221;: a large collection that includes potential risk factors or, more generally, variables that may represent mispricings, trading frictions,  or that may simply be the result of data mining. <a href="/__u/systematicallybiased.substack.com/p/pockets-of-replicability-post-3">Post #3</a> of this series discussed some Bayesian approaches to select the &#8220;right&#8221; factors from the factor zoo, and <a href="/__u/systematicallybiased.substack.com/p/pockets-of-replicability-post5">Post #5</a> discussed the issues in the replication of the anomalies in the factor zoo.  </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>Equity markets have been extensively studied, leading to the hundreds of factors that we collectively call the &#8220;factor zoo&#8221;. In contrast, fewer studies have looked at corporate bonds. The main reasons for this are related to data availability and complexity. High-quality bond data is much more difficult to obtain than equity data. A single company can have hundreds of bonds with very different characteristics (maturity, seniority, optionality, coupon structure, etc). In addition, bond trading can be much less liquid and generally happens in over-the-counter markets. </p><div><hr></div><h1>Factors for Bond Returns</h1><p>In this post, I&#8217;m going to discuss the paper &#8220;Common risk factors in the cross-section of corporate bond returns&#8221;, by Jennie Bai, Turan G. Bali, and Quan Wen. This paper was published in the Journal of Financial Economics in 2019, but subsequently <a href="https://www.sciencedirect.com/science/article/pii/S0304405X23001617">retracted by the authors in 2023</a>. The reason for the retraction was straightforward. Another group of authors (Alexander Dickerson, Philippe Mueller, and Cesare Robotti) tried to replicate the results of Bai et al. and discovered an issue of temporal misalignment. Bai et al. confirmed that the issue was indeed present, and that their paper&#8217;s results did not reproduce once the issue was corrected.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wZCB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wZCB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png" width="1130" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1130,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1025734,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200321486?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wZCB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbab839b6-0ecf-4d0b-afec-187e172a2587_1130x1536.png 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 aria-hidden="true" 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><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 Bai et al. paper had a strong and economically intuitive result. The authors had identified three factors that explained differences in returns of corporate bonds issued by similar companies: downside risk, credit risk, and liquidity risk. Downside risk, in particular, is an intuitively appealing explanation of bond returns, as bond investors do not participate in the upside in the same way as equity investors. Their preferred model appeared to explain returns of bond portfolios quite well. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1Ku9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1Ku9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png" width="1080" height="1448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1448,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:871988,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200321486?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Ku9!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa02e93b0-dfd8-40ee-862e-06bfcd3141a3_1080x1448.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Figure 2 from Bai et al. (2019)</figcaption></figure></div><p>The strong results of the paper and the fact that the factor data were made available by Bai et al. led to their four-factor model quickly becoming a benchmark in other corporate bond papers. </p><div><hr></div><h1>The Replication</h1><p><a href="https://openbondassetpricing.com/wp-content/uploads/2026/04/priced-risk-corporate-bonds-dickerson.pdf">Dickerson, Mueller, and Robotti (2023)</a> revisited the results of Bai et al. (2019). They found two main issues. The first, and most important, was a temporal misalignment. For most of the sample, the downside risk and credit risk factor returns reported for month <em>t</em> were actually the returns for month <em>t</em> + 1. In other words, the factors inadvertently incorporated information from the future. The liquidity-risk factor was also misaligned during the final two years of the sample, although in the opposite direction: its returns lagged by one month.</p><p>The second issue concerned the construction of the bond-market factor. Bai et al. truncated extreme returns in both tails of the distribution. This reduced the measured risk premium of the market factor and made the additional downside risk, credit risk, and liquidity risk factors appear stronger in multivariate tests.</p><p>Using multiple bond databases and correcting the misalignment issue, Dickerson et al. found that previously proposed corporate-bond factors generally did not add meaningful explanatory power beyond the value-weighted bond-market factor. In other words, the bond CAPM was difficult to outperform. The only marginal exception was traded liquidity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!cwW_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 424w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 848w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 1272w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!cwW_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png" width="1456" height="1706" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1706,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1254013,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/200321486?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 424w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 848w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 1272w, /__u/substackcdn.com/image/fetch/$s_!cwW_!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F618a771b-c23f-4035-b518-586400fbbce3_1490x1746.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Figure 1 from Dickerson, Mueller, and Robotti (2023)</figcaption></figure></div><p>This conclusion is striking because the original model appeared to work extremely well. Bai et al. had reported that their four-factor model explained much of the variation in the returns of corporate-bond portfolios, with predicted and realized returns clustering closely around the 45-degree line. </p><p>In a more recent paper, <a href="https://arxiv.org/abs/2604.07880?utm_source=chatgpt.com">Dickerson, Robotti, and Rossetti (2026)</a> broaden the exercise to a corporate-bond &#8220;factor zoo&#8221; of 108 signals. They argue that measurement error and look-ahead bias affect a wider segment of the literature, and that most reported bond factors do not retain statistically significant bond CAPM alphas after correction. The Bai et al. episode, therefore, is a reminder that corporate bond data are complex, and that empirical bond pricing studies can be sensitive to data construction, temporal alignment, liquidity measurement, and other methodological choices.</p><div><hr></div><h1>The Bayesians Join the Fray</h1><p>In a paper recently published online in the <em>JFE</em>, <a href="https://www.sciencedirect.com/science/article/pii/S0304405X26000668/pdfft?md5=313c54ce70a57002ec4be8bfb99b3794&amp;pid=1-s2.0-S0304405X26000668-main.pdf">Dickerson, Julliard, and Mueller (2026)</a> use a Bayesian approach (similar to the ones discussed in <a href="/__u/systematicallybiased.substack.com/p/pockets-of-replicability-post-3">Post #3</a>, but adapted to handle multiple asset classes) to jointly price the cross-section of stock and bond returns. Their results show that equity and nontradable factors are sufficient to price corporate bonds once their Treasury term-structure risk is accounted for. Tradable bond factors become largely redundant for pricing the remaining credit component. However, bond factors, together with nontradable factors, remain necessary to price the Treasury component, which stock factors do not appear to capture.</p><div><hr></div><h1>Final Thoughts</h1><p>The retraction of the Bai et al. paper, in my view, is an example of the system working as it should. The problem was identified because the factor data were publicly available. An independent group of authors found the issue and flagged it. As a result, our understanding of the subject improved.</p><p>An interesting point raised by both Dickerson, Mueller, and Robotti (2023) and Dickerson, Julliard, and Mueller (2026) is the large amount of model uncertainty present in empirical asset pricing studies. The latter paper states: </p><blockquote><p>Overall, we find that the true latent SDF is <em>dense</em> in the space of observable nontradable and tradable bond and stock factors. Importantly, this implies that <em>all</em> low dimensional observable factor models proposed to date are affected by severe misspecification and rejected by the data.</p></blockquote><p>In other words, substantial model uncertainty favors aggregation through Bayesian model averaging rather than reliance on a single sparse representation. This is similar to the conclusion reached by papers that apply Bayesian methods to the equity factor zoo. In Dickerson, Julliard, and Mueller (2026), the model space is gigantic: more than 18 quadrillion possible models. Even without the replication issue, a four-factor model such as the one proposed by Bai et al. should therefore be understood as one possible low-dimensional approximation of an unobservable SDF, rather than as its definitive representation.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>References</h1><p>Bai, Jennie, Turan G. Bali, and Quan Wen. "RETRACTED: Common risk factors in the cross-section of corporate bond returns." (2019): 619-642.</p><p>Dickerson, Alexander, Christian Julliard, and Philippe Mueller. &#8220;The co-pricing factor zoo.&#8221; <em>Journal of Financial Economics</em> 182 (2026): 104295.</p><p>Dickerson, Alexander, Philippe Mueller, and Cesare Robotti. &#8220;Priced risk in corporate bonds.&#8221; <em>Journal of Financial Economics</em> 150, no. 2 (2023): 103707.</p><p>Dickerson, Alexander, Cesare Robotti, and Giulio Rossetti. &#8220;The Corporate Bond Factor Replication Crisis.&#8221; <em>arXiv preprint arXiv:2604.07880</em> (2026).</p>]]></content:encoded></item><item><title><![CDATA[Backtesting Mean-Variance Alternatives]]></title><description><![CDATA[A practical comparison of mean-variance alternatives across a diversified ETF universe]]></description><link>https://systematicallybiased.substack.com/p/backtesting-mean-variance-alternatives</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/backtesting-mean-variance-alternatives</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Thu, 28 May 2026 17:22:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pBMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In a <a href="/__u/systematicallybiased.substack.com/p/beyond-mean-variance-optimization?r=6w89b">previous post</a>, I discussed several alternatives to mean-variance optimization (MVO), which are summarized below:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/AgQsv/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f93b9aa5-4ffd-45f7-bc7c-3844ff80d3ac_1220x918.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c60b11e4-be71-4eb5-b221-fc4ae77516ae_1220x988.png&quot;,&quot;height&quot;:501,&quot;title&quot;:&quot;Summary of Alternatives to MVO&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:false}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/AgQsv/1/" width="730" height="501" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>In this post, I&#8217;m going to put them all to the (back)test. To keep things simple but also practical, I&#8217;ll use a common universe of ETFs representing different asset classes and regions, and I&#8217;ll make some choices about how to group them into buckets to avoid undue concentrations.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>Asset Universe and Data</h1><p>I start with the following universe of ETFs. Although there are arguably some better (i.e. cheaper) ETFs for at least some of the asset classes, I chose these to maximize the length of the backtest period. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/FVqaL/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2040ef9-e404-4a2b-8d80-df8c699c08e4_1220x674.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19278a10-d149-4ea8-af2e-a4298b8cacd2_1220x674.png&quot;,&quot;height&quot;:333,&quot;title&quot;:&quot;Created with Datawrapper&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:false}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/FVqaL/1/" width="730" height="333" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The ETFs belong to different asset classes/regions To allow me to control overall exposures, I assign them to an upper level &#8220;allocation bucket&#8221;. I would note that both my definitions of  asset class and allocations buckets involve a degree of subjectivity. For example, I could have put REITs, Commodities, and Gold into one big bucket and called it &#8220;Alternatives&#8221;, but I preferred to split real estate from commodities and gold. </p><p>The ETFs all have different inception dates. To extend the backtest as much as possible, I first download total return series for the ETFs as well as their corresponding indices from Bloomberg. Then, for each ETF, if the ETF data starts after the index data, I backfill the series using the index returns. This gives me synthetic series starting in 2000 for almost all ETFs, the exceptions being VNQI (start date: 02/01/2001) and BNDX (start date: 04/01/2013). </p><p>After completing this step, I end up with the following series:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/YDB4T/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19edc797-d045-4417-abf9-fa726e4cc84e_1220x878.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46a7e264-2c55-4568-bb15-1dcba46a373b_1220x878.png&quot;,&quot;height&quot;:435,&quot;title&quot;:&quot;Created with Datawrapper&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/YDB4T/1/" width="730" height="435" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h1>Setting Up the Backtest</h1><p>I use 3 years of daily data to estimate inputs for all methods, so the backtests start in 2003. On each rebalance date, I require an ETF to have available data over the last 3 years. Portfolios are rebalanced at the end of each month, and held for one month. </p><p>To avoid extreme allocations to individual assets/buckets, I constrain the optimizer for most optimizations to avoid solutions that drift too far from a diversified multi-asset allocation. At the allocation bucket level, I use the following constraints:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/SiQRc/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd7e6276-702a-49bf-899a-c91a12d4cbdc_1220x472.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72a968a4-1440-4944-bc7c-4428751b4bf8_1220x542.png&quot;,&quot;height&quot;:265,&quot;title&quot;:&quot;Bucket Constraints&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/SiQRc/1/" width="730" height="265" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>At the individual ETF level, I use the following constraints: </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/7YJO8/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f777d164-1d7e-4d33-9cc8-d0e7935f05a8_1220x842.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12e6d953-0488-4495-9979-b4c7c42c6ac2_1220x912.png&quot;,&quot;height&quot;:453,&quot;title&quot;:&quot;ETF Constraints&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/7YJO8/1/" width="730" height="453" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>In my view, these constraints embed a relative flexible asset allocation policy, while also preventing overly concentrated portfolios. </p><p>I used simple historical estimates for expected returns and Ledoit-Wolf shrinkage estimator for the covariance matrix.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> All optimizations were done using the <code>skfolio</code> python package. I clean-up weights to remove very small weights, and use some reasonable failsafes in case optimizations fails. </p><div><hr></div><h1>The Models</h1><p>I consider the following allocation models. With the exception of the risk budget portfolio, all other optimizations are done using the constraints discussed previously. Also, it should be noted that both the Global 60/40 Benchmark and the 1/<em>N</em> portfolio are feasible under the set of constraints. </p><h3>1. Global 60/40 Benchmark: </h3><p>A simple strategic allocation: 40% U.S. equities, 20% international equities, and 40% bonds, with a global tilt through EFA, EEM, and BNDX. The allocations within equity (SPY, EFA, EEM) and fixed income (AGG, BNDX) represent loosely the breakdown of the market cap of the markets represented by the ETFs.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>  </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/DFqNn/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1380cab0-a157-4976-b5bf-7e1bb4c9d297_1220x546.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71e70a17-ff4e-4948-a34c-d53967ed89a4_1220x616.png&quot;,&quot;height&quot;:303,&quot;title&quot;:&quot;Global 60/40 Allocations&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/DFqNn/1/" width="730" height="303" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h3><strong>2. 1/</strong><em><strong>N</strong></em><strong> Portfolio</strong></h3><p>This is an equally weighted portfolio of all available assets on each month. Note that applying 1/<em>N</em> across these ETFs/asset classes is not an innocuous or view-free allocation decision. It implies the following allocations: 33.33% to equity, 22.2% to bonds, 22.22% to REITs, and 22.22% to Commodities/Gold (11.11% each). </p><h3><strong>3. Minimum Variance Portfolio (MVP)</strong></h3><p>This portfolio chooses weights to minimize overall portfolio volatility available within the constraints.</p><h3><strong>4. Mean-Variance Optimization with Target Volatility (MVO </strong><em><strong>&#963;</strong></em><strong>=10%)</strong> </h3><p>This portfolio chooses the highest-return it can find while targeting a fixed volatility level of 10%.</p><h3>5. Mean-Semivariance Portfolio (Mean-SV)</h3><p>This portfolio optimizes expected return subject to a target semivariance equal to the realized semi-variance of the Global 60/40 portfolio. The semi-variance is calculated relative to a target return of zero. </p><h3>6. Mean-CVaR Portfolio (Mean-CVaR)</h3><p>This portfolio optimizes with respect to tail risk rather than volatility. CVaR measures the average loss in the worst part of the return distribution, so this approach is designed to be more sensitive to extreme downside events. I use a confidence level &#946;=0.95 and a target CVaR equal to the CVaR of the Global 60/40 portfolio.</p><h3>7. Maximum Diversification Portfolio (MDP)</h3><p>This portfolio maximizes the diversification ratio, favoring assets that contribute distinct risk exposures rather than moving closely together. </p><h3>8. Risk Budget Portfolio (RB)</h3><p>This portfolio allocates portfolio risk, rather than capital, across assets. Note that the risk budget approach is sensitive to the choice of the assets. For this reason, I decided to implement risk budgets across the allocation buckets: </p><ul><li><p>Equities: 40% (split equally between SPY, EFA, and EEM)</p></li><li><p>Fixed Income: 40% (split equally between AGG and BNDX)</p></li><li><p>Real Estate: 10% (split equally between IYR and VNQI)</p></li><li><p>Commodities/Gold: 10% (split equally between DBC and GLD)</p></li></ul><p>This results in ETF-level risk budgets that vary between 5% to 20%. Note that a risk parity solution at the ETF level would allocate 11.1% (1/9) to each ETF, which would result in a different risk budget at the bucket level.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>  It should also be noted that for the RB portfolio, the asset-level and bucket constraints on portfolio weights do not apply.</p><div><hr></div><h1>Results</h1><p>The backtests cover the period from February 2003 to April 2026. The table below shows summary statistics of all the models. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/ZzxSR/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f117cdb5-b91b-41cd-9bb9-1ff7db4f5a09_1220x932.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78721704-2b95-47f0-a95b-28b9c4713715_1220x1002.png&quot;,&quot;height&quot;:523,&quot;title&quot;:&quot;Return Statistics&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/ZzxSR/1/" width="730" height="523" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>Before looking at the numbers, it&#8217;s important to note a few things: </p><ul><li><p>Since the strategies have different levels of risk, comparison of most statistics is not appropriate. In special, comparing returns and maximum drawdowns would be misleading. </p></li><li><p>The alternative allocation models I considered have different objectives. Some of the metrics are directly related to certain objectives; others are not. For example, none of the methods directly relate to maximum drawdown. While we can certainly analyze the realized maximum drawdowns, we can&#8217;t really make any conclusions about the methods in general based on this.  </p></li><li><p>In the case of the risk-based models (MVP, MDP, and RB) in particular, it&#8217;s important in my view to look at statistics related to what these methods try to achieve.  For example, within the methods that implement the constraints, MVP achieves the lowest volatility, which suggests the objective of this model is attained.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>  Likewise, when looking at MDP, we should probably look at other metrics that directly relate to the diversification ratio. For RB, the primary objective is to attain the desired risk budget, which the method does. </p></li></ul><p>In order to make the strategies easier to compare, the table below shows the same statistics, but with the volatility of all strategies scaled to 10%. The best performing strategies in terms of risk-adjusted ratio metrics (Sharpe and Sortino ratio) are the mean-risk optimizations, which all produce very similar results.  </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/aZgU0/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19530575-caf6-419a-a051-bc5e4fd539f9_1220x932.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fe144f5-8c29-4b2a-93db-5aa1d2d3f16d_1220x1002.png&quot;,&quot;height&quot;:506,&quot;title&quot;:&quot;Return Statistics (volatility scaled to 10%)&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/aZgU0/2/" width="730" height="506" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The animation below shows the equity curves for all vol-scaled strategies. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;54621622-92e5-4eff-87b7-11b4305fb293&quot;,&quot;duration&quot;:null}"></div><p>The graphs below show the allocations on each rebalance date. A few points to note: </p><ul><li><p>MVP allocates significantly to bonds, as expected. Over the second half of the sample, the bucket level constraint is binding most of the time.</p></li><li><p>The mean-risk (MVO, Mean-SV, Mean-CVaR) allocations follow almost identical patterns, with more volatility in allocations over time compared with MDP and RB. </p></li><li><p>MVP and MDP do not allocate to REITs at all over the second half of the sample. This is explained by the fact that the correlation between REITs and equity is significantly higher over the second period. As a result, there is little diversification to be gained by adding REITs to the portfolio.</p></li><li><p>The allocations of RB are very bond-heavy (as expected) and generally stable over time. </p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pBMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 424w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 848w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pBMe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png" width="1456" height="1299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1299,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:536444,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/199367837?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 424w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 848w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pBMe!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b921877-6ea6-4df7-a155-658598e6acae_3162x2822.png 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 aria-hidden="true" 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><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><figcaption class="image-caption"></figcaption></figure></div><p>The table below shows the average monthly turnover of the models, computed from drifted weights and assuming a conservative one-way transaction cost of 25bps.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a>  Mean-risk approaches have higher turnover compared to other strategies, but the transaction costs remain very manageable. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/mSiMY/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/469a9e47-1aa0-4dd0-8de4-3fcaedccc13c_1220x768.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34d724b6-5501-40b7-bb32-babcea75d416_1220x838.png&quot;,&quot;height&quot;:421,&quot;title&quot;:&quot;Average Monthly Turnover&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/mSiMY/2/" width="730" height="421" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h1>Final Thoughts</h1><p>The objective of this post was to show a practical implementation of alternative methods to mean-variance optimization (MVO) for a diversified asset universe covering major asset classes. In this backtest, alternative mean-risk portfolio construction approaches, such as mean-semivariance and mean-CVaR, produced almost identical results to MVO. After scaling the strategies to the same volatility, the mean-risk optimization models also delivered better risk-adjusted performance than simpler allocations, including a global 60/40 benchmark and the 1/<em>N</em> allocation, as well as other risk-based approaches, such as risk budget and maximum diversification.</p><div class="callout-block" data-callout="true"><p>Once embbeded inside a sensible asset-allocation policy, mean-risk optimizations, including MVO, worked well.</p></div><p>I started this post with no prior expectation for how MVO would perform relative to the other methods. In fact, I have no horse in this race, and I believe we should follow the empirical evidence. Despite being often criticized, MVO performed well in this application, even though I relied on simple historical estimates of expected returns and imposed only relatively simple constraints. Of course, this does not mean that MVO is appropriate in every situation, or that more sophisticated methods cannot deliver better solutions, particularly if investors have specific preferences about risk and return.</p><p>One important caveat is that the mean-risk optimizations use historical expected returns. In a nine-asset universe with strong long-run differences across realized asset-class returns, this can make a lot of difference. The result should therefore not be interpreted as evidence that historical mean returns are generally reliable forecasts. Rather, it shows that in this particular universe, sample period, and constrained implementation, mean-risk optimization was able to exploit return differences without producing pathological portfolios.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>With 3 years of daily data per asset and only 9 assets, the sample covariance matrix would have worked just as well. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>On the periods prior to BNDX availability, the strategy allocates 40% to AGG.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>The risk budget in this case would be as below. I don&#8217;t like this allocation as it gives over 40% of the total risk budget to Commodities and Gold. </p><ul><li><p>Equities: 33.3% </p></li><li><p>Fixed Income: 22.2%</p></li><li><p>Real Estate: 22.2%</p></li><li><p>Commodities/Gold: 22.2%</p></li></ul></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>The fact that RB produces lower volatility than MVP is explained by the fact that the RB portfolio is not subject to the same constraints. Since fixed income has lower risk, RB allocates more to this bucket to balance the risk contributions.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>I estimate transaction costs as follows (example for MVO <em>&#963;</em>=10%):</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{align}\n\\text{Annualized TC} &amp;= \\text{Average Turnover} \\times \\text{Rebalances Per Year} \\times \\frac{\\text{bps}}{10{,}000}\\\\\n&amp;= 0.0635\\times 12 \\times \\frac{25}{10{,}000}=0.1905\\%\n\\end{align}&quot;,&quot;id&quot;:&quot;AGQLOPWMMN&quot;}" data-component-name="LatexBlockToDOM"></div></div></div>]]></content:encoded></item><item><title><![CDATA[Beyond Mean-Variance Optimization]]></title><description><![CDATA[Seven ways investors can avoid forecasts, redefine risk, or diversify differently]]></description><link>https://systematicallybiased.substack.com/p/beyond-mean-variance-optimization</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/beyond-mean-variance-optimization</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Mon, 25 May 2026 17:26:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6532f4e9-d71d-4c57-b9fd-c6b59e58e7d7_1920x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Obs: this post contains some formulas that don&#8217;t display properly on mobile. They do display correctly on desktop. </p><p>In a <a href="/__u/systematicallybiased.substack.com/p/portfolio-optimization-what-could?r=6w89b">previous post</a>, I discussed mean-variance optimization (MVO), and some of the many things that can go wrong when MVO is implemented naively. A big issue with MVO or indeed any portfolio optimization method is estimation error. The animation below shows how unstable the MVO can be when we resample the data. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e10fc500-d172-4dce-9a78-3a7006bc7f35&quot;,&quot;duration&quot;:null}"></div><p>One of the tricks commonly used in practice to stabilize MVO solutions is the use of constraints, which is related to regularization or shrinkage. <a href="https://scholar.archive.org/work/x4vdsep3mrdqhc56nmgt6d26ga/access/wayback/http://www.hec.fr/heccontent/download/3867/104597/version/2/file/72.pdf">Jagannathan and Ma (2003)</a> showed that adding long-only constraints to the optimization problem is equivalent to using a modified covariance matrix, with the effect of shrinking the largest elements of the covariance matrix. If large covariances are due to estimation error, this helps because the shrunk covariance matrix becomes more precise. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>There are other ways to achieve this shrinkage, notably by using a more structured estimator for the covariance matrix (e.g. an index model), or by explicitly shrinking the sample covariance estimator towards such a structured target. In cases where enough data are available, or if the optimization problem is already constrained, as in many practical cases, the choice of covariance estimator is much less critical.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> </p><p>This post is going to look at some alternatives to MVO. The papers mentioned in the post are shown in the references section at the end, and most have presentation decks in the <a href="/__u/systematicallybiased.substack.com/s/paper-library-and-decks">Systematically Biased Library</a>. </p><p>But before we dive into the alternatives, let&#8217;s take two steps back to consider:</p><ul><li><p>The measure of risk used in MVO.</p></li><li><p>Some misconceptions about MVO that regularly pop up. </p></li></ul><div><hr></div><h1>Risk &#8800; Variance</h1><p>Textbook MVO equates risk with variance. One formulation of MVO is in terms of maximizing the mean-variance criterion:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\max_{w}{\\underbrace{w'\\mu}_{\\text{expected return}} -\\frac{1}{2}\\gamma \\underbrace{w'\\Sigma w}_{\\text{variance}}} \\quad \\text{s.t.} \\quad w' \\mathbf{1}=1&quot;,&quot;id&quot;:&quot;KYBWKWMBGI&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>&#947;</em> is a risk aversion parameter. This formulation says that investor utility increases with the portfolio expected return and  decreases with its variance.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>  </p><p>However, variance as a measure of risk has shortcomings:</p><ol><li><p>Variance penalizes large positive returns as much as large negative returns. </p></li><li><p>Variance measures deviations from the mean, which may not be the appropriate level of return targeted by the investor. </p></li></ol><p>Regarding the first point, most investors are not worried about large positive returns. What really matters is <strong>downside risk</strong>: the occurrence of large, negative returns. Therefore, if returns are not symmetrically distributed, using the variance may not be an appropriate way to measure risk. </p><p>The second issue is more subtle. Variance is a statistical measure of dispersion, and the first moment (the expected value) is a natural reference point. However, when it comes to investments or measuring risk, there&#8217;s no <em>a priori</em> reason why we should measure deviations relative to the expected return. The investor may have a different benchmark level of return (say, the risk-free rate of return, or a fixed level of return like 5%).</p><p>In sum, if returns are not symmetrically distributed about the mean, or if the benchmark level of return is not the mean, variance does not in general coincide with downside risk.</p><p>One possibility, in this case, is to use another risk measure. A natural candidate is to replace variance with <strong>semivariance</strong>, which measures deviations only below a benchmark level of return <em>B</em>, and likewise replace covariances with <strong>semicovariances</strong>. In fact, Markowitz (1959) had already recognized that semivariance is a more plausible measure of risk than the variance. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ecae99f3-9aa5-404e-bd43-5d34d2f4b01a&quot;,&quot;duration&quot;:null}"></div><p>Semivariance is not the only option. Another commonly used approach is to use a tail risk measure, such as the <a href="https://en.wikipedia.org/wiki/Expected_shortfall">conditional Value at Risk (CVaR)</a>. We discuss both mean-semivariance and mean-CVaR approaches later on.</p><p>Before turning to alternatives, it is worth clearing up two misconceptions that repeatedly appear whenever MVO is discussed. </p><div><hr></div><h1>Myths about MVO</h1><p>It&#8217;s important to remember that the estimation error issues discussed above are not specific to MVO. As a general rule, using noisy inputs (either for <em>&#181;</em> or <em>&#931;</em>) can lead to poor results in any optimization problem, especially if it&#8217;s unconstrained. But MVO is often the target of these criticisms, even when the results being discussed have been obtained in a naive setting (<em>&#181;</em> estimated from historical returns; no or unreasonable constraints). </p><p>But there are other persistent myths about MVO, and I recommend the article by <a href="https://www.researchgate.net/profile/Gordon-Ritter/publication/381902344_Untangling_Universality_and_Dispelling_Myths_in_Mean-Variance_Optimization/links/6717bd7c09ba2d0c76180b44/Untangling-Universality-and-Dispelling-Myths-in-Mean-Variance-Optimization.pdf">Benveniste, Kolm, and Ritter (2024)</a> for a discussion of those. I&#8217;ll focus here on two of those myths that are probably the most persistent. The first one is that MVO requires assuming normally distributed asset returns. The second one is that it requires assuming investors have a quadratic utility function. I think one of the reasons that these myths persist is that these assumptions indeed imply mean-variance preferences. However, they are not needed for MVO to be a reasonable approach. Let&#8217;s take a quick look at each. </p><h3>Normally Distributed Returns</h3><p>I don&#8217;t think that discussing the unreasonableness of assuming normally distributed asset returns is necessary. But if asset returns were normally distributed, then the entire return distribution would be characterized by its mean and variance. Any expected-utility comparison among normally distributed portfolios would therefore reduce to a comparison involving those two moments. While assuming normally distributed returns gives you mean-variance preferences, it is not needed. What matters is the maximization of expected utility. <a href="https://www.researchgate.net/profile/Gordon-Ritter/publication/381902344_Untangling_Universality_and_Dispelling_Myths_in_Mean-Variance_Optimization/links/6717bd7c09ba2d0c76180b44/Untangling-Universality-and-Dispelling-Myths-in-Mean-Variance-Optimization.pdf">Benveniste, Kolm, and Ritter (2024)</a> define a class of mean-variance equivalent distributions, which have the property that the expected utility maximization for any standard utility function coincides with the maximum of an equivalent MVO problem. Many distributions, including heavy tailed distributions, elliptical distributions, and even some skewed distributions, are mean-variance equivalent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!61gd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 424w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 848w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 1272w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!61gd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png" width="887" height="655" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:887,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/198770905?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 424w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 848w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 1272w, /__u/substackcdn.com/image/fetch/$s_!61gd!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0e9d57-1682-4d2a-bed0-d778fd2740b2_887x655.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Example of a mean-variance equivalent distribution from <a href="https://www.researchgate.net/profile/Gordon-Ritter/publication/381902344_Untangling_Universality_and_Dispelling_Myths_in_Mean-Variance_Optimization/links/6717bd7c09ba2d0c76180b44/Untangling-Universality-and-Dispelling-Myths-in-Mean-Variance-Optimization.pdf">Benveniste, Kolm, and Ritter (2024)</a> </figcaption></figure></div><h3>Quadratic Utility</h3><p>Quadratic utility indeed implies mean-variance preferences, but it also has some economically unreasonable properties. The most relevant is that quadratic utility implies increasing absolute risk aversion. This means that investors would invest less in risky assets as their wealth increases, i.e. risky assets are inferior goods. </p><p>As with the normality assumption, quadratic utility implies mean-variance preferences, but is not necessary for MVO to be a reasonable solution to a portfolio allocation problem. Indeed, the mean-variance criterion stated above is not a utility function, but rather an approximation of the expected utility. Under a second-order approximation to expected utility, expected return enters positively and variance enters negatively, with the coefficient on variance governed by risk aversion.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> </p><p>The rest of this post is going to discuss some alternatives to MVO. </p><div><hr></div><h1>Alternative #0: Keep it Simple (SAA)</h1><p>The simplest alternative, which existed long before Markowitz proposed MVO, is not to optimize at all. Investors can simply define an asset allocation policy that makes sense in the long run and rebalance their portfolios periodically to maintain it. Of course, defining these allocations requires some assumptions about the expected return and risk of the assets, as well as the investor&#8217;s risk preferences. </p><p>This kind of approach is sometimes referred to as <a href="https://www.investopedia.com/terms/s/strategicassetallocation.asp">strategic asset allocation (SAA)</a>. The widely used 60/40 benchmark (60% in equities, 40% in bonds) is a canonical example. Many investment products implement variations of this, including options that change the allocations to reduce the portfolio risk at a target date (e.g. for retirement). </p><p>Many different SAAs have been proposed, using different assets and asset classes. I implemented several of them in my <a href="https://github.com/rubetron/AssetAllocation">AssetAllocation</a> package for R (as well as several tactical asset allocation strategies). </p><div><hr></div><h1>Alternative #1: Keep it Simple (the 1/<em>N</em> rule)</h1><p>Another rule, which is a special case of Alternative #0 and has been extensively studied, is the &#8220;Talmudic&#8221; or &#8220;1<em>/N</em>&#8221; rule of allocating equally across investments. This simple rule has the benefits of not requiring forecasts, mechanically enforcing diversification, and keeping turnover low.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> However, 1/<em>N</em> is not assumption-free. The main active decision is shifted from the weights to the definition of the opportunity set. </p><p>In terms of empirical performance, there is some controversy. A widely cited study by <a href="https://doi.org/10.1093/rfs/hhm075">DeMiguel, Garlappi, and Uppal (2009)</a> ran an out-of-sample horse-race between the 1/<em>N</em> portfolio and 14 mean-variance models across seven datasets, concluding that none of the models outperformed 1<em>/N.</em> Their conclusion: any  potential gains due to optimal diversification are more than offset by estimation error. </p><p>These results, however, have been questioned by some studies on two fronts:</p><ul><li><p><a href="https://doi.org/10.2469/faj.v66.n2.6">Kritzman, Page, and Turkington (2010)</a> argue that the outperformance of the 1/<em>N</em> in DeMiguel, Garlappi, and Uppal (2009) is the result of using short samples. When estimates are constructed using longer samples, or simple but reasonable assumptions, Kritzman et al find that optimized portfolios outperform 1/<em>N</em> out of sample. </p></li><li><p><a href="https://doi.org/10.1080/0015198X.2019.1600958">Allen, Lizieri, and Satchell (2019)</a> make the point that, if investors have even modest forecasting ability, they can benefit substantially from MVO, which they substantiate analytically, via simulation, and empirically through out-of-sample comparisons.</p></li></ul><div class="callout-block" data-callout="true"><p>The 1/<em>N </em>rule allocates equally across investments. It requires no forecasts and mechanically forces diversification. Whether 1/<em>N</em> outperforms portfolios obtained using optimization models is debatable. </p><p>An example of an investment product based on the 1/<em>N</em> rule is the <a href="https://www.invesco.com/us/en/financial-products/etfs/invesco-sp-500-equal-weight-etf.html">RSP ETF</a>, which has about $87 billion in assets. </p></div><div><hr></div><h1>Alternative #2: Minimum Variance Portfolios</h1><p>The minimum variance portfolio (MVP) is the only portfolio on the mean-variance efficient frontier that doesn&#8217;t require estimation of expected returns. It is simply the solution of the problem below: <a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a></p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\min_{w_1,\\dots,w_n}{w'\\Sigma w} \\quad \\text{s.t.} \\quad \\sum_{i=1}^n{w_i}=1&quot;,&quot;id&quot;:&quot;QDWHKLFHXV&quot;}" data-component-name="LatexBlockToDOM"></div><p>Because expected returns are harder to estimate and forecast, they are a major source of estimation error in MVO or indeed of any other optimization approach that requires them as inputs. In addition, variances and covariances are more persistent, and therefore more predictable. Therefore, although in principle other portfolios on the efficient frontier may be preferable, the MVP is likely to be estimated with more precision than other efficient portfolios.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!8FPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!8FPy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&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="/__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">The MVP is the only portfolio on the efficient frontier that doesn&#8217;t require expected return estimates/forecasts</figcaption></figure></div><p>Finance theory makes the prediction that the market-cap weighted portfolio of securities is the optimal efficient portfolio in equilibrium, and should, in principle, outperform the MVP.</p><p>Although neat, this result is based on a list of strong assumptions, all of which are violated in practice. Therefore, even a comprehensive market-cap weighted portfolio of all stocks in the market is bound to be inefficient. This point was made by <a href="http://www.efalken.com/LowVolClassics/HaugenBaker991.pdf">Haugen and Baker (1991)</a>, who compared such a portfolio (the <a href="https://www.wilshireindexes.com/products/ft-wilshire-5000-index-series">Wilshire 5000</a>) to an MVP constructed from the largest 1000 stock in the US, with some concentration and sector constraints. The MVP achieved similar returns to the market-cap weighted index, but with lower risk. <a href="https://www.pm-research.com/content/iijpormgmt/33/1/10.full.pdf">de Silva, Clarke, and Thorley (2006)</a> confirm this result with a long backtest, which shows that the MVP has about three-quarters of the realized risk of a cap-weighted portfolio, but earns higher average returns. <a href="https://www.hillsdaleinv.com/uploads/Minimum-Variance_Portfolio_Composition,_Roger_Clarke,_Harindra_de_Silva,_Steven_Thorley1.pdf">Clarke, De Silva, and Thorley (2011)</a> further study the composition of the MVP. They show that a long-only MVP typically invests in a small number of securities, tilted towards low betas.</p><p>The surprisingly good performance of the MVP relative to market-cap weighted portfolios is therefore related to the well-known critique of the CAPM (i.e., portfolios sorted on beta have negligible differences in return). More generally, this is related to the low beta and low volatility anomalies. </p><p>It should be noted that the MVP avoids expected return forecasts, but it still depends on a risk model (volatilities, correlations) and other choices like constraints and turnover assumptions.</p><div class="callout-block" data-callout="true"><p>The MVP is the only portfolio on the mean-variance efficient frontier that doesn&#8217;t require expected returns as inputs. In many long-run empirical studies, constrained minimum-variance portfolios have delivered lower volatility and competitive, sometimes higher, realized returns than capitalization-weighted indices.</p><p>An example of an investment product based on the MVP is the <a href="https://www.blackrock.com/us/financial-professionals/products/239695/ishares-msci-usa-minimum-volatility-etf">USMV ETF</a> (about $24 billion in assets).</p></div><div><hr></div><h1>Alternative 3: Mean-Risk Optimization</h1><p>As discussed above, the variance has some shortcomings as a risk measure. There are several alternative risk measures that can be used to replace the variance. The two most commonly used in practice are the semi-variance and the <a href="https://en.wikipedia.org/wiki/Expected_shortfall">conditional Value at Risk (CVaR)</a>.</p><h3>Mean-Semivariance Optimization</h3><p>The <strong>semivariance</strong> is similar to the variance, but considers only returns below a benchmark level of return <em>B</em>:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SV=\\mathbb{E}\\left[\\left\\{(R-B)\\mathbb{1}_{r-b<0}\\right\\}^2\\right]&quot;,&quot;id&quot;:&quot;MVIYKLAEYR&quot;}" data-component-name="LatexBlockToDOM"></div><p>Intuitively, mean-semivariance optimization tries to find portfolios with attractive expected returns while penalizing only the observations in which the portfolio falls below the benchmark. This makes the relevant downside observations endogenous: changing the weights changes which scenarios count as downside scenarios. </p><p>For this reason, mean-semivariance optimization is not as simple as mean-variance optimization. The issue is that the semivariance of a portfolio cannot be written as a quadratic form, precluding the use of quadratic programming. </p><p>This problem can be resolved by noting that, within the regions where assets underperform the benchmark, the semivariance can be written in a quadratic form. This approach, presented by <a href="https://www.hudsonbaycapital.com/documents/FG/hudsonbay/research/599440_paper.pdf">Markowitz et al. (2020)</a>, is the typical implementation used in practice. It relies on introducing a matrix of excess returns or deviations relative to the benchmark. </p><p></p><h3>Mean-CVaR Optimization</h3><p>To talk about conditional Value-at-Risk (CVaR), we first need to define the Value-at-Risk. Loosely speaking, the VaR is a loss that we&#8217;re fairly sure won&#8217;t be exceeded over some horizon. For example, suppose that the level of confidence is 90%.<em> </em>If the daily VaR of a portfolio with a 90% confidence level is $1 million, we are 90% confident that we won&#8217;t lose more than $1 million on any given day. Conversely, we should expect to lose more than $1 million on 10% of days. </p><p>VaR has some shortcomings as a way to measure risk. Notably, VaR is not a <strong><a href="https://en.wikipedia.org/wiki/Coherent_risk_measure">coherent </a></strong><a href="https://en.wikipedia.org/wiki/Coherent_risk_measure">risk measure</a>. Particularly, VaR does not respect the sub-additivity property of a coherent risk measure, which requires that the risk measure applied to the sum of two portfolios must be at most equal to the sum of the risk measures applied to each portfolio. The consequence is that VaR may discourage diversification. </p><p>Another problem with VaR is that it only gives us a level of loss that we should not expect to exceed with some confidence, but it tells us nothing about what level of loss to expect when we do exceed it. The CVaR, or expected shortfall, gives you exactly that. </p><p>CVaR (also known as expected shortfall) is a tail risk measure. It tells us how much we expect to lose, <strong>given that the loss exceeds the VaR</strong>. The animation below shows examples of VaR and CVaR. Note that this is shown using the distribution of returns (i.e., negative values correspond to losses). </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;d4445dd8-2fc5-4e71-94d6-62d8298a2e04&quot;,&quot;duration&quot;:null}"></div><p>To define VaR and CVaR mathematically, we need some notation:</p><ul><li><p><em>w : </em>vector of portfolio weights</p></li><li><p><em>r </em>: vector of asset returns</p></li><li><p><em>&#946; </em>&#8712; (0,1) : confidence level</p></li><li><p><em>L</em>(<em>w</em>, <em>r</em>) = <em>-w&#8217;r: </em>portfolio loss (negative of portfolio return)</p></li><li><p> <em>p</em>(<em>r</em>) : probability density function of returns</p></li><li><p>&#936;<em><sub>L</sub></em>(<em>y</em>): cumulative distribution function of losses (the probability of not exceeding a threshold loss <em>y</em>).<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a> </p></li><li><p>&#945;<em><sub>&#946;</sub></em>(<em>w</em>): the VaR of portfolio <em>w</em> at confidence level <em>&#946;.</em></p></li></ul><p>Note that we went from working with returns to working with losses. This means the distribution shown above would be flipped, with large positive values corresponding to large losses. With this notation, the VaR at confidence level <em>&#946;</em> is defined as the smallest loss such that the probability of not exceeding it is at least <em>&#946;: </em> </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\alpha_\\beta(w)=\\text{VaR}_\\beta(w)=\\min\\{y\\in \\mathbb{R}:\\Psi_L(y)>\\beta\\}&quot;,&quot;id&quot;:&quot;PBFWVMMJEV&quot;}" data-component-name="LatexBlockToDOM"></div><p>Now that we have defined VaR, we can define the CVaR mathematically as: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\text{CVaR}_\\beta(w)=\\frac{1}{1-\\beta}\\int_{L(w,r)\\geq \\alpha_\\beta(w)}{L(w,r)p(r)dr}&quot;,&quot;id&quot;:&quot;IIBUTNUTXZ&quot;}" data-component-name="LatexBlockToDOM"></div><p>The expression above resembles the expected loss. Indeed, the CVaR<em><sub>&#946; </sub></em>is a specialization of the expected value in which we&#8217;re averaging only over the worst (1-<em>&#946;</em>) fraction of losses.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-7" href="#footnote-7" target="_self">7</a> </p><p>Portfolio optimization using the CVaR is complicated, because the CVaR depends on an integral over VaR values. However, <a href="https://www.risknet.de/fileadmin/eLibrary/Rockafellar-Conditional-Value-at-Risk.pdf">Rockafellar and Uryasev (2000)</a> proved two key results that make mean-CVaR optimization practical, effectively transforming it into a linear programming problem. Their paper rests on introducing the following function: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;F_\\beta(w, \\alpha)=\\alpha+\\frac{1}{1-\\beta}\\int_r{\\left[L(w,r)-\\alpha\\right]^+p(r)dr}&quot;,&quot;id&quot;:&quot;FNEZPSGXIG&quot;}" data-component-name="LatexBlockToDOM"></div><p>where[<em>x</em>]<sup>+</sup>=max(<em>x</em>,0). Their first theorem shows CVaR<em><sub>&#946;</sub></em> can be obtained as the minimum of this function in <em>&#945;</em>. Their second theorem states that minimizing<em><sub> </sub></em>CVaR<em><sub>&#946;</sub></em> over all portfolios <em>w</em> is equivalent to minimizing the function above over all values of (<em>w</em>, <em>&#945;</em>). </p><p>In practice, the integral can be approximated as a sum, using values that can be either simulated from <em>p</em>(<em>r</em>), if it&#8217;s available, or a sample (more commonly). Suppose that a sample of returns <em>r<sub>1</sub></em>,<em> r<sub>2</sub></em>, &#8230;,<em> r<sub>T</sub></em> is available. Then function can be approximated by </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;F_\\beta(w, \\alpha)=\\alpha+\\frac{1}{(1-\\beta)T}\\sum_{t=1}^T{\\left[-w'r_t-\\alpha\\right]^+}&quot;,&quot;id&quot;:&quot;ICYVUTDSNW&quot;}" data-component-name="LatexBlockToDOM"></div><p>The optimization problem can then be written as a linear programming problem using auxiliary variables: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\min_{w,\\alpha}{\\left\\{\\alpha+\\frac{1}{(1-\\beta)T}\\sum_{t=1}^T{u_t}\\right\\}} \\quad s.t. \\left\\{\\begin{aligned} \n  u_t&amp;\\geq 0\\\\\n  u_t&amp;\\geq -w' r_t-\\alpha \n\\end{aligned}\\right.&quot;,&quot;id&quot;:&quot;VJCLOYTLFF&quot;}" data-component-name="LatexBlockToDOM"></div><div class="callout-block" data-callout="true"><p>Mean-risk approaches replace variance with other risk measures. Two commonly used approaches are the <strong>mean-semivariance</strong> and <strong>mean-CVaR</strong>. Both optimization approaches are more complicated than MVO, but can be resolved by augmenting the optimization problem through auxiliary variables.</p></div><div><hr></div><h1>Alternative 4: Maximum Diversification</h1><p>Choueifaty and Coignard (2008) note that one of the main difficulties with MVO is the need to estimate expected returns. They propose a heuristic approach based on maximizing the diversification ratio. Denote portfolio weights by <em>w, </em>the covariance matrix by <em>&#931;</em>, and <em>&#963;<sub>d</sub>=</em>diag(<em>&#931;</em>)<em><sup>1/2  </sup></em>the vector of volatilities for the assets. The diversification ratio is defined as </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;D(w)=\\frac{w' \\sigma_d}{\\sqrt{w'\\Sigma w}}&quot;,&quot;id&quot;:&quot;YIMXUHBBJR&quot;}" data-component-name="LatexBlockToDOM"></div><p>The numerator is the weighted average of volatilities, which disregards diversification due to asset comovement. The denominator is the portfolio volatility, which accounts for asset comovement. Therefore, the diversification ratio captures the extent to which asset comovements reduce risk. They propose to compute the most diversified portfolio (MDP) by choosing <em>w </em> that maximizes this ratio. In their empirical applications, the MDP has higher Sharpe ratio than market-cap weighted indices. </p><p>MDP belongs to a class of <strong>risk-based</strong> portfolio construction approaches, which do not require estimation of expected returns. Other approaches in this category are the MVP and risk parity approaches. </p><p>A related paper is <a href="https://www.hillsdaleinv.com/uploads/Risk_Parity,_Maximum_Diversification,_and_Minimum_Variance-_An_Analytic_Perspective.pdf">Clarke, De Silva, and Thorley (2013)</a>, who derive analytical expressions for risk-based portfolios (MVP, MDP, and risk parity) under a single-index model. </p><div class="callout-block" data-callout="true"><p>The maximum diversification approach selects portfolio weights that maximize the ratio between the weighted average volatility of the individual assets and the volatility of the resulting portfolio.</p></div><div><hr></div><h1>Alternative 5: Risk Parity</h1><p>Risk parity is perhaps the most popular risk-based portfolio construction method. It is widely used by institutional investors because it provides a disciplined way to diversify risk. It is particularly popular with CTAs and trend followers to equalize how much risk each asset contributes to the overall portfolio. </p><p>A canonical example to explain risk parity is to look at a 60/40 portfolio of stocks and bonds. Using 10 years of data ending in April 2026, we get the following realized performance: </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/yOFGq/3/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f52d06a9-88a2-451d-8494-859103231456_1220x324.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c3fd94b-b444-4404-8efb-86d0e7a591aa_1220x324.png&quot;,&quot;height&quot;:155,&quot;title&quot;:&quot;Created with Datawrapper&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/yOFGq/3/" width="730" height="155" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The 60/40 portfolio has a volatility of 11.3%. However, approximately 93.5% of this total risk comes from the equity allocation. The bond allocation, while representing 40% of the total allocation, accounts for less than 10% of the risk. <strong>Risk parity</strong> focuses on finding the portfolio allocations that would result in equal risk contributions. In this example, the allocations that equalize risk contributions are 23.6% in SPY and 76.4% in BND. The resulting portfolio has a volatility of 6.39%. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;703c5036-eb25-4c44-9150-50f5b4a37cd5&quot;,&quot;duration&quot;:null}"></div><p>The example above uses volatility as the risk measure, but risk parity is more general. Denote by <em>R</em>(<em>w</em>) a risk measure for a portfolio <em>w</em>. The marginal risk contribution of asset <em>i</em> is defined as </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;MRC_i= \\frac{\\partial R(w)}{\\partial w_i}&quot;,&quot;id&quot;:&quot;YDJSKALARG&quot;}" data-component-name="LatexBlockToDOM"></div><p>and the risk contribution of asset  <em>i </em>is defined as</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;RC_i=w_i MRC_i&quot;,&quot;id&quot;:&quot;RATGUSOBSI&quot;}" data-component-name="LatexBlockToDOM"></div><p>The risk measure must satisfy the Euler allocation principle, which states that risk can be decomposed as follows: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;R(w) =\\sum_{i=1}^n{RC_i}= \\sum_{i=1}^n{w_i MRC_i}&quot;,&quot;id&quot;:&quot;GHVYXHKYYJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>In words: the total risk is the sum of the risk contributions, defined as each allocation multiplied by the derivative of the risk measure relative to the allocation. The portfolio risk can be obtained as the sum of risk contributions. </p><p>In the case of the volatility, we have </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\sigma=\\sqrt{w'\\Sigma w}&quot;,&quot;id&quot;:&quot;XVNRFELMLJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>and the vector of marginal risk contributions is</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;MRC=\\frac{\\Sigma w}{\\sqrt{w'\\Sigma w}}&quot;,&quot;id&quot;:&quot;ROHJXZCPZM&quot;}" data-component-name="LatexBlockToDOM"></div><p>Notice that the denominator is the same for all assets, such that the marginal risk contribution of asset <em>i </em>is:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;MRC_i=\\frac{(\\Sigma w)_i }{\\sqrt{w'\\Sigma w}}&quot;,&quot;id&quot;:&quot;FPIRVZFMYU&quot;}" data-component-name="LatexBlockToDOM"></div><p>where (&#931;<em>w</em>)<em><sub>i</sub></em> denotes the <em>i</em>-th element of &#931;<em>w</em>. We can verify that this satisfies the allocation property: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\sum_{i=1}^n{RC_i}=\\sum_{i=1}^n{w_i \\frac{(\\Sigma w)_i}{\\sqrt{w'\\Sigma w}}}=w'\\frac{\\Sigma w}{\\sqrt{w'\\Sigma w}}=\\sqrt{w'\\Sigma w}=\\sigma&quot;,&quot;id&quot;:&quot;DGGGMDDAEJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>Suppose that we have a risk budget <em>b=</em>(<em>b<sub>1</sub>, &#8230;, b<sub>n</sub></em>) that defines how much risk each asset should contribute to the total risk. The risk parity case corresponds to equal risk contributions, i.e. <em>b<sub>1 </sub></em>= &#8943; = <em> b<sub>n</sub></em>. The risk budget portfolio is the solution of the following system: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\left\\{ \\begin{array} .RC_i&amp;=b_i \\\\w_i&amp;>0\\\\\\sum_i{w_i}&amp;=1 \\end{array}\\right.&quot;,&quot;id&quot;:&quot;TOXMTKGZFB&quot;}" data-component-name="LatexBlockToDOM"></div><p>Writing the Lagrangian for this problem and solving the first-order conditions, it can be shown that it is equivalent to solving the following problem: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\min_w \\sigma(w) \\quad s.t.\\quad \\left\\{\\begin{array}.\\sum_{i=1}^n{b_i\\ln{w_i}}  \\geq c \\\\w_i  > 0, i=1,\\dots, n\\end{array}\\right.&quot;,&quot;id&quot;:&quot;EZLZBHFDVN&quot;}" data-component-name="LatexBlockToDOM"></div><p>One important element to consider when using the risk budget approach, especially with equal risk budgets, is that the choice of the asset universe can have a significant impact on the resulting portfolio. For instance, suppose we added another equity ETF to the universe in the toy example above. Then a risk parity solution would end up allocating 2/3 of the risk budget to equities and 1/3 to bonds. A possibility in these cases is to have equal risk budgets within asset classes, and divide asset-level risk budgets equally across instruments within each asset class. </p><p>A related approach is <strong>hierarchical risk parity</strong>. Rather than solving directly for equal risk contributions across all assets, hierarchical risk parity first uses the correlation structure to cluster similar assets, and then allocates risk through the resulting hierarchy. This can make the allocation less sensitive to small changes in the covariance matrix and can avoid some of the arbitrary effects of treating all assets in the universe as exchangeable.</p><p>There&#8217;s an enormous literature on risk parity and its performance. Some interesting earlier papers are <a href="https://www.researchgate.net/profile/Jason-Hsu-5/publication/228206016_Risk_Parity_Portfolio_vs_Other_Asset_Allocation_Heuristic_Portfolios/links/00b7d532848224ae2d000000/Risk-Parity-Portfolio-vs-Other-Asset-Allocation-Heuristic-Portfolios.pdf">Chaves, Hsu, and Thorley (2011)</a>, <a href="https://pages.stern.nyu.edu/~afrazzin/pdf/Leverage%20Aversion%20and%20Risk%20Parity%20-%20Asness%20,%20Frazzini%20and%20Pedersen.pdf">Asness, Frazzini, and Pedersen (2012)</a>, and <a href="https://www.hillsdaleinv.com/uploads/Risk_Parity,_Maximum_Diversification,_and_Minimum_Variance-_An_Analytic_Perspective.pdf">Clarke, De Silva, and Thorley (2013)</a>. Hierarchical risk parity is introduced in <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2708678">Lopez de Prado (2016)</a>. </p><p>Note that risk parity is usually solved as a long-only problem with <em>w<sub>i</sub></em> &gt; 0. In general, there&#8217;s no unique solution if weights are allowed to be negative. However, if we know which assets we want to short, a solution can be found by modifying the problem above. This approach is applied by <a href="https://www.pm-research.com/content/iijpormgmt/48/4/241">Rubesam (2022)</a> in the context of three systematic trading strategies (trend following, pairs trading, and factor investing). </p><div class="callout-block" data-callout="true"><p>Risk parity is a risk-based approach that constructs a portfolio so that assets or asset classes contribute equally, or according to predefined budgets, to total portfolio risk. Instead of allocating capital equally, it allocates risk equally.</p></div><div><hr></div><h1>Summary</h1><p>Mean-variance optimization is often criticized due to the sensitivity of optimal solutions to changes in the inputs, estimation error, and due to the shortcomings of variance as a risk measure. At the same time, there are some persistent misconceptions about MVO, such as MVO requiring an assumption of normality or a quadratic utility function, which deserve to be put to rest. </p><p>This post reviews some alternatives to MVO, which range from doing away with forecasts altogether (1<em>/N</em>), getting rid only of expected return forecasts (MVP, MDP, risk parity), and using different risk measures (mean-semivariance, mean-CVaR). The table below summarizes these alternatives and their tradeoffs. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/AgQsv/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6374d76-8c2d-46e7-955c-472e9e9f7f9d_1220x918.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53efeaf1-8db7-431a-b36e-e8befa1beb02_1220x988.png&quot;,&quot;height&quot;:501,&quot;title&quot;:&quot;Summary of Alternatives to MVO&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/AgQsv/1/" width="730" height="501" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>In an upcoming post, I&#8217;ll discuss a practical implementation of these alternatives with ETFs</p><p>I should not also that this is not an exhaustive list of alternatives to MVO. Another family of approaches, robust optimization, keeps the optimization framework but explicitly accounts for uncertainty in the inputs. Views-based approaches, such as Black-Litterman and Entropy Pooling, also remain close to the optimization tradition, but they change the way investor views, priors, or scenarios enter the problem. I will discuss these approaches in future posts. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>References</h2><p>Allen, D., Lizieri, C., &amp; Satchell, S. (2019).<a href="https://doi.org/10.1080/0015198X.2019.1600958"> In defense of portfolio optimization: What if we can forecast?</a>. <em>Financial Analysts Journal</em>, <em>75</em>(3), 20-38.</p><p>Asness, C. S., Frazzini, A., &amp; Pedersen, L. H. (2012). <a href="https://pages.stern.nyu.edu/~afrazzin/pdf/Leverage%20Aversion%20and%20Risk%20Parity%20-%20Asness%20,%20Frazzini%20and%20Pedersen.pdf">Leverage aversion and risk parity</a>. <em>Financial Analysts Journal</em>, <em>68</em>(1), 47-59.</p><p>Benveniste, J., Kolm, P. N., &amp; Ritter, G. (2024). <a href="https://www.researchgate.net/profile/Gordon-Ritter/publication/381902344_Untangling_Universality_and_Dispelling_Myths_in_Mean-Variance_Optimization/links/6717bd7c09ba2d0c76180b44/Untangling-Universality-and-Dispelling-Myths-in-Mean-Variance-Optimization.pdf">Untangling universality and dispelling myths in mean-variance optimization.</a> <em>The Journal of Portfolio Management</em>, <em>50</em>(8), 90-116.</p><p>Chaves, D., Hsu, J., Li, F., &amp; Shakernia, O. (2011). <a href="https://www.researchgate.net/profile/Jason-Hsu-5/publication/228206016_Risk_Parity_Portfolio_vs_Other_Asset_Allocation_Heuristic_Portfolios/links/00b7d532848224ae2d000000/Risk-Parity-Portfolio-vs-Other-Asset-Allocation-Heuristic-Portfolios.pdf">Risk parity portfolio vs. other asset allocation heuristic portfolios</a>. <em>Journal of Investing</em>, <em>20</em>(1), 108.</p><p>Choueifaty, Y., &amp; Coignard, Y. (2008). <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4063676">Toward Maximum Diversification</a>. <em>The Journal of Portfolio Management</em>, <em>35</em>(1), 40-51.</p><p>Clarke, R., De Silva, H., &amp; Thorley, S. (2011). <a href="https://www.hillsdaleinv.com/uploads/Minimum-Variance_Portfolio_Composition,_Roger_Clarke,_Harindra_de_Silva,_Steven_Thorley.pdf">Minimum-variance portfolio composition</a>. <em>Journal of Portfolio Management</em>, <em>37</em>(2), 31.</p><p>Clarke, R., De Silva, H., &amp; Thorley, S. (2013). <a href="https://www.hillsdaleinv.com/uploads/Risk_Parity,_Maximum_Diversification,_and_Minimum_Variance-_An_Analytic_Perspective.pdf">Risk parity, maximum diversification, and minimum variance: An analytic perspective.</a> <em>The Journal of Portfolio Management</em>, <em>39</em>(3), 39-53.</p><p>DeMiguel, V., Garlappi, L., &amp; Uppal, R. (2009). <a href="https://doi.org/10.1093/rfs/hhm075">Optimal versus naive diversification: How inefficient is the 1/N portfolio strategy?</a>. <em>The review of Financial studies</em>, <em>22</em>(5), 1915-1953.</p><p>De Silva, R., Clarke, H., &amp; Thorley, S. (2006). <a href="https://www.pm-research.com/content/iijpormgmt/33/1/10.full.pdf">Minimum-variance portfolios in the US equity market</a>. <em>Journal of Portfolio Management</em>, <em>33</em>(1), 1-14.</p><p>Dom, M. S., Howard, C., Jansen, M., &amp; Lohre, H. (2025). <a href="https://doi.org/10.1080/14697688.2025.2468268">Beyond GMV: the relevance of covariance matrix estimation for risk-based portfolio construction</a>. <em>Quantitative Finance</em>, <em>25</em>(3), 403-419.</p><p>Haugen, R. A., &amp; Baker, N. L. (1991). <a href="http://www.efalken.com/LowVolClassics/HaugenBaker991.pdf">The efficient market inefficiency of capitalization-weighted stock portfolios</a>. <em>Journal of Portfolio Management</em>, <em>17</em>(3), 35.</p><p>Jagannathan, R., &amp; Ma, T. (2003). <a href="https://scholar.archive.org/work/x4vdsep3mrdqhc56nmgt6d26ga/access/wayback/http://www.hec.fr/heccontent/download/3867/104597/version/2/file/72.pdf">Risk reduction in large portfolios: A role for portfolio weight constraints</a>. <em>Journal of Finance</em>, <em>58</em>, 1651-1684.</p><p>Kritzman, M., Page, S., &amp; Turkington, D. (2010). In defense of optimization: the fallacy of 1/N. <em>Financial Analysts Journal</em>, <em>66</em>(2), 31-39.</p><p>Ledoit, O., &amp; Wolf, M. (2003). <a href="https://e-archivo.uc3m.es/bitstreams/e11e70d5-4800-4da6-b6d6-6380060f39b1/download">Improved estimation of the covariance matrix of stock returns with an application to portfolio selection</a>. <em>Journal of Empirical Finance</em>, <em>10</em>(5), 603-621.</p><p>Lopez de Prado, M. (2016). <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2708678">Building diversified portfolios that outperform out-of-sample</a>. <em>Journal of Portfolio Management</em>.</p><p>Markovitz, H. (1959). Portfolio selection: Efficient diversification of investments.</p><p>Markowitz, H. M., Starer, D., Fram, H., &amp; Gerber, S. (2020). <a href="https://www.hudsonbaycapital.com/documents/FG/hudsonbay/research/599440_paper.pdf">Avoiding the downside: A practical review of the critical line algorithm for mean&#8211;semivariance portfolio optimization.</a> <em>Handbook of Applied Investment Research</em>, 369-415.</p><p>Pflug, G. C., Pichler, A., &amp; Wozabal, D. (2012). <a href="https://doi-org.ezproxy.univ-catholille.fr/10.1016/j.jbankfin.2011.07.018">The 1/N investment strategy is optimal under high model ambiguity</a>. <em>Journal of Banking &amp; Finance</em>, <em>36</em>(2), 410-417.</p><p>Rockafellar, R. T., &amp; Uryasev, S. (2000). <a href="https://www.risk.net/journal-risk/2161159/optimization-conditional-value-risk">Optimization of conditional value-at-risk</a>. <em>Journal of Risk</em>, <em>2</em>, 21-42.</p><p>Rubesam, A. (2022). <a href="https://www.pm-research.com/content/iijpormgmt/48/4/241">The Long and the Short of Risk Parity</a>. <em>Journal of Portfolio Management</em>, <em>48</em>(4).</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>This approach has been pioneered in a series of papers by Ledoit and Wolf and their shrinkage estimators are widely available in portfolio optimization packages. These estimators can be helpful when the number of assets is large relative to the number of data points available. <a href="https://doi.org/10.1080/14697688.2025.2468268">Dom et al. (2025)</a> study the impact of the covariance matrix estimator for minimum variance portfolios. Sophisticated models do not add much value compared to the sample covariance matrix when long-only and turnover constraints are used. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Solving this problem for different levels of <em>&#947;</em> traces out the same efficient frontier as the more common approaches of minimizing the portfolio variance for different levels of expected return, or maximizing expected return for different levels of variance/volatility.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>If we also assume decreasing absolute risk aversion, we can also make statements about investors&#8217; preferences regarding skewness (investors prefer positive to negative skew) and kurtosis. If we also assume decreasing absolute prudence, investors dislike kurtosis. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Interestingly, this rule can even be optimal under extreme model uncertainty, as shown by <a href="https://doi.org/10.3390/risks8010029">Pflug et al. (2012)</a>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>Alternatively, it is the solution of mean-variance utility maximization stated previously with a coefficient of risk aversion <em>&#947;&#8594; &#8734;.</em></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>Note that we omit the dependence on the portfolio <em>w</em>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-7" href="#footnote-anchor-7" class="footnote-number" contenteditable="false" target="_self">7</a><div class="footnote-content"><p>That is, </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\text{CVaR}_\\beta(w)=\\mathbb{E}[L(w,r)|L(w,r)\\geq \\text{VaR}_\\beta(w)]&quot;,&quot;id&quot;:&quot;DNEFFJXIJR&quot;}" data-component-name="LatexBlockToDOM"></div></div></div>]]></content:encoded></item><item><title><![CDATA[Paper Library]]></title><description><![CDATA[A curated collection of papers from Systematically Biased]]></description><link>https://systematicallybiased.substack.com/p/paper-library</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/paper-library</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Mon, 18 May 2026 09:24:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Sj04!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post will maintain a growing library of slide decks based on academic papers discussed on Systematically Biased. These are designed for researchers, instructors, students, and practitioners who want a quick way to understand what each paper is about. The materials are intended for personal study, teaching preparation, and research discussion. Please do not redistribute the files publicly. </p><p>Each slide deck is an independent educational summary. It is not affiliated with or endorsed by the original paper authors. </p><p>When using these materials, please cite the original paper where appropriate.</p><p>The papers are organized by topic, with each topic having its own separate article.</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a27af13d-d411-4880-9ecb-bc0900baa097&quot;,&quot;caption&quot;:&quot;This post maintains a curated list of papers about asset pricing.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Library/Asset Pricing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:11581391,&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;bio&quot;:&quot;Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-25T09:24:58.778Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Pzmd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5789d0c2-a970-4aed-b2a1-2974bfd6271d_1683x944.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://systematicallybiased.substack.com/p/libraryasset-pricing&quot;,&quot;section_name&quot;:&quot;The Library&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:203527200,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:8000939,&quot;publication_name&quot;:&quot;Systematically Biased&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Sj04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8bfae80c-4996-4dd6-bde1-2b4562cd9313&quot;,&quot;caption&quot;:&quot;This post maintains a curated list of papers on portfolio optimization and construction.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Library/Portfolio Optimization &amp; Construction&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:11581391,&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;bio&quot;:&quot;Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-24T07:49:57.967Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ZuNn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3538fead-f339-45fa-b701-22f33907acf2_1650x907.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://systematicallybiased.substack.com/p/asset-allocation-and-portfolio-construction&quot;,&quot;section_name&quot;:&quot;The Library&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:203363648,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:8000939,&quot;publication_name&quot;:&quot;Systematically Biased&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Sj04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0d60f46e-78d0-46a8-9e1b-55e7e76d4046&quot;,&quot;caption&quot;:&quot;This post maintains a curated list of papers that use machine learning for financial applications.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Library/Machine Learning in Finance&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:11581391,&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;bio&quot;:&quot;Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-24T07:47:14.810Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!SZwo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bf9c54f-a4d4-4664-acdd-5bcf786d270b_2078x1170.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://systematicallybiased.substack.com/p/machine-learning&quot;,&quot;section_name&quot;:&quot;The Library&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:203361784,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:8000939,&quot;publication_name&quot;:&quot;Systematically Biased&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Sj04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;603ddf79-adf4-4dbc-8576-1b99d830468e&quot;,&quot;caption&quot;:&quot;This post maintains a curated list of papers on quantitative and systematic trading strategies.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Library/Systematic Trading &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:11581391,&quot;name&quot;:&quot;Systematically Biased&quot;,&quot;bio&quot;:&quot;Finance academic and lifelong quant sharing practical research insights on systematic trading, empirical asset pricing, and forecasting.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a148e3c-027a-44fa-9e40-44201ae3a031_710x710.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-24T07:55:28.355Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bzJ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5415ed-7e6a-44d0-a7a4-795424886530_1655x916.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://systematicallybiased.substack.com/p/quantitativesystematic-trading&quot;,&quot;section_name&quot;:&quot;The Library&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:203364099,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:8000939,&quot;publication_name&quot;:&quot;Systematically Biased&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Sj04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3423260-de01-4124-8282-b7ae4f2153ff_757x757.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[AI, Productivity and Apprenticeship]]></title><description><![CDATA[Reflections on work, management, and the strange new job of supervising AI agents]]></description><link>https://systematicallybiased.substack.com/p/ai-productivity-and-apprenticeship</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/ai-productivity-and-apprenticeship</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Sun, 17 May 2026 16:21:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ozBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many entry level positions involve repetitive tasks, such as matching databases, cleaning data, building models, updating documentation, and preparing reports. While many of these tasks can be automated, doing them helps to develop judgement and expertise, which tend to become useful later when supervising or collaborating with others. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 saw this progression in my career. I started doing technical work: data, models, code. Over time, as I moved into more managerial roles, the tools changed. SAS, SQL, Matlab, and R gradually gave way to email, PowerPoint, committees, and performance reviews. That progression, familiar in many careers, is quickly changing, as many tasks, whether technical or managerial, are being automated to some degree by AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ozBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ozBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:378382,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/196649588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!ozBo!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4a9e68-bcc9-4352-96b6-f2b19fae2562_1632x1224.jpeg 1456w" sizes="100vw" 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 aria-hidden="true" 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><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><figcaption class="image-caption">A late night at the office in one of my first jobs. The fluorescent light really added to the atmosphere.</figcaption></figure></div><h1>The Early-Career Ladder is Changing</h1><p>There&#8217;s credible evidence that the early-career ladder is already changing. A <a href="https://digitaleconomy.stanford.edu/app/uploads/2025/11/CanariesintheCoalMine_Nov25.pdf">recent study</a> by Stanford researchers found a 16% higher decline in early employment opportunities in occupations more exposed to AI relative to those less exposed. An analysis by <em><a href="https://www.economist.com/finance-and-economics/2026/05/13/is-ai-putting-graduates-out-of-work-already?">The Economist</a></em>, using data from recent graduate surveys from the National Association of Colleges and Employers in the U.S., has found a decline in the rate of full-time employment for graduates from nearly 70% to 55% from 2022 to 2025. These studies mirror my own anecdotal evidence. Many of my business school students are  reporting difficulties finding internships.</p><p>As AI gets increasingly integrated into academic research workflows, there could also be an impact on early careers in academia. Some senior researchers have begun <a href="https://www.nature.com/articles/d41586-026-01440-9">quietly turning to AI agents</a> instead of research assistants to complete certain tasks. AI can competently do many such tasks, such as literature review, data collection, and coding, and some researchers&#8217; AI budget are <a href="https://www.nature.com/articles/d41586-026-01369-z">on par with the cost a postdoc</a>.</p><div><hr></div><h1>Supervising Machines</h1><p>As many knowledge workers increasingly delegate tasks to AI, they are finding themselves more in a supervisory or coordinating role, although they may be supervising AI agents instead of junior analysts. Some companies are already treating access to AI tools and token/compute budgets as part of the work environment, and in some cases are tracking AI usage internally. Unsurprisingly, there are also <a href="https://www.ft.com/content/8ee0d3ef-9548-422d-8ff1-ebd48ad4b2ca?shareType=nongift">reports</a> of employees using AI for unnecessary tasks simply because they feel pressure to show that they are using it.</p><p>Workers who rely heavily on AI are also reporting greater fatigue, particularly from the constant demands of managing agents. A <a href="https://hbr.org/2026/03/when-using-ai-leads-to-brain-fry">recent HBR piece</a> on AI-agent overload captures the feeling well:</p><blockquote><p>&#8220;I end each day exhausted&#8212;not from the work itself, but from the <em>managing</em> of the work. Six worktrees open, four half-written features, two &#8216;quick fixes&#8217; that spawned rabbit holes, and a growing sense that I&#8217;m losing the plot entirely.&#8221;</p></blockquote><p>This example is from a developer, but the underlying issue is general: once AI tools can automate multiple streams of work in parallel, the focus changes to supervision.</p><div><hr></div><h1>The Cognitive Cost of Supervision</h1><p>Although it&#8217;s still early, some of the <a href="https://www.thealgorithmicbridge.com/p/what-the-studies-say-about-how-ai">studies on the impact of AI</a> show potentially concerning effects on our cognitive function. Even if you&#8217;re &#8220;only&#8221; managing yourself and your own AI agents, the apparent productivity boost makes it all too easy to get stuck in a loop where you will eventually hit your cognitive limits. At a minimum, we are all managing our own time and cognitive resources across a number of competing projects. </p><p>The HBR study linked above interviewed many workers intensely using AI. The authors conclude that a higher degree of AI oversight was associated with greater mental fatigue and a stronger sense of <em>information overload,</em> defined as &#8220;feeling overwhelmed by the amount of information one must process at work&#8221;. So overdoing it may mean we can get more done over the short term, at the expense of our ability to function properly in the long run.</p><p>AI enthusiasts would point out that AI can also help organize projects. While that&#8217;s certainly true, it&#8217;s not without cost. Like any management system<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, an AI-assisted workflow or management system has to be designed, maintained, and periodically revised.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> And because the tools keep changing, there is no obvious steady state: every week brings a new thing to try, and a new reason to feel behind.</p><div><hr></div><h1>AI Enhancement vs AI Erosion</h1><p>I don&#8217;t think many people would argue that AI doesn&#8217;t increase productivity. But like any new tool or technology, there are risks and trade-offs. Currently, those risks are being sidelined by the enormous pressure to use these tools, while the narrative is being shaped by the tech companies who have collectively invested a ridiculous amount of money in AI.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> At the same time, AI cost has been largely subsidized by tech companies. Recent changes in pricing can ultimately impact how companies are using these tools, how they monitor the usage and costs, and which tasks get automated. </p><p>Nevertheless, I think it&#8217;s important to recognize that, while AI can enhance work and increase productivity, it can also undermine learning and erode apprenticeship. </p><p>For students, the research suggests that using AI tools can have positive or negative effects, depending on how they are used. In my own teaching, I've moved toward less or no screen time when students are first grappling with concepts. But I also can't ignore that knowing how to use these tools effectively is becoming a professional requirement, especially in finance. The catch is that using AI well in any domain requires actually understanding the domain first. A student who offloads their analysis to a model before they can read a balance sheet isn't learning finance, or how to use AI effectively in that domain. And educators who sidestep the topic entirely get the worst of both worlds: students who use AI anyway, learn the content less deeply, and never develop good judgment about when to trust the output.</p><p>For recent graduates and early-career workers, the situation is more complex. Not only are there fewer entry-level positions, but the nature of certain jobs is shifting quickly from doing tasks to supervising the machines who do them. We can argue that many entry-level tasks are repetitive and can, and maybe should, be automated. But doing these tasks is also how professionals used to develop judgment and expertise. If those tasks disappear too quickly, we may end up with more people supervising work that they never really learned deeply how to do.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://en.wikipedia.org/wiki/Getting_Things_Done">GTD</a> comes to mind.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I&#8217;m currently implementing something based on <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy&#8217;s LLM wiki</a>. It seems promising and setting it up wasn&#8217;t complicated. Let&#8217;s see if I stick to it.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>The numbers vary, but they are all very large. Here are some examples:</p><ul><li><p><a href="https://x.com/finmoorhouse/status/2044933442236776794">The hyperscalers have already outspent the most famous US megaprojects</a></p></li><li><p><a href="https://www.ft.com/content/b3dfaba9-17a2-4fac-90fe-4ab3ca7c9494?syn-25a6b1a6=1">Tech&#8217;s $725bn AI spending spree sends free cash flow to a decade low</a></p></li><li><p><a href="https://about.bnef.com/insights/commodities/ai-data-center-build-advances-at-full-speed-five-things-to-know/">AI Data Center Build Advances at Full Speed: Five Things to Know</a></p></li><li><p><a href="https://www.aljazeera.com/news/2026/2/19/visualising-ai-spending-how-does-it-compare-with-historys-mega-projects">Visualising AI spending: How does it compare with history&#8217;s mega projects?</a></p></li></ul></div></div>]]></content:encoded></item><item><title><![CDATA[What Does a Neural Network See in a Stock Chart?]]></title><description><![CDATA[New evidence on how machines extract predictive information from price charts]]></description><link>https://systematicallybiased.substack.com/p/what-does-a-neural-network-see-in</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/what-does-a-neural-network-see-in</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Sat, 02 May 2026 17:42:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UvNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently, machine learning (ML) has attracted a lot of attention in finance and economics. Partly this reflects its success in other fields, but it also reflects something more practical: researchers and practitioners now have access to far more data than before, and standard econometric tools are not always designed to handle that scale and complexity. At the same time, computing limitations that prevented large-scale ML applications have largely disappeared. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sY1a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 424w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 848w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sY1a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png" width="652" height="393" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:393,&quot;width&quot;:652,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31353,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/196204843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 424w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 848w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sY1a!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ccae14c-ad8f-481e-abb8-13727b082f5a_652x393.png 1456w" sizes="100vw" 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 aria-hidden="true" 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><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><figcaption class="image-caption">Google Trends chart for &#8220;Machine Learning in Finance&#8221;</figcaption></figure></div><p>There are many papers that apply ML to predict returns and create trading strategies, a topic I&#8217;ve discussed in a <a href="/__u/open.substack.com/pub/systematicallybiased/p/computers-ai-and-return-predictability?r=6w89b&amp;utm_campaign=post-expanded-share&amp;utm_medium=web">previous article</a>. This article discusses a different kind of approach, used in the paper &#8220;<a href="https://economics.yale.edu/sites/default/files/2023-11/The%20Journal%20of%20Finance%20-%202023%20-%20JIANG%20-%20Re%25E2%2580%2590%20Imag%20in%20ing%20Price%20Trends_0.pdf">(Re-)Imag(in)ing Price Trends</a>&#8221; by Jiang, Kelly and Xiu (JKX), published in the Journal of Finance in 2024. The authors train different types of convolutional neural networks (CNNs) using images of price and volume charts to predict the direction of future stock returns. </p><p>The idea is simple, but very neat. Essentially, they translate typical price charts used to analyze stocks, which include price bars, volumes, and a moving average, into images that can be efficiently fed to a CNN. The target of the CNN is a binary variable equal to 1 if the return on the stock was positive over the forward horizon (which is equal to the length of time represented in each image). The final layer in the CNN is a softmax function, so the output of the CNN is a probability. The CNNs are trained with images from all available stocks over an 8-year period from 1993 to 2000, with the remaining period (2001 to 2019) reserved for testing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ENMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ENMe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png" width="1456" height="653" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:653,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&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="Article content" title="Article content" srcset="/__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ENMe!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c1efc38-4906-47f2-9011-763cd630c927_1784x800.png 1456w" sizes="100vw"></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 aria-hidden="true" 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><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>After they train the CNNs, they feed them images in the test set to estimate up/down probabilities over each horizon. They then rank stocks on the probabilities and form decile portfolios. The results show a very strong increasing pattern of future returns with the CNN probabilities (left, in red), while the highest decile also has lower volatility (right).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!43wO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 424w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 848w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 1272w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!43wO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png" width="1154" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1154,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&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="Article content" title="Article content" srcset="/__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 424w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 848w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 1272w, /__u/substackcdn.com/image/fetch/$s_!43wO!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45ce2d53-50c2-4141-8c4e-a9fba1e63297_1154x764.png 1456w" sizes="100vw"></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 aria-hidden="true" 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><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>There are many other interesting things in the paper. For instance:</p><ul><li><p>CNNs trained with one horizon also seem to produce good signals for other horizons</p></li><li><p>CNNs trained with U.S. data are also able to produce good signals for other markets</p></li><li><p>CNNs trained with images (i.e. using a 2D filter that moves through images horizontally and vertically) are better than CNNs trained with data represented in time series format (i.e. using a 1D filter). In other words, there is something special and useful in having the neural network ingest the data in image format</p></li></ul><p>The paper raises many interesting questions about how much information about future returns an image processing ML model can extract. What I find fascinating with this type of paper is how it can reveal information about the reader. Some people will look at the results and conclude something like:</p><blockquote><p><em>"This paper in JF proves that technical analysis works!"</em></p></blockquote><p>Like with many things nowadays, there's little room for nuance. What I think we should be saying is probably something like this, which is admittedly much less of a punchline:</p><blockquote><p><em>&#8220;This paper in JF shows that a CNN trained on images of past price charts exhibits some predictive ability for future return direction.&#8221;</em></p></blockquote><p>Still, of course there is a point to be made regarding technical analysis (TA). After all, the whole idea is that the CNN is trying to figure out what will happen to prices based on analyzing charts. However, whereas TA specifies a specific pattern in prices or some indicator, along with an indication about what that means for future price movements (e.g., a "head and shoulders suggests a bullish to bearish trend reversal"), the CNN does something very different. In particular, the CNN is not fed any preconceived pattern or indicator, and instead uses convolutions (akin to two-dimensional smoothing) and other operations to digest <em>all </em>the information in the images. This is <em><strong>very, very</strong></em> far removed from drawing support and resistance levels, fibonacci retracements, or trying to find head and shoulders or "three black crows" patterns in charts.</p><p>Interestingly, the CNN appears to work much better than technical analysis. The authors test their CNN against almost 8,000 technical analysis rules. The red vertical lines show the Sharpe ratio of the CNN strategy versus the Sharpe ratios of these TA rules.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JAqt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 424w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 848w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JAqt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png" width="1160" height="730" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:730,&quot;width&quot;:1160,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&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="Article content" title="Article content" srcset="/__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 424w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 848w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JAqt!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8455d01d-346c-4987-ac59-a5caf38bb332_1160x730.png 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 aria-hidden="true" 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><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><hr></div><h1>Technical Analysis, Revisited</h1><p>Of course, the profitability of technical analysis is a very tricky problem to analyze, because technical analysis and profitable trading strategies based on technical analysis are not the same thing. This point had already been made on another JF paper looking at automated detection of TA patterns by <a href="https://www.cis.upenn.edu/~mkearns/teaching/cis700/lo.pdf">Lo, Mamaysky and Wang (2000)</a>.</p><p>In that paper, the authors first smooth prices using kernel regression, and then create rules to automatically detect 10 specific TA patterns. The calibration of the kernel smoothing parameter and the rules to detect the patterns rely on some ad hoc procedures, according to the authors themselves. They find that the usual statistical calibration of the bandwidth parameters by cross-validation produces excessive smoothing. They rely on input from professional technical analysts to arrive at a more reasonable level of smoothing, and then construct rules to automatically detect each pattern. For example, this is their definition of the head and shoulders pattern:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1Yln!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1Yln!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png" width="1456" height="508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&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="Article content" title="Article content" srcset="/__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 424w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 848w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1Yln!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff78e1b94-81e0-4096-8a26-40fa2df456b9_1726x602.png 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 aria-hidden="true" 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><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 the kernel smoothing and the rules to detect patterns, Lo, Mamaysky and Wang (2000) then analyze the data to identify occurrences of each pattern. They do not directly test the profitability of the patterns; instead, they focus on whether a pattern is "informative" by comparing the distribution of returns conditioned on the occurrence of a given pattern, with the unconditional distribution of returns. They find some statistically significant differences between conditional and unconditional return distributions, particularly for NASDAQ stocks.</p><p>What is the takeaway here? Again, I have seen the same conclusion more than one time:</p><blockquote><p><em>&#8220;This paper in JF proves that technical analysis works!&#8221;</em></p></blockquote><p>But, like with the more recent paper by JKX, this statement is unwarranted. Similarly to JKX, Lo, Mamaysky and Wang (2000) have something important and interesting to say about the prospect of patterns in charts being informative about future returns. However, good quality research is nuanced and full of details. What we could say is probably something like this:</p><blockquote><p><em>&#8220;This paper in JF shows that a procedure to automatically detect specific technical analysis patterns, based on a combination of kernel smoothing of prices and automatic rules designed with input from professional technical analysts, appears to provide some information about future returns, for some patterns, in some markets.&#8221;</em></p></blockquote><p>Or we could take it directly from the authors in their carefully crafted conclusion:</p><blockquote><p><em>&#8220;We find that certain technical patterns, when applied to many stocks over many time periods, do provide incremental information, especially for Nasdaq stocks. Although this does not necessarily imply that technical analysis can be used to generate "excess" trading profits, it does raise the possibility that technical analysis can add value to the investment process.&#8221;</em></p></blockquote><div><hr></div><h1>What does JKX&#8216;s CNN &#8220;see&#8220;?</h1><p>An interesting question is what drives the performance of the CNN strategy. JKX show that chart images contain predictive information, but the original result leaves open a deeper question: what exactly is the CNN extracting from those images, and which of the elements in the charts matter more. Is it using the moving average? The volume bars? The open-high-low-close structure? Or is it benefiting from the full visual representation in a way that is hard to decompose?</p><p>A recent <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6389479">working paper</a> by Ketian Guan, Sida Li, and Jia Si (GLS) asks exactly this question. The research design is based on keeping the same protocols used by JKX, but varying the images that are fed to the CNN. The baseline is the same five-day OHLC image with moving average and volume used by JKX, which GLS modify in order to investigate what information is driving the results. They do this through two main mechanisms: </p><ul><li><p><strong>Ablation</strong>: removing one component at a time (OHLC bars, moving average line, volume bars) from the images and retraining the CNN</p></li><li><p><strong>Augmentation:</strong> enriching the original images by adding more information, such as</p><ul><li><p>52-week high&#8211;low price anchors</p></li><li><p>a grayscale price-level channel</p></li><li><p>an S&amp;P 500 index overlay</p></li></ul></li></ul><p>The original out-of-sample period in JKX is from 2001 to 2019. GLS provide evidence over the subsequent period from 2020 to 2024.</p><p>The results of their experiments are very clear. The baseline method achieves a Sharpe ratio of 3.744 over 2020&#8211;2024.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> Removing the OHLC bars reduces that to 1.874, while removing either the moving average line or the volume bars makes very little difference. In fact, removing the moving average slightly improves performance. By contrast, adding more information to the chart images tends to hurt performance. The 52-week high&#8211;low anchors, grayscale price-level channel, and S&amp;P 500 overlay all reduce the Sharpe ratio relative to the baseline.</p><p>GLS interpret this as a &#8220;less is more&#8221; result. Giving the CNN more visual information does not necessarily make the model better. Instead, the extra elements seem to distract the model from the most useful part of the image: the local OHLC geometry, i.e., the price action conveyed by the open, high, low, and close bars. As they put it: </p><blockquote><p><em>These findings sharpen our understanding of the CNN&#8217;s &#8220;visual vocabulary&#8221;: the model derives its predictive power primarily from the local geometric properties of the OHLC path&#8212;intraday ranges, open&#8211;close spreads, and their short-horizon dynamics&#8212;rather than from broader price-level context or market-wide factors.</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!rzwQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 424w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 848w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rzwQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154561,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/196204843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 424w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 848w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rzwQ!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7681d161-3af8-4551-81d6-30c51fcdeeb7_2129x1231.png 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 aria-hidden="true" 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><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>GLS also use a technique from the computer vision literature called <em>saliency map analysis </em>to infer which parts of the images the CNN is focusing its attention. An example is shown below. The brighter regions indicate areas with greater influence on the CNN predictions. These results suggest that the CNN appears to focus mainly on the bottom-right part of the charts, which represents the most recent trading days. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UvNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 424w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 848w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UvNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png" width="924" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/978939fc-993f-4914-910e-b8af6d6d4064_924x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:924,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141776,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/196204843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 424w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 848w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UvNz!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F978939fc-993f-4914-910e-b8af6d6d4064_924x675.png 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 aria-hidden="true" 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><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><hr></div><h1>Final Thoughts</h1><p>Financial applications of ML often run into an interpretability problem. Early papers focused more on demonstrating that ML can deliver superior performance, which is true in many, but not all, financial ML applications. More recent papers like JKX and GLS increasingly focus on understanding and interpreting what is driving the results.</p><p>The recent interest in using AI, particularly large language models (LLMs), in finance poses new and significant challenges in this respect for two reasons. First, it becomes much more difficult to detect or rule out information leakage when models are trained on immensely large corpora. The convolutional network in JKX and GLS can really only &#8220;see&#8221; a chart constructed from past prices. By contrast, an LLM used for financial analysis may bring in knowledge from many sources, including previous studies documenting existing patterns and anomalies. Second, while there are many techniques for interpreting classic ML models (variable importance, ablation, partial dependence plots etc), LLMs with billions of parameters remain mostly black boxes.</p><p>The irony is not lost. You could show any stock chart to an LLM and ask where the price is going next. It might even be right. But even if it gave you a confident explanation for its prediction, I wouldn&#8217;t really trust it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>They also show results over a longer out-of-sample period from 2011-2024, over which the baseline achieves a Sharpe ratio of 5.181.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Portfolio Optimization: What Could Go Wrong?]]></title><description><![CDATA[A lot, actually...]]></description><link>https://systematicallybiased.substack.com/p/portfolio-optimization-what-could</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/portfolio-optimization-what-could</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Thu, 30 Apr 2026 15:05:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8FPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Mean-variance optimization is one of those ideas that is both foundational and strangely easy to caricature. In theory, it gives us the cleanest possible answer to a portfolio choice problem. In practice, small changes in the inputs can lead to large changes in the portfolio. This post is about the second part. I&#8217;ll show some concrete examples of how easily things can go wrong when portfolio optimization is implemented na&#239;vely, and how some of these issues can be attenuated in practice. I&#8217;ll focus only on mean-variance optimization (MVO), the most vanilla of all portfolio optimization approaches. </p><p>Python code for all the examples shown in this article is provided at the end.</p><div><hr></div><h1>The Mean-Variance Optimization Problem</h1><p>Given <em>n</em> assets, we are trying to build an efficient portfolio in a mean-variance sense. For a target level of expected return <em>&#181;</em>, we want the portfolio with the lowest risk possible.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\min_{w_1,\\dots,w_n}{\\text{Var}(r_p)} \\quad \\text{such that} \\quad \\sum_{i=1}^n{w_i}=1 \\quad \\text{and} \\quad E(r_p)=\\mu&quot;,&quot;id&quot;:&quot;HIJBNEKJQR&quot;}" data-component-name="LatexBlockToDOM"></div><p>Any finance textbook gives us the following recipe:</p><ol><li><p>Find the minimum variance portfolio (MVP) and compute its expected return. The MVP is the solution of the problem above without the target expected return<em> </em>constraint. </p></li><li><p>Create a grid from the expected return of the MVP to a maximum expected return. </p></li><li><p>Solve the problem above for each target expected return, store portfolio weights, expected returns, and standard deviations. </p></li><li><p>Plot the resulting set of portfolios in standard deviation-expected return space.</p></li></ol><p>The result is the so-called <em>efficient frontier</em>, i.e., the set of portfolios with the lowest risk for each level of expected return (or alternatively, with highest expected return for each level of risk). This is the starting point for many classic results in finance which I&#8217;m not going to discuss here. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!8FPy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!8FPy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:679054,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 424w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 848w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8FPy!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3311ee68-bf17-44b3-a5d3-b0abc75ad5d3_1448x1086.png 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 aria-hidden="true" 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><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><hr></div><h2>Problems with MVO</h2><p>Already we can identify some potential issues:</p><ul><li><p>We don&#8217;t really know the expected returns of the assets or their covariance matrix;</p></li><li><p>We&#8217;re assuming that the investor&#8217;s preference is fully captured by expected returns and the covariance matrix of returns; </p></li><li><p>Everything is static (this is a single period model);</p></li><li><p>The framework doesn&#8217;t take into account practical considerations, such as transaction costs.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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 will come back to some of these issues in a future article. For now, let&#8217;s focus on the first one. Since we do not know the expected returns and covariances, the best we can do is to estimate them, which brings estimation error into the problem. The standard Markowitz machinery is not designed to take that into account. A common critique is that MVO is an &#8220;error maximizer&#8221;, but this is a critique of the estimation process, not of the method. </p><p>This distinction matters. Optimization does not create information. It operates on whatever information is in the inputs. If the inputs contain signal, optimization can turn small edges into meaningful portfolio gains. If the inputs contain mostly noise, optimization can amplify that noise into concentrated bets.</p><p>Among the inputs to be estimated, there is a pecking order in terms of the impact on the resulting portfolios:</p><div class="callout-block" data-callout="true"><p style="text-align: center;">Expected returns&#8594;Variances&#8594;Covariances</p></div><p>The intuition is simple: expected returns enter the optimizer as the reward for taking risk, so small differences in estimated means can dominate the allocation. Variances determine the scale of risk for each asset, while covariances determine diversification benefits across pairs.</p><p>The estimation of expected returns is the most critical. Not only are expected returns difficult to estimate precisely, but small differences in expected return estimates can significantly affect the resulting portfolios. In terms of the covariance matrix, errors in the variances are approximately twice as important as errors in the covariances.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> There are also known issues in estimating covariances, especially in high dimensions (hundreds or thousands of assets), but there are many methods that can attenuate these issues. </p><p>Many empirical studies that find lackluster performance for MVO portfolios estimate inputs directly from historical returns. Interestingly, this is clearly at odds with what Markowitz himself suggested. His 1952 paper opens with the following statement: </p><blockquote><p><em>The process of selecting a portfolio may be divided into two stages. The first stage starts with observation and experience and ends with beliefs about the future performances of available securities. The second stage starts with the relevant beliefs about future performances and ends with the choice of portfolio. This paper is concerned with the second stage&#8230;</em></p><p><em>To use the E-V rule in the selection of securities, we must have procedures for finding reasonable &#956;<sub>i</sub> and &#963;<sub>ij</sub>. These procedures, I believe, should combine statistical techniques and the judgment of practical men.</em></p></blockquote><p>So dismissing MVO because na&#239;ve implementations based on historical return estimates perform poorly feels a bit like throwing the baby out with the bathwater. That is, the fact that estimates based only on past returns produce poor results should not automatically disqualify the optimization process.</p><p>One interesting aspect regarding the estimation of expected returns is that even a small forecasting edge can significantly improve results. Expected return estimates based only on realized returns are mostly noise, but firm characteristics and other variables can be used to construct forecasting models with low, but nonzero, predictive power. This is a point I will come back to in a future article. </p><div><hr></div><h1>Practical Examples</h1><p>The rest of this post is concerned with simple illustrations of the very real issues that arise when MVO is applied using na&#239;ve estimates from historical returns. These examples are pedagogical but typical of what happens in practice if we implement MVO &#8220;out of the box&#8221;. Examples 1 through 4 illustrate common problems that arise in na&#239;ve MVO implementations. Examples 5 and 6 show simple ways to attenuate some of them.</p><h3>Example 1: Input sensitivity</h3><p>A common issue with MVO is the sensitivity of the results to changes in the inputs. Consider the example below. There are three assets with the characteristics below. Assume all correlations are equal to 0.8, and the objective of the manager is to maximize the expected return for a 15% volatility target.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/xF2Bm/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd174910-7803-4de2-9c32-6cefef48ba99_1220x324.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01ffbe67-ee3f-4b24-bfaa-06facc455221_1220x324.png&quot;,&quot;height&quot;:155,&quot;title&quot;:&quot;Created with Datawrapper&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/xF2Bm/1/" width="730" height="155" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>If we solve the problem, we get the following portfolio weights: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;w^*=(0.383, 0.202, 0.414)'&quot;,&quot;id&quot;:&quot;QOUZYAZVXF&quot;}" data-component-name="LatexBlockToDOM"></div><p>Now suppose we increase all pairwise correlations from 0.8 to 0.9. In this case, we get the following solution:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;w^*=(0.446, 0.089, 0.465)'&quot;,&quot;id&quot;:&quot;JFUUIGYEYL&quot;}" data-component-name="LatexBlockToDOM"></div><p>An apparently small change in the correlation leads to large differences in portfolio weights. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!k6EL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 424w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 848w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 1272w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!k6EL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65982,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 424w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 848w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 1272w, /__u/substackcdn.com/image/fetch/$s_!k6EL!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6df6922-662d-43a7-b5e7-6d4e1a452e29_1584x944.png 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 aria-hidden="true" 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><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><h3>Example 2: Estimation Error</h3><p>Example 1 illustrated the fact that MVO weights are very sensitive to the inputs. We also know that financial returns are very noisy, and the inputs are estimated under significant estimation error, especially expected returns. But that doesn&#8217;t mean that we can take covariance matrix estimates for granted. Even with a small number of assets, sample variability can have an important impact. </p><p>In this example, we consider an extremely simple application of MVO. There are only two assets:</p><ul><li><p>SPY (U.S. equities)</p></li><li><p>TLT (Long-Term U.S. Treasuries)</p></li></ul><p>And we are estimating the minimum variance portfolio (MVP) of the two assets on a given date. In the two-asset case, the MVP is calculated in closed form as</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;w_{MVP} =\\frac{\\sigma_2^2-\\sigma_{12} }{\\sigma_1^2 +\\sigma_2^2 -2\\sigma_{12}}&quot;,&quot;id&quot;:&quot;RSIMMQEGQG&quot;}" data-component-name="LatexBlockToDOM"></div><p>Therefore, we only need to estimate 3 parameters:</p><ul><li><p>The variance of SPY</p></li><li><p>The variance of TLT</p></li><li><p>The covariance between SPY and TLT</p></li></ul><p>Suppose we decide to estimate these parameters using 5 years of daily returns for the two ETFs. This means we have approximately 1,260 daily return observations for each asset, which is a relatively generous sample for estimating only three parameters.</p><p>Using 5 years of daily data ending in March 2026, we get the following estimates:</p><ul><li><p>SPY volatility: 17%</p></li><li><p>TLT volatility: 16%</p></li><li><p>Correlation (SPY,TLT): 0.0712 </p></li></ul><p>The corresponding MVP allocates 46% to SPY and 54% to TLT, resulting in a volatility of 12%. The reduction in risk is due to the low correlation. </p><p>In this simple example with only 3 parameters to estimate, how much sampling variability exists? That is, if we had used a slightly different sample, we would have obtained different estimates. To quantify the variability in these estimates, we use a technique known as bootstrapping. The idea is to construct new samples by randomly drawing, with replacement, from the original sample. The graphs below were generated with 1,000 bootstrap samples. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3PyZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 424w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 848w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3PyZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png" width="1411" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:1411,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64772,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 424w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 848w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3PyZ!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdff9d7d6-a33c-43a3-9fed-91836c49ba0d_1411x561.png 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 aria-hidden="true" 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><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>As we can see, even in this simple case in which data is relatively abundant, there&#8217;s a substantial amount of uncertainty. A 95% confidence interval for the MVP weight on SPY is [41.20%, 51.20%], while the corresponding interval for MVP volatility is [11.23%, 12.76%].</p><h3>Example 3: Corner Solutions/Extreme Concentration</h3><p>Another common issue in na&#239;vely implemented MVO portfolios, especially when weights are left unconstrained, is the emergence of corner solutions. The optimizer finds a solution that invests almost all capital in just a small subset of the assets, leading to extreme portfolio concentration. </p><p>Let's consider the problem of optimizing a portfolio using the following ETFs representing different asset classes:</p><ul><li><p>U.S. Stocks (SPY)</p></li><li><p>International Stocks (EFA)</p></li><li><p>Emerging Stocks (EEM)</p></li><li><p>Long-Term U.S. Treasuries (TLT)</p></li><li><p>Intermediate-Term U.S. Treasuries (IEF)</p></li><li><p>U.S. Corporate bonds (LQD)</p></li><li><p>Real Estate (VNQ)</p></li><li><p>Commodities (DBC)</p></li><li><p>Gold (GLD)</p></li></ul><p>The objective is to find the portfolio with the highest expected return subject to a target volatility of 10%.</p><p>Below are solutions obtained from a na&#239;ve implementation of MVO on a specific date (December 2019). Expected returns and the covariance matrix estimates are  obtained using sample moments from the previous 3 years of daily data. The &#8220;Unconstrained&#8221; solution allows short positions, while the &#8220;Long-Only&#8221; requires non-negative weights. In both cases, the full investment constraint (sum of weights = 1) is used. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/vimE0/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ec12717-a16b-4148-a8c5-ced7ea20fc10_1220x906.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19185c79-627d-4429-9e74-f8a2a73606dc_1220x976.png&quot;,&quot;height&quot;:554,&quot;title&quot;:&quot;[ Portfolio solutions as of December 2019 ]&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/vimE0/2/" width="730" height="554" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>The unconstrained solution invests in all ETFs, but the level of leverage is unreasonable (gross leverage of over 600%). The optimizer takes large opposite positions in IEF and LQD. The two ETFs are highly correlated (<em><a href="https://www.ascii-code.com/character/%CF%81">&#961;</a></em>=0.94), but have a difference in expected returns, so the optimizer aggressively buys LQD (expected return 6.7%) and shorts IEF (expected return 4%). While the positions are extreme, this is not unexpected. In the absence of other constraints, the optimizer is trying to take advantage of the fact that the two assets seem like close substitutes but have a return differential.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pXWA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 424w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 848w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pXWA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png" width="804" height="701" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:701,&quot;width&quot;:804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 424w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 848w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pXWA!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3cb2696-3874-4ff7-85c6-5842a4cd1df3_804x701.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Estimated correlation matrix as of December 2019</figcaption></figure></div><p>The long-only solution, on the other hand, is extremely concentrated. It invests only in SPY (78.7%) and GLD (21.3%). </p><p>What about other efficient portfolios? The graph below shows the entire efficient frontier under the long-only constraint (<em>w<sub>i </sub>&#8805; </em>0). As we can see below, the entire frontier lacks diversification, investing on average in only 3 assets at any given level of volatility.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sYWB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 424w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 848w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sYWB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png" width="1190" height="990" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:990,&quot;width&quot;:1190,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74812,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 424w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 848w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sYWB!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b297ab-e318-4f21-beab-e4f51a25a703_1190x990.png 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 aria-hidden="true" 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><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><h3> Example 4: Instability of Optimal Weights</h3><p>Considering the same setup of Example 3, let&#8217;s explore how the optimal weights for the target volatility of 10% in the long-only case evolve if we rebalance the portfolio at each month end. As can be seen in the graph below, the optimal allocations can vary dramatically over time. In Example 3, the optimal allocations as of December 2019 were concentrated in SPY (~80%) and GLD (~20%). But we can see that, prior to that date, the GLD allocation was replaced by either TLT or LQD.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!tSgM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 424w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 848w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!tSgM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png" width="1456" height="631" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92494,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 424w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 848w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tSgM!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00a2f3e5-8446-4cce-a7e8-2176f9d11604_1591x690.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Optimal allocations can vary dramatically over time</figcaption></figure></div><p>The COVID shock shifts allocations dramatically due to changes in the estimated parameters. As shown below, the optimal portfolio moves to an almost 20% allocation to TLT in January 2020, and then abruptly allocates almost 100% to TLT in February 2020. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/qBdgU/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/368183d3-2428-4e09-9258-9591926716fa_1220x842.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f75b08b4-bdb8-499b-bbf9-baeaebf71e3d_1220x912.png&quot;,&quot;height&quot;:453,&quot;title&quot;:&quot;Optimal Allocations During COVID-19 Shock&nbsp;&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/qBdgU/1/" width="730" height="453" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>Once again, this is not unexpected. We relied on sample moments for the optimization. When the sample moments abruptly changed, the optimization results changed accordingly. This is not necessarily bad: it would make sense to reduce exposure to risky assets during this period. But without forward-looking estimates, the best the optimizer can do is react when the sample moments change. Using shorter samples will lead to faster reactions, with higher portfolio turnover. </p><p>Another interesting question is the extent to which empirical regularities can make their way into the optimization process. For example, using past returns to construct estimates of expected returns can introduce a momentum effect in the portfolio construction process. This illustrates an important nuance: using historical returns as expected returns is not always an accidental mistake. Sometimes it is an intentional signal design choice. The problem is that once expected returns are estimated from recent returns, the optimizer needs additional discipline, usually in the form of constraints.</p><p>JPMorgan designed an index based exactly on this idea. The <a href="https://www.jpmorgan.com/content/dam/jpm/structured-products-documents/2015/jan/JPMorgan_ETF_Efficiente_5_Index_Supplement.pdf">JP Morgan Efficiente 5 index</a> uses a set of 12 ETFs and constructs an optimal portfolio using mean-variance optimization with a lookback window of 6 months to estimate expected returns. The idea behind the short lookback period is to try to capture time series momentum in the ETFs. To get around the lack of diversification we have seen in this example, they impose maximum weights per ETF and per asset class. The inclusion of these additional constraints is the simplest approach to attempt to discipline MVO results, as I&#8217;ll illustrate in the next example. </p><h3>Example 5: Adding Constraints</h3><p>One of the most commonly used approaches to deal with the concentration issues in MVO is to introduce constraints on the portfolio weights. We explore the impact of simple constraints for the long-only optimal portfolio in Examples 3 and 4. We consider the following portfolios: </p><ul><li><p>Long-only: the same portfolio in Example 3 (positive weights with full investment constraint). </p></li><li><p>Max. asset weight: long-only portfolio with an additional constraint that the weight on any asset is capped at 20%. </p></li><li><p>Max. asset class weight: long-only portfolio with the constraint that the weight on any asset is capped at 20% and additional caps per asset class. </p></li></ul><p>For the last one, we divide portfolios into 3 asset classes for simplicity as follows: </p><ul><li><p>Equity: SPY, EFA, EEM. The upper bound for the combined weights is 50%.</p></li><li><p>Fixed Income: TLT, IEF, LQD. The upper bound for the combined weights is 50%.</p></li><li><p>Alternatives: VNQ, GLD, DBC. The upper bound for the combined weights is 30%.</p></li></ul><p>For each case, we obtain the optimal portfolio with a target volatility of 10% at the end of December 2019. The solutions in each case are shown below. The first column shows the same overly concentrated portfolio from Example 3, which invests in only two out of the nine assets. The introduction of the maximum weight constraint at the asset level (column &#8220;Max. asset weight&#8221;) forces the optimizer to diversify. The constraint is binding for SPY and GLD, but the portfolio now invests in six assets. Finally, the introduction of the additional asset class constraints (column &#8220;Max. asset class weight&#8221;) improves diversification a bit more, although two assets (TLT and VNQ) are still left out. </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/qhvhb/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a39a90ae-7516-42a2-9ccd-9c7dbfed7f59_1220x878.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf1d0c30-cfed-47fa-bc8d-67299f388494_1220x1070.png&quot;,&quot;height&quot;:532,&quot;title&quot;:&quot;Solutions under different constraints&quot;,&quot;description&quot;:&quot;Long-only: positive weights with full investment constraint; Max. asset weight: positive weights, capped at the asset level at 20%; Max. asset class weight: positive weights, capped at the asset level at 20% with additional constraints by asset class&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/qhvhb/2/" width="730" height="532" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>As we can see, introducing constraints into the portfolio optimization process has the practical effect of improving diversification. There are also <a href="https://pubsonline.informs.org/doi/abs/10.1287/mnsc.1080.0986">theoretical reasons</a> for why adding constraints can be beneficial, as they induce a shrinkage effect on the covariance matrix, which attenuates estimation error.  </p><h3>Example 6: A Simple Resampling Approach</h3><p>In Example 2, I used bootstrapping to assess the variability in MVP weights. An interesting approach that can be used to mitigate several of the issues with MVO illustrated above is to apply resampling to the portfolio optimization process. A typical process works as follows: </p><ul><li><p>Estimate expected returns and covariance matrix from the original sample.</p></li><li><p>Generate many simulated or bootstrap samples.</p></li><li><p>For each sample, estimate a new <em>&#181;</em> and <em>&#931;</em>.</p></li><li><p>Compute an efficient frontier for each resample.</p></li><li><p>Average the portfolio weights across resamples at corresponding points on the frontier.</p></li><li><p>Evaluate the averaged portfolios using the original estimates.</p></li></ul><p>I apply this approach to the multi-asset-class portfolio of the 9 ETFs on December 2019 (for comparison with the results in Examples 3-5). The resampling step uses 500 bootstrap samples. </p><p>The resampled frontier is shorter and plots below the full sample one (top chart). The bottom chart shows that the resampling approach improves diversification significantly. In particular, all assets are now part of the frontier, and the concentrations are much less extreme. Note that the resampled frontier below does not include any constraints, either at the individual asset or the asset class level. Nevertheless, the allocations are much less extreme compared to a single optimization. </p><p>The resampled frontier is much more diversified because it averages the optimal weights obtained from many slightly different versions of the data. In the original sample, mean-variance optimization tends to put large weights on the assets that look best in-sample, especially those with high estimated returns, low estimated risk, or favorable estimated correlations. </p><p>But these estimates are noisy, so the identity of the &#8220;best&#8221; assets changes across bootstrap samples. An asset that receives a large weight in one resample may receive a smaller weight, or no weight, in another. When the weights are averaged across many resampled frontiers, these unstable extreme positions are diluted, while assets that are consistently useful across samples retain higher weights. The result is a smoother and more diversified allocation that sacrifices some in-sample efficiency in exchange for lower sensitivity to estimation error. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vSxz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 424w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 848w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vSxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png" width="1190" height="990" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:990,&quot;width&quot;:1190,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103965,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195638939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 424w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 848w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vSxz!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0ee61a2-f9f2-40ad-a968-0eae8a866bbc_1190x990.png 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 aria-hidden="true" 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><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><hr></div><h1>Final Thoughts</h1><p>Mean-variance optimization (MVO) is often criticized as yielding nonsensical or impractical results. This article shows practical examples that illustrate: </p><ul><li><p>how sensitive MVO solutions can be to small changes in inputs;</p></li><li><p>how MVO can produce overly concentrated portfolios or extreme long-short positions;</p></li><li><p>how na&#239;ve sample-moment estimates can lead to unstable allocations over time;</p></li><li><p>how constraints and resampling can reduce, though not eliminate, these problems.</p></li></ul><p>MVO is not the only game in town. Other portfolio construction approaches are designed, at least in part,  to handle some of the issues illustrated in this article: </p><ul><li><p>The <a href="https://www.investopedia.com/terms/b/black-litterman_model.asp">Black-Littermann</a> model starts from the idea that market weights contain useful equilibrium information, then allows investors to incorporate views with an explicit degree of confidence.</p></li><li><p>Bayesian approaches, more generally, model uncertainty about expected returns, covariances, or other inputs directly rather than treating estimates as known.</p></li><li><p>The <a href="https://www.ft.com/content/540b2f9a-9c58-44f5-8ae9-36a58c95d26c?shareType=nongift">Total Portfolio Approach</a> uses the strategic asset allocation process to define a fund&#8217;s return objective and overall risk budget, but treats the resulting benchmark as a guide rather than a binding allocation. It recognizes the uncertainty in long-term forecasts and gives investment teams more discretion to deploy risk across the total portfolio as opportunities and market conditions change.</p></li><li><p><a href="https://www.aqr.com/-/media/AQR/Documents/Insights/White-Papers/Understanding-Risk-Parity.pdf">Risk parity</a> reduces reliance on expected return estimates by focusing instead on how much each asset contributes to total portfolio risk.</p></li><li><p><a href="https://rady.ucsd.edu/_files/faculty-research/valkanov/parametric-portfolio.pdf">Parametric portfolio policies</a> allow investors to link portfolio weights directly to asset characteristics that may contain information about expected returns.</p></li></ul><p>While there are many alternative portfolio construction methodologies, I would argue that MVO remains useful because it makes the trade-off between return, risk, and diversification explicit. Knowing its practical limitations, and ways to avoid them, remains essential. </p><div><hr></div><h1>Python Code</h1><p>Notebooks that replicate all examples in this article are provided below for supporters of the Systematically Biased. </p>
      <p>
          <a href="/__u/systematicallybiased.substack.com/p/portfolio-optimization-what-could">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Building a Systematic Trading System With AI (Post #4: Building the Trading Layer)]]></title><description><![CDATA[From Signals to Orders and Final Thoughts on the Project]]></description><link>https://systematicallybiased.substack.com/p/building-a-systematic-trading-system-b67</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/building-a-systematic-trading-system-b67</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Fri, 24 Apr 2026 18:22:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Wrnv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is the fourth and last post of a series in which I&#8217;m documenting the process of building a functional systematic trading system from scratch using an AI agent. Previous parts are here: </p><ul><li><p><a href="/__u/systematicallybiased.substack.com/p/building-a-trend-following-trading?r=6w89b">Post #1</a> (data pipeline). </p></li><li><p><a href="/__u/systematicallybiased.substack.com/p/building-a-systematic-trading-system?r=6w89b">Post #2</a> (trading rules/subsystems/strategies).</p></li><li><p><a href="/__u/systematicallybiased.substack.com/p/building-a-systematic-trading-system-19d?r=6w89b">Post #3</a> (backtesting engine)</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>Once the data pipeline and backtesting engine were in place, the next challenge was operational. At that point, the app could already process historical futures data for signal generation and backtest strategies under fairly realistic assumptions. But neither of those things is enough to trade a strategy in practice. That requires a different layer of the system.</p><p>The trading problem can be stated very simply:</p><blockquote><p>How do we take a signal generated by a model and turn it into an actual position held at the broker, while keeping the process observable, reviewable, and safe?</p></blockquote><p>This quickly expands into a chain of distinct steps. Strategies produce signals. Given an account size and choices about how to combine them to achieve some target risk, the signals need to be turned into target positions. The target positions then need to be compared with what is currently held in the account. That comparison produces one or more orders that, once executed, change the state of the portfolio, which in turn determine future P&amp;L.</p><p>In other words, the trading layer is really about managing the transformation</p><p style="text-align: center;"><strong>Signals &#8594;Target Positions&#8594;Orders&#8594;Actual Positions&#8594;P&amp;L</strong></p><p>in a way that maintains internal consistency. </p><div><hr></div><h1>From Signals to Targets</h1><p>The first step is to decide what the strategy wants to hold based on a signal. In the app, signals are generated by trading rules, then combined inside subsystems, and finally combined into a strategy and translated into desired positions by the portfolio engine. The output of this stage is not an order but a <em>target</em>: the number of contracts the strategy would like to hold for each instrument.</p><p>Conceptually, if the strategy signal for instrument <em>i </em>is <em>S<sub>i </sub></em>and the sizing engine determines that one unit of signal corresponds to some risk-scaled contract quantity, then the target can be written schematically as </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;n_i^{\\ast} = f(S_i, \\text{capital}, \\text{volatility}, \\text{constraints})&quot;,&quot;id&quot;:&quot;WXEFUVETRH&quot;}" data-component-name="LatexBlockToDOM"></div><p>The exact form of the function depends on the sizing logic. While the distinction between signal and position may seem obvious, it&#8217;s important in order to avoid confusion between the two layers.</p><p>The strategy I adopted in this project is typical of many systematic trading setups. We take a snapshot of the current market state and append it, in effect, as the latest observation for the purpose of computing the current signal, which then is turned into a target position as described above.  </p><p>Once the app computes targets, it has to decide what to do with them. The current setup is <em>semi-automatic:</em> the app treats targets as snapshots. A target run is computed, saved, and then reviewed. Execution then operates on that persisted snapshot rather than silently recomputing the strategy again at order time. This keeps the trading decision being executed explicit and auditable. Obviously, if we were to move into higher frequency strategies, automation and speed would be much more important. </p><div><hr></div><h1>From Targets to Orders</h1><p>Once a target is known, the next step is to compare the target with the current position. If the desired position is <em>n<sub>i</sub><sup>*</sup></em> and the current position attributed to the strategy is <em>n<sub>i</sub><sup>B</sup></em>, then the order quantity is</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\Delta n_i = n_i^{\\ast} - n_i^{B}&quot;,&quot;id&quot;:&quot;BBTXJZZCHX&quot;}" data-component-name="LatexBlockToDOM"></div><p>Again, this is conceptually simple, but there are some important details. The app is not generating trades directly from signals, but from the difference between desired and current state. This also means that the app need to be able to read broker snapshots and reconcile positions with one or more strategies. Without a reliable view not only of current broker holdings, but of what each strategy is holding, the app cannot compute meaningful order deltas.</p><div><hr></div><h1>From Orders to Positions</h1><p>Making the app connect to my broker&#8217;s API was extremely easy (despite a few glitches related to a well-known issue in Interactive Brokers&#8217;s API running inside a Streamlit environment). But the trading layer is more than a wrapper around the broker API. Once orders are submitted, the app has to update its view of what the account actually holds. It has to compare that with what the broker reports and  decide whether the internal state and the external state are still aligned.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Wrnv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Wrnv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png" width="1456" height="1118" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1118,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:201141,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/195231018?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wrnv!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8aeb6ca-7f56-49f5-8409-95a18e5faded_1906x1464.png 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 aria-hidden="true" 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><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><figcaption class="image-caption">Connecting the app to Interactive Brokers was surprisingly easy</figcaption></figure></div><p>This is especially important because the broker account only knows account-level positions, ie it does not know about the internal hierarchy of rules, subsystems, and strategies that exists inside the app. So if several strategies are meant to coexist in the same account, the app has to maintain its own strategy-level accounting. That means the system needs to be able to retrieve broker positions, and attribute them internally to one or more strategies. The latter part needs to be coherently taken care of by the app. Without this internal attribution layer, a multi-strategy system running in one account becomes impossible to monitor coherently.</p><div><hr></div><h1>From Positions to P&amp;L</h1><p>Given existing positions, we would like to measure P&amp;L to monitor the system. In a futures systems, this means marking positions to market using current prices and contract multipliers. The calculation is relatively straightforward, but the system needs to maintain a coherent chain from executed positions to current account state to P&amp;L. Without that, the system cannot really be monitored.</p><p>The broad logic is simple enough, but the difficulty is in all the boundary conditions around it. Signals are generated on continuous futures series, but orders must be placed in actual tradable contracts. This means the app has to distinguish between the instrument used for signal generation and the instrument used for execution. I&#8217;ve also implemented a feature that allows the user to change the mapping of the contracts used for signal generation and trading. For example, I may use BTC for signal generation but execute on MBT.  </p><p>One important detail was to make sure  that the app would not break in case of unattributed positions. Since I have other positions in my brokerage account that have nothing to do with the system, I had the agent implement logic to put these aside in an &#8220;unattributed&#8221; bucket, which allows me to quickly check anything that is not internally attributed to a strategy. </p><p>That is what makes the trading layer a engineering problem rather than just an API integration (which the AI agent did very efficiently). </p><div><hr></div><h1>Monitoring Exceptions</h1><p>Real life is messy, and it is not possible to plan for every eventuality. However, we can and should carefully monitor what happens along the way, and the app should flag any situations that seem anomalous. My app ended up with separate monitoring and exception views to keep track of whether the system is currently in a trustworthy state.</p><p>I did (and do) intend to use this app for real trading. For this reason, paper trading is essential, as it reveals many of the operational issues that can happen. To avoid any risk of mixing paper and live trading, I implemented a strict segregation between the two: each has its separate state, separate storage, separate logs, and separate broker connections. </p><p>This part of the project also made the limitations of AI-assisted coding very visible. The difficulty was not in coding, but in making sure the entire chain was logically coherent, due to the many details involved in even a modestly complex trading system. Testing strategies in paper trading revealed several issues and allowed me to fix them safely. </p><div><hr></div><h1>What Still Needs Work</h1><p>So this is the end of the series, but not really the end of the project. At this stage, I&#8217;ve been paper trading strategies, but I still don&#8217;t trust it enough to put real money on the line. Some of the things in the list are:</p><ul><li><p>The system still runs locally on my laptop, with a local database. That is fine for development and paper trading, but too fragile for serious live use. A more robust deployment and storage architecture is still needed.</p></li><li><p>Incorporate a complete workflow for ETF strategies so I can automate the tactical allocation strategy that I use. </p></li><li><p>Improve the backtesting engine to use contract/expiry level data for futures. Although the continuous futures series are good enough to backtest trend following and mean reversion strategies, using the right expiries is more realistic and will allow me to more correctly model rollover assumptions, as well as test strategies like carry, which require trading in more than one contract. </p></li><li><p>Maintenance tools: if something goes wrong (say, I decide to manually close a position), there should be a way to provide that information to the system. Of course, I can tell the agent to fix it, but the app should be able to do this independently.</p></li><li><p>Improve the overall robustness of the system, including better P&amp;L and strategy monitoring. </p></li><li><p>Further automation of data update and signal generation.</p></li></ul><div><hr></div><h1>What This Project Taught Me</h1><p>I had very little experience working with AI agents when I started this project. In the process of building the app, I learned enough about how to scope, guide, and iterate with them that part of me is tempted to start over and rebuild it from scratch with that knowledge in hand. I&#8217;ve been experimenting with agents on other projects as well, and both the speed and the quality of what I can produce keep improving.</p><p>One lesson in particular has become very clear to me: it pays to spend more time upfront defining the context, clarifying the scope, and working with the agent to produce a coherent plan before any coding begins. I&#8217;ve found it especially useful to instruct the agent to keep asking questions until it has clarity on all relevant points.</p><p>Over the course of building this app, the AI agent was extremely useful. It could write large amounts of code quickly, scaffold interfaces, refactor workflows, build database layers, and implement features at a pace I could never have matched on my own. While I&#8217;m quite comfortable with trading strategies, backtests, and portfolio construction, my knowledge of database architecture and UI development is rudimentary at best. In that sense, AI significantly expanded what I could realistically build.</p><p>This project also reinforced for me that AI is not a substitute for domain knowledge. It can accelerate development dramatically, but it is most useful when we can provide detailed specifications of how things should work and still detect problems even when, superficially, things look correct. There were very few cases where the code itself was the main problem. Most bugs arose because I had not provided enough detail about the desired behavior, or because the problem being tackled turned out to be more complex than it initially appeared. In other cases, the code would run and the results would seem reasonable, yet still be conceptually wrong in ways that were not obvious unless I inspected the logic directly or questioned the agent. These are the kinds of mistakes that can get lost in &#8220;vibe coding.&#8221; In that respect, developers have a real advantage when using these tools, because they are used to thinking in terms of specifications, tests, and edge cases.</p><p>I began this series with a simple question:</p><blockquote><h4>Can an AI agent build a functional systematic trading system from scratch?</h4></blockquote><p>My answer is yes, but with some caveats. AI can greatly accelerate the process, but the quality of the result still depends heavily on the human component. I was able to build a prototype that is close to functional for my own purposes, although I would still want much more testing and validation before trusting it with real money. Even so, it remains far from anything I have used, or would consider using, in a professional setting. Now, I&#8217;m not a professional developer, and I&#8217;m well aware of my limitations in that regard. I have no doubt that a professional developer using AI agents could build something orders of magnitude better.</p><p>So that, at least, is what this project taught me. AI made it possible to build much more, much faster, than I could have on my own. AI agents have effectively removed the speed of code creation as a limiting factor, but in a project like this, coherence and a vision of how the parts fit together is what matters. This still depends heavily on the human(s) in the loop.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>]]></content:encoded></item><item><title><![CDATA[Your Trend Strategy is Just a Weighted Average of Past Returns]]></title><description><![CDATA[How Popular Trend Indicators Embed Views on Return Dynamics]]></description><link>https://systematicallybiased.substack.com/p/your-trend-strategy-is-just-a-weighted</link><guid isPermaLink="false">https://systematicallybiased.substack.com/p/your-trend-strategy-is-just-a-weighted</guid><dc:creator><![CDATA[Systematically Biased]]></dc:creator><pubDate>Fri, 17 Apr 2026 14:47:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y4Gu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Trend following is one of the most widely used systematic trading strategies. There&#8217;s solid evidence that trend following has worked across long periods of time, different markets, and is particularly useful during periods of crisis<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> There are endless ways to implement it, but many popular trend indicators turn out to be much closer cousins than they first appear. In fact, once you rewrite them in return space rather than price space, a lot of trend-following rules are just weighted averages of past returns. What differs across rules is not the basic idea, but the shape of the weights.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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>There are countless trend indicators around, but most are variations of simple ideas like: </p><ul><li><p>Compare the current price with price <em>n</em> periods ago.</p></li><li><p>Compare current price with a moving average of prices. </p></li><li><p>Compare a fast moving average with a slow one.</p></li></ul><div><hr></div><h1>Time Series Momentum Rules</h1><p>Take a simple rule based on the first idea. We can express the signal as follows: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_t(n) = \\begin{cases} &amp;1, \\quad P_t-P_{t-n}\\geq0 \\\\-&amp;1, \\quad P_t-P_{t-n}<0\\end{cases}&quot;,&quot;id&quot;:&quot;EEHTKWRWGC&quot;}" data-component-name="LatexBlockToDOM"></div><p>That means we should go long when the current price is above the price <em>n </em>periods ago, and short otherwise. We can express the same rule by looking at the cumulative returns, which is the time series momentum signal used in many of the papers on trend following:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_t(n) = \\begin{cases} &amp;1, \\quad r_{t-n,t}\\geq0 \\\\-&amp;1, \\quad  r_{t-n,t}<0\\end{cases}&quot;,&quot;id&quot;:&quot;WZKKCPQGIQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>r<sub>t-n,t</sub></em> is the cumulative return over the last <em>n </em>periods. How we define returns here matters. If we work with simple returns, then  <em>r<sub>t-n,t</sub></em>&#8203; must reflect compounding. Alternatively, we can write the signal as a sum of past price differences. If we use log returns, then is simply the sum of the last <em>n</em> one-period log returns: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;r_{t-n,t}=\\sum_{j=0}^{n-1}{r_{t-j}}&quot;,&quot;id&quot;:&quot;PANFBAROFV&quot;}" data-component-name="LatexBlockToDOM"></div><div><hr></div><h1>Price-SMA Crossover</h1><p>Another commonly used trend following indicator is the price-simple moving average crossover. This is based on comparing the current price with a moving average of past prices. Suppose we compare the current price with a simple moving average (<em>SMA</em>) of the past <em>n</em> prices. For simplicity, let&#8217;s assume we&#8217;re working with log prices <em>p<sub>t</sub>=</em>log(<em>P<sub>t</sub></em>):</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_t(n) = \\begin{cases} &amp;1, \\quad p_t-SMA_t(n)\\geq0 \\\\-&amp;1, \\quad  p_t-SMA_t(n)<0\\end{cases}&quot;,&quot;id&quot;:&quot;ZKOPBVHIGP&quot;}" data-component-name="LatexBlockToDOM"></div><p>The <em>SMA</em> is defined as: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SMA_t(n)=\\frac{1}{n}\\sum_{j=0}^{n-1}{p_{t-j}}&quot;,&quot;id&quot;:&quot;BWDJNJVSTX&quot;}" data-component-name="LatexBlockToDOM"></div><p>Then the price/SMA crossover signal can be written as (see the end of the post): </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-SMA_t^p(n)=\\sum_{i=0}^{n-2}\\frac{(n-1-i)}{n}\\,r_{t-i}.&quot;,&quot;id&quot;:&quot;WXRQNLHEHN&quot;}" data-component-name="LatexBlockToDOM"></div><p>Therefore, the price/SMA crossover signal is equivalent to a weighted average of the past <em>n-</em>1 returns, where the weights are linearly decreasing. </p><div><hr></div><h1>Price-EMA Crossover</h1><p> What about replacing the simple with an exponential moving average (EMA)? The signal then becomes </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_t(n) = \\begin{cases} &amp;1, \\quad p_t-EMA_t(n)\\geq0 \\\\-&amp;1, \\quad  p_t-EMA_t(n)<0\\end{cases}&quot;,&quot;id&quot;:&quot;BWVYPSZEWC&quot;}" data-component-name="LatexBlockToDOM"></div><p>where </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;EMA_t=(1-\\lambda)\\sum_{j=0}^{\\infty}\\lambda^j p_{t-j},\n\\qquad 0<\\lambda<1.&quot;,&quot;id&quot;:&quot;OSTVEPSXIT&quot;}" data-component-name="LatexBlockToDOM"></div><p>Following the same strategy used for the price-SMA signal, we can show that </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-EMA_t=\\sum_{i=0}^{\\infty}\\lambda^{i+1}r_{t-i}\n=\n\\lambda\\sum_{i=0}^{\\infty}\\lambda^i r_{t-i}.&quot;,&quot;id&quot;:&quot;IFWBTEFRPZ&quot;}" data-component-name="LatexBlockToDOM"></div><p>Noting that multiplication by <em>&#955;</em>&gt;0 doesn&#8217;t change the sign of the signal, the price-EMA crossover rule is equivalent to using the sign of an EMA of returns:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;I_t(n) = \\begin{cases} &amp;1, \\quad \\sum_{i=0}^{\\infty}\\lambda^i r_{t-i}\\geq0 \\\\-&amp;1, \\quad  \\sum_{i=0}^{\\infty}\\lambda^i r_{t-i}<0\\end{cases}&quot;,&quot;id&quot;:&quot;XDNHOOXNXJ&quot;}" data-component-name="LatexBlockToDOM"></div><div><hr></div><h1>Moving Averages in General</h1><p>Valeriy Zakamulin and Javier Giner have several papers that look at trend following in general, and alternative formulations of different rules in terms of returns:</p><ul><li><p>This <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2585056">paper</a> by Valeriy Zakamulin provides results for other kinds of signals based on different types of weighted averages. </p></li><li><p>In a subsequent <a href="https://www.tandfonline.com/doi/pdf/10.1080/14697688.2020.1716057">paper</a> with Javier Giner, the authors compare time series momentum and different moving average strategies.</p></li><li><p>In a more recent <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4217513">paper</a>, Zakamulin and Giner look at optimal trend strategies under a two-state regime switching model.</p></li></ul><p>I particularly like the chart below from the last paper, which shows the shape of the weights on past returns for different trend following rules: </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Y4Gu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 424w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 848w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_webp, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Y4Gu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png" width="686" height="846" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:846,&quot;width&quot;:686,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65674,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://systematicallybiased.substack.com/i/194497728?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_424, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 424w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_848, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 848w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_1272, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Y4Gu!, /__u/systematicallybiased.substack.com/w_1456, /__u/systematicallybiased.substack.com/c_limit, /__u/systematicallybiased.substack.com/f_auto, /__u/systematicallybiased.substack.com/q_auto:good, /__u/systematicallybiased.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05e23f30-0af3-48bc-9d6e-8d44df70a547_686x846.png 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 aria-hidden="true" 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><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 three cases I mentioned above (time series momentum, price-SMA crossover, and price-EMA crossover) are shown in the chart as MOM, SMA, and EMA. Zakamulin and Giner distinguish the following cases: </p><ul><li><p>Constant weights: using the time series momentum (MOM) is equivalent to using an equal average of past returns.</p></li><li><p>Declining weights: using price/SMA or price/EMA crossover is equivalent to overweighting the most recent returns. </p></li><li><p>Hump-shaped weights that underweight the most recent and most distant returns: this pattern describes different cases like SMA and EMA crossovers.</p></li><li><p>Shapes where the sign of the weights can alternate between positive and negative. This is the case for the moving average convergence/divergence (MACD) indicator. In the last case, the rule negatively weights distant returns, suggesting return reversal at long horizons. </p></li></ul><div><hr></div><h1>Trend Indicators and Return Dynamics</h1><p>This matters because those weighting schemes are not just technical details. They embed views about the dynamics of returns. Equal weights assume that all past returns inside the lookback window matter similarly. Declining weights put more emphasis on recent information. Hump-shaped weights imply that the most informative lags may be somewhere in the middle, while sign-changing weights, as in MACD, effectively combine short-run continuation with long-run reversal. So when we choose a trend rule, we are not just choosing an indicator. We are implicitly choosing a model of return persistence.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://systematicallybiased.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">This Substack is reader-supported. 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><h1>Appendix: Deriving the Price-SMA Crossover Rule</h1><p>The price-SMA crossover signal can be expressed as: </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{align*}\np_t-SMA_t^p(n)\n&amp;=\np_t-\\frac{1}{n}\\sum_{j=0}^{n-1} p_{t-j} \\\\\n&amp;=\n\\frac{1}{n}\\sum_{j=0}^{n-1}(p_t-p_{t-j})\\\\\n&amp;=\\frac{1}{n}\\sum_{j=1}^{n-1}(p_t-p_{t-j})\n\\end{align*}&quot;,&quot;id&quot;:&quot;TGUDRONZMH&quot;}" data-component-name="LatexBlockToDOM"></div><p>In the first passage, we use the fact that <em>p<sub>t</sub></em> can be written as a sum with <em>n</em> terms equal to (1/<em>n</em>)<em>p<sub>t</sub></em>,  which allows us to put <em>p<sub>t</sub></em> inside the sum. In the second passage, we used the fact that the term for <em>j=</em>0 is equal to 0. Next, we use the fact that </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-p_{t-j}=r_{t-j,t}=\\sum_{i=0}^{j-1} r_{t-i}&quot;,&quot;id&quot;:&quot;YEDQGELQTQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>Substituting this above gives</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-SMA_t^p(n)\n=\n\\frac{1}{n}\\sum_{j=1}^{n-1}\\sum_{i=0}^{j-1} r_{t-i}.&quot;,&quot;id&quot;:&quot;WUBDRJGNDD&quot;}" data-component-name="LatexBlockToDOM"></div><p>Expanding this sum, we can see that each return <em>r<sub>t-i</sub></em> appears for all <em>j</em>=<em>i</em>+1,&#8230;,<em>n-1</em>, that is, exactly <em>m</em>-1-<em>i</em> times. Therefore,</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-SMA_t^p(n)=\\sum_{i=0}^{n-2}\\frac{(n-1-i)}{n}\\,r_{t-i}.&quot;,&quot;id&quot;:&quot;RMJSQIHWXB&quot;}" data-component-name="LatexBlockToDOM"></div><p>The signal in the price/SMA crossover using <em>n </em>prices reduces to a weighted average of <em>n-1</em> returns. We could re-index the rule by the number of returns entering the signal. Let <em>k</em>=<em>n-1</em>, then the rule becomes</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_t-SMA_t^p(k+1)=\\sum_{i=0}^{k-1}\\left(\\frac{k-i}{k+1}\\right)r_{t-i},\\qquad k\\ge 1.&quot;,&quot;id&quot;:&quot;IITVZMDKWG&quot;}" data-component-name="LatexBlockToDOM"></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Here are some references with links: </p><ul><li><p>Moskowitz, T. J., Ooi, Y. H., &amp; Pedersen, L. H. (2012). <a href="https://doi.org/10.1016/j.jfineco.2011.11.003">Time series momentum</a>. <em>Journal of financial economics</em>, <em>104</em>(2), 228-250.</p></li><li><p>Hurst, B., Ooi, Y. H., &amp; Pedersen, L. H. (2013). <a href="https://www.aqr.com/-/media/AQR/Documents/Insights/Journal-Article/Demystifying-Managed-Futures.pdf">Demystifying managed futures</a>. <em>Journal of Investment Management</em>, <em>11</em>(3), 42-58.</p></li><li><p>Hurst, B., Ooi, Y. H., &amp; Pedersen, L. H. (2017). <a href="https://www.aqr.com/-/media/AQR/Documents/Insights/Journal-Article/AQR-JPM-Fall-2017.pdf">A Century of Evidence on Trend-Following Investing</a>. <em>The Journal of Portfolio Management</em>, 2017, vol. 44, no 1, p. 15-29.</p></li><li><p>Lim, B. Y., Wang, J. G., &amp; Yao, Y. (2018). <a href="https://doi.org/10.1016/j.jbankfin.2018.10.010">Time-series momentum in nearly 100 years of stock returns</a>. <em>Journal of Banking &amp; Finance</em>, <em>97</em>, 283-296.</p></li><li><p>Yang, K., Qian, E., &amp; Belton, B. (2019). <a href="https://www.panagora.com/insights/protecting-the-downside-of-trend-when-it-is-not-your-friend/">Protecting the downside of trend when it is not your friend</a>. <em>The Journal of Portfolio Management</em>, <em>45</em>(5), 99-111.</p></li><li><p>Harvey, C. R., Hoyle, E., Rattray, S., Sargaison, M., Taylor, D., &amp; Van Hemert, O. (2019). <a href="https://papers.ssrn.com/sol3/Delivery.cfm?abstractid=3383173">The best of strategies for the worst of times: Can portfolios be crisis proofed?</a>. <em>The Journal of Portfolio Management</em>, <em>45</em>(5), 7-28.</p></li><li><p>Rubesam, A. (2022). <a href="https://www.pm-research.com/content/iijpormgmt/48/4/241">The Long and the Short of Risk Parity</a>. <em>Journal of Portfolio Management</em>, <em>48</em>(4).</p></li></ul></div></div>]]></content:encoded></item></channel></rss>