<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-35364652</atom:id><lastBuildDate>Tue, 07 Apr 2026 10:35:07 +0000</lastBuildDate><category>Strategies</category><category>Automated trading platforms</category><category>factor model</category><category>Book reviews</category><title>Quantitative Trading</title><description>Quantitative investment and trading ideas, research, and analysis.</description><link>http://epchan.blogspot.com/</link><managingEditor>noreply@blogger.com (Ernie Chan)</managingEditor><generator>Blogger</generator><openSearch:totalResults>238</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8444957222640949783</guid><pubDate>Thu, 27 Nov 2025 11:35:00 +0000</pubDate><atom:updated>2025-11-27T06:35:10.126-05:00</atom:updated><title>Deep Latent Variable Models</title><description>In our previous blog post, we introduced latent variable models, where the latent variable can be thought of as a feature vector that has been “encoded” efficiently. This encoding turns the feature vector X into a context vector z. Latent variable models sound very GenAI-zy, but they descend from models that quant traders have long been familiar with. 

No doubt you have heard of PCA or SVD (see Chapter 3 of our book for a primer)? Principal components or singular vectors are ways to represent returns in terms of a small number of variables. These variables are latent, or hidden, because they are inferred from the observed returns themselves, and not observable like the Fama-French factors such as HML or SMB. The benefit of applying these latent factors to model returns is that we need fewer parameters - i.e. dimensional reduction. For example, the covariance matrix of 500 stocks’ returns have 125,250 parameters, whereas its 10-principal-component model has only 5,010 parameters. The methods to find these latent factors are diagonalization of the covariance matrix in the PCA case, or singular value decomposition of the &quot;design&quot; (data) matrix in the SVD case. 

Read &lt;a href=&quot;https://open.substack.com/pub/gatambook/p/deep-latent-variable-models?r=7j9m8&amp;amp;utm_campaign=post&amp;amp;utm_medium=web&amp;amp;showWelcomeOnShare=false&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;more...&lt;/a&gt;
</description><link>http://epchan.blogspot.com/2025/11/deep-latent-variable-models.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-1119569082272356633</guid><pubDate>Mon, 27 Oct 2025 11:34:00 +0000</pubDate><atom:updated>2025-10-27T07:34:37.173-04:00</atom:updated><title>Features Selection in the Age of Generative AI</title><description>By QTS Capital Management LLC
Prepared by Ernest Chan, Chairman, and Nahid Jetha, CEO

Features are inputs to machine learning algorithms. Sometimes also called independent variables,
covariates, or just X, they can be used for supervised or unsupervised learning, or for optimization. For
example, at &lt;a href=&quot;https://www.qtscm.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;QTS&lt;/a&gt;, we use more than 100 of them as inputs to dynamically calibrate the allocation
between our Tail Reaper strategy and E-mini SP 500 futures. In general, modelers have no idea
which features are useful a priori, or if they are redundant, for a particular application. Using all of the
features can result in overfitting and poor out-of-sample performance, or worse, numerical instability
and singularities during matrix inversion. Hence the need for a process called “feature selection”.

&lt;a href=&quot;https://open.substack.com/pub/gatambook/p/features-selection-in-the-age-of?r=7j9m8&amp;amp;utm_campaign=post&amp;amp;utm_medium=web&amp;amp;showWelcomeOnShare=false&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Read more...&lt;/a&gt;</description><link>http://epchan.blogspot.com/2025/10/features-selection-in-age-of-generative.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-1721605796100388612</guid><pubDate>Fri, 03 Oct 2025 10:38:00 +0000</pubDate><atom:updated>2025-10-03T06:38:38.073-04:00</atom:updated><title>Book and Workshop Introduction: Generative AI for Trading &amp; Asset Management</title><description>&lt;p&gt;By Hamlet Medina &amp;amp; Ernest Chan&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;***&lt;/p&gt;&lt;h4 class=&quot;text-center text-3xl font-bold md:text-2xl text-lime-400&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(229, 231, 235); border-style: solid; border-width: 0px; box-sizing: border-box; color: #a3e635; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1.5rem; line-height: 2rem; margin: 0px; text-align: center;&quot;&gt;A Weekend with Ernie Chan in London : Trading with GenAI&lt;/h4&gt;&lt;h4 class=&quot;text-center text-3xl font-bold md:text-2xl text-white&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(229, 231, 235); border-style: solid; border-width: 0px; box-sizing: border-box; color: white; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1.5rem; line-height: 2rem; margin: 0px; text-align: center;&quot;&gt;&lt;/h4&gt;&lt;h4 class=&quot;text-center text-3xl font-bold md:text-2xl text-gray-400&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(229, 231, 235); border-style: solid; border-width: 0px; box-sizing: border-box; color: #9ca3af; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1.5rem; line-height: 2rem; margin: 0px; text-align: center;&quot;&gt;Imperial College London, United Kingdom&lt;/h4&gt;&lt;h4 class=&quot;text-center text-3xl font-bold md:text-2xl text-gray-400&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(229, 231, 235); border-style: solid; border-width: 0px; box-sizing: border-box; color: #9ca3af; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 1.5rem; line-height: 2rem; margin: 0px; text-align: center;&quot;&gt;Nov 22, 2025, 9:00 AM - Nov 23, 2025, 5:00 PM&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Join Dr. Ernest P. Chan in London for a two day deep dive into cutting edge AI-driven trading strategies, in collaboration with Imperial College MathSoc!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;https://www.meetup.com/thalesians/events/311100776/?eventOrigin=group_upcoming_events&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Book Now&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;p&gt;***&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;The world of finance is no stranger to artificial intelligence. Most quantitative asset managers are already familiar with discriminative models, for example, given yesterday’s return, what is the probability that today’s return will be positive? Many are also familiar with reinforcement learning, used for tasks like optimizing order execution or figuring out how to set the best &lt;a href=&quot;https://gatambook.substack.com/p/deep-reinforcement-learning-for-portfolio&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;capital allocations within a portfolio&lt;/a&gt; to get a better Sharpe ratio.&lt;/p&gt;&lt;p&gt;But now there’s a new wave of AI, Generative AI, or GenAI for short, that’s making headlines and even filling up your social media feeds.&lt;/p&gt;&lt;p data-pm-slice=&quot;1 1 []&quot;&gt;In the news, GenAI is usually associated with large language models (LLMs) like ChatGPT, or with image generation tools like MidJourney, essentially, machines that can learn from text or images and generate text or images. But in reality, these models can learn from many different types of data. In particular, they can learn from time series of asset returns, which is perhaps the most relevant for asset managers.&lt;/p&gt;&lt;p&gt;In our book (&lt;a href=&quot;https://a.co/d/0yOqU7y&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Check out Generative AI for Trading and Asset Management 1st Edition on Amazon&lt;/a&gt;), we explore both the practical applications and the fundamental principles of GenAI, with a special focus on how these technologies apply to trading and asset management.&lt;/p&gt;&lt;h2&gt;A Book for Foundations and Practitioners&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;captioned-image-container&quot;&gt;&lt;figure&gt;&lt;a class=&quot;image-link image2 is-viewable-img&quot; data-component-name=&quot;Image2ToDOM&quot; href=&quot;https://substackcdn.com/image/fetch/$s_!_voI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;image2-inset&quot;&gt;&lt;picture&gt;&lt;source sizes=&quot;100vw&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!_voI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 424w, https://substackcdn.com/image/fetch/$s_!_voI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 848w, https://substackcdn.com/image/fetch/$s_!_voI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 1272w, https://substackcdn.com/image/fetch/$s_!_voI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 1456w&quot; type=&quot;image/webp&quot;&gt;&lt;/source&gt;&lt;img alt=&quot;&quot; class=&quot;sizing-normal&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:false,&amp;quot;imageSize&amp;quot;:&amp;quot;normal&amp;quot;,&amp;quot;height&amp;quot;:2062,&amp;quot;width&amp;quot;:1368,&amp;quot;resizeWidth&amp;quot;:728,&amp;quot;bytes&amp;quot;:135178,&amp;quot;alt&amp;quot;:null,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/heic&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://gatambook.substack.com/i/172413240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:&amp;quot;center&amp;quot;,&amp;quot;offset&amp;quot;:false}&quot; height=&quot;1097.3216374269007&quot; sizes=&quot;100vw&quot; src=&quot;https://substackcdn.com/image/fetch/$s_!_voI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!_voI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 424w, https://substackcdn.com/image/fetch/$s_!_voI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 848w, https://substackcdn.com/image/fetch/$s_!_voI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 1272w, https://substackcdn.com/image/fetch/$s_!_voI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d87d3d-0500-4b07-bede-b379ef07c312_1368x2062.heic 1456w&quot; width=&quot;728&quot; /&gt;&lt;/picture&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The book is divided into two broad parts:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Part 1&lt;/strong&gt;, written by Ernie, starts with no-code applications of GenAI for traders and asset managers with little or no coding experience. After that, it takes readers on a whirlwind tour of machine learning techniques commonly used in finance.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Part 2&lt;/strong&gt;, written by Hamlet, covers the fundamentals and technical details of GenAI, from modeling to efficient inference. This part is for those who want to understand the inner workings of these models and how to adapt them to their own custom data and applications. It’s for anyone who wants to go beyond the high-level use cases, get their hands dirty, and apply, and eventually improve these models in real-world practical applications.&lt;/p&gt;&lt;p&gt;Readers can start with whichever part they want to explore and learn from.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Part 1. No-Code GenAI for Traders and Asset Managers&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;In the first two chapters of Part 1, we show practical, hands-on examples of how GenAI can assist traders and asset managers with tasks they deal with all the time. Things like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Retrieving adjusted price data from public sources&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Computing basic performance metrics&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Converting trading strategy code from one language to another, for example, from Matlab to Python (we use examples from Ernie’s &lt;strong&gt;Machine Trading&lt;/strong&gt; book)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Generating Python code based on plain-language descriptions of a strategy&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Summarizing research papers and turning the key ideas into code&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What we will not show you is this:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;“ChatGPT, give me a strategy that will make me millions so I can deploy it right now and quit my day job.”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;At this stage, GenAI does not provide reliable fully automated alpha generation. Still, GenAI can assist with the strategy development process. We demonstrate examples where GenAI helped draft and understand:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;A long-short factor strategy&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;A VIX futures carry strategy&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;A SPX options calendar spread&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Literature searches on portfolio optimization using deep reinforcement learning&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All these tasks were done using familiar tools like &lt;strong&gt;ChatGPT GPT-4o&lt;/strong&gt; and &lt;strong&gt;Microsoft’s Copilot&lt;/strong&gt;. Please, keep in mind that these models are evolving quickly. We tested these examples in early 2024. If you are curious how newer versions of LLMs perform on the same tasks, Ernie did a follow-up in April 2025. You can check it out on our Substack: &lt;a href=&quot;https://gatambook.substack.com/p/have-llms-improved-over-the-last&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Have LLMs improved over the last year?&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This part of the book is designed to be accessible, so no need for advanced prompt engineering or advanced development workflows. But for those with more experience, we encourage experimenting with these same examples using &lt;strong&gt;Agentic workflows&lt;/strong&gt;, with tools like &lt;strong&gt;Cursor&lt;/strong&gt;, &lt;strong&gt;Codex&lt;/strong&gt;, &lt;strong&gt;Deep Research&lt;/strong&gt;, and others, where capabilities are evolving really fast.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;A Quick Tour of AI for Asset Managers&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Before diving deeper into Generative AI, we included a short but essential tour of machine learning techniques commonly used in finance, with topics like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Supervised learning.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Unsupervised learning,&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Reinforcement learning. For a recent post on reinforcement learning for portfolio optimization, check this: &lt;a href=&quot;https://gatambook.substack.com/p/deep-reinforcement-learning-for-portfolio&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Deep Reinforcement Learning for Portfolio Optimization&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt; Techniques to avoid overfitting and improve model selection&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Practical aspects of data engineering, which are often just as important as the model itself.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you are new to AI, this chapter provides the fundamentals. If you’re already familiar with machine learning, think of it as a refresher. It will help you to set the stage for understanding where GenAI fits into the bigger picture.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Part 2. Technical Foundations, Advanced Models, Real-World Deployment&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Part 2 of the book dives into the fundamentals and technical details of GenAI, covering topics like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;How to generate time series synthetic data, along with different methods to evaluate the quality of the generated data&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Forecasting applications&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Alternative data processing&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Sentiment analysis with LLMs&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Techniques for efficient inference, including Parameter Efficient Fine-Tuning (PEFT), Knowledge distillation and Quantization.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We also cover several other important topics, including the famous &lt;strong&gt;scaling laws&lt;/strong&gt; used to improve the performance of these models, the &lt;strong&gt;emerging abilities of LLMs&lt;/strong&gt;, and how to scale these models for production environments, among many others.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Foundations and Generative Model Families&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;We start with Chapter 4, which provides an introduction to GenAI and highlights the key differences between &lt;strong&gt;discriminative&lt;/strong&gt; and &lt;strong&gt;generative &lt;/strong&gt;models.&lt;/p&gt;&lt;p&gt;Chapter 4 also touches on an important topic that rarely gets enough attention, how combining the power of discriminative and generative models can help better handle uncertainty in predictions, a topic especially relevant in finance. To get just a feeling about this, feel free to check out our video presentation here: &lt;a href=&quot;https://www.youtube.com/watch?v=H_C9P-nAuKc&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;GenAI &amp;amp; Automated Trading Summit | Algorithmic Trading on MT5 &amp;amp; TradingView&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Another key point we explore is that generative models are not just about generating text or images. They are also powerful tools for &lt;strong&gt;representation learning&lt;/strong&gt;, which is key for techniques like &lt;strong&gt;Retrieval Augmented Generation (RAG)&lt;/strong&gt;. If you’ve been following recent AI developments, you know RAG is everywhere, helping enrich the context of your input query making LLMs produce answers that are better grounded in external data. &lt;/p&gt;&lt;p&gt;Each of the major generative model families gets its own dedicated chapter:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deep autoregressive models&lt;/strong&gt;, with the famous &lt;strong&gt;Transformer&lt;/strong&gt; as the main example&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Variational Autoencoders (VAEs)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flow models&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Generative Adversarial Networks&lt;/strong&gt; &lt;strong&gt;(GANs)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We explain how these models were originally developed and, more importantly, how to adapt them to the unique dynamics of financial time series, with practical, hands-on notebook examples using real financial data. For those who want more examples of how to use transformers in finance, they can visit our blog posts: &lt;a href=&quot;https://gatambook.substack.com/p/a-poor-persons-transformer&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;A Poor Person&#39;s Transformer&lt;/a&gt;, &lt;a href=&quot;https://gatambook.substack.com/p/applying-transformers-to-financial&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Applying Transformers to Financial Time Series&lt;/a&gt;, and &lt;a href=&quot;https://gatambook.substack.com/p/cross-attention-for-cross-asset-applications&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Cross-Attention for Cross-Asset Applications&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Practical Applications, Efficient Inference, and Beyond&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;The final chapters focus on building end-to-end applications. For example, we demonstrate how to create a system that takes speech data as input and outputs trading signals. This system leverages powerful models, such as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transformers for sequence-to-sequence tasks&lt;/strong&gt;, converting audio signals to text&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;LLMs for sentiment analysis&lt;/strong&gt;, assigning sentiment scores to financial news or speeches&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We apply these techniques to analyze the sentiment of &lt;strong&gt;Federal Reserve (Fed) press conference speeches&lt;/strong&gt;, generating trading signals based on that sentiment. Below you can see the general pipeline of this system:&lt;/p&gt;&lt;div class=&quot;captioned-image-container&quot;&gt;&lt;figure&gt;&lt;a class=&quot;image-link image2&quot; data-component-name=&quot;Image2ToDOM&quot; href=&quot;https://substackcdn.com/image/fetch/$s_!pU62!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;image2-inset&quot;&gt;&lt;picture style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;source sizes=&quot;100vw&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!pU62!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 424w, https://substackcdn.com/image/fetch/$s_!pU62!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 848w, https://substackcdn.com/image/fetch/$s_!pU62!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 1272w, https://substackcdn.com/image/fetch/$s_!pU62!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 1456w&quot; type=&quot;image/webp&quot;&gt;&lt;/source&gt;&lt;img alt=&quot;&quot; class=&quot;sizing-normal&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:256,&amp;quot;width&amp;quot;:1456,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:30889,&amp;quot;alt&amp;quot;:null,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/heic&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://gatambook.substack.com/i/172413240?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null,&amp;quot;offset&amp;quot;:false}&quot; height=&quot;112&quot; sizes=&quot;100vw&quot; src=&quot;https://substackcdn.com/image/fetch/$s_!pU62!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!pU62!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 424w, https://substackcdn.com/image/fetch/$s_!pU62!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 848w, https://substackcdn.com/image/fetch/$s_!pU62!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 1272w, https://substackcdn.com/image/fetch/$s_!pU62!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ec331a-12ee-4f8a-be47-3fb8fa1335ef_1925x339.heic 1456w&quot; width=&quot;640&quot; /&gt;&lt;/picture&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In this chapter, you will see how to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Preprocess alternative data&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Generate trading signals&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Use LLMs for sentiment analysis in trading&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you want a preview of this before diving into the book, check out our video presentation: &lt;a href=&quot;https://www.youtube.com/watch?v=7EXNr5GlxTs&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Trading Using LLM | Generative AI &amp;amp; Sentiment Analysis for Finance | Webinar&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;We conclude Part 2 with the &lt;strong&gt;efficient inference&lt;/strong&gt; topic. When it comes to real-world settings, you quickly run into practical constraints like &lt;strong&gt;cost &lt;/strong&gt;and &lt;strong&gt;scalability&lt;/strong&gt; for deploying these models, especially if you want to apply them for high-frequency trading. We show techniques and optimizations to help you improve the inference speed of these models.&lt;/p&gt;&lt;h2&gt;&lt;strong&gt;Tools, Reproducibility, and Practical Focus&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;The book comes with code snippets, color-highlighted for easy reading, so you can see how to move from theory to working code. We’ve also included a full code repository of examples for each chapter, focusing as much as possible on reproducibility. Most of the examples have been carefully chosen not just for practicality, but also based on how well they convey key ideas, and their influence in the field (often measured by the number of citations). So, you might find code examples ranging from synthetic data generation, to forecasting with transformer models, or even building your own custom Finance LLM to answer finance-related questions by fine-tuning LLaMA 3.1 8B using QLoRA, among others.&lt;/p&gt;&lt;p&gt;We’ve tried to use tools and frameworks that are common in both industry and some well-known AI labs. That way, for example, if you want to experiment with building your own &lt;strong&gt;foundational models for time series&lt;/strong&gt;, you can start from a familiar framework that allows you to easily benchmark your work with common datasets and metrics used in research papers in the field, and, just as importantly, test your ideas directly on financial data.&lt;br /&gt;&lt;br /&gt;To the best of our knowledge, this was the first book, at the time of writing, to cover such a broad range of topics in the field of finance. We conclude the book by summarizing the main techniques discussed and emphasizing the critical role of domain expertise in designing meaningful trading strategies, particularly when using LLMs as copilots. We also discuss why GenAI, despite its success in other domains, may still require more empirical work to achieve similar results in finance. Finally, we highlight some promising research directions where GenAI could significantly impact the future of finance.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;To follow our updates, here’s where we are:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Book Substack&lt;/strong&gt;: gatambook.substack.com&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ernie’s X (Twitter) and Substack&lt;/strong&gt;: x.com/echanQT, substack.com/@erniechan&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hamlet’s X (Twitter) and Substack&lt;/strong&gt;: x.com/hamletjmedina, substack.com/@hamletmedina&lt;/p&gt;</description><link>http://epchan.blogspot.com/2025/10/book-and-workshop-introduction.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-4781165970045283163</guid><pubDate>Wed, 18 Jun 2025 19:08:00 +0000</pubDate><atom:updated>2025-06-18T15:08:16.341-04:00</atom:updated><title>Deep Reinforcement Learning for Portfolio Optimization</title><description>&lt;p&gt;&lt;span style=&quot;font-family: inherit; font-size: medium;&quot;&gt;Is it really better than Predictnow.ai&#39;s Conditional Portfolio Optimization scheme?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;We wrote a lot about transformers in the last three&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://gatambook.substack.com/p/cross-attention-for-cross-asset-applications&quot; rel=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;blog posts&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;. Their sole purpose was for feature transformation / importance weighting. These transformed and attention-weighted features will be used as input to downstream applications. In this blog post, we will discuss one such application: portfolio optimization via deep reinforcement learning.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;Read more &lt;a href=&quot;https://gatambook.substack.com/p/deep-reinforcement-learning-for-portfolio&quot;&gt;here...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2025/06/deep-reinforcement-learning-for.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-6884814335673077013</guid><pubDate>Fri, 06 Jun 2025 09:37:00 +0000</pubDate><atom:updated>2025-06-06T05:37:46.926-04:00</atom:updated><title>Cross-Attention for Cross-Asset Applications: How to mash up features from multiple assets</title><description>&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;In the previous&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://gatambook.substack.com/p/applying-transformers-to-financial&quot; rel=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;blog post&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;, we saw how we can apply self-attention transformers to a matrix of time series features of a&amp;nbsp;&lt;/span&gt;&lt;em style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;single&amp;nbsp;&lt;/em&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;stock. The output of that transformer is a transformed feature vector r of dimension 768 × 1. 768 is the result of 12 × 64: all the lagged features are concatenated / flattened into one vector. 12 is the number of lagged months, and 64 is the dimension of the embedding space for the 52 features we constructed.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;What if we have a portfolio of&amp;nbsp;&lt;/span&gt;&lt;em style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;many&amp;nbsp;&lt;/em&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;stocks whose returns we want to predict, or whose allocations we want to optimize? That’s where cross-attention transformers come in. The purpose of cross-attention is that a feature in an asset i may be relevant as a context to a feature of an asset j.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;... &lt;a href=&quot;https://gatambook.substack.com/p/cross-attention-for-cross-asset-applications&quot;&gt;Read more ...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2025/06/cross-attention-for-cross-asset.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-4275197122738315116</guid><pubDate>Fri, 23 May 2025 12:28:00 +0000</pubDate><atom:updated>2025-05-23T08:28:04.445-04:00</atom:updated><title>Applying Transformers to Financial Time Series</title><description>&lt;p&gt;In the previous &lt;a href=&quot;https://epchan.blogspot.com/2025/05/a-poor-persons-transformer-transformer.html&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt;,  we gave a very simple example of how traders can use self-attention transformers as a feature selection method:  in this case, to select which previous returns of a stock to use for predictions or optimizations. To be precise, the transformer assigns weights on the different transformed features for downstream applications. In this post, we will discuss how traders can incorporate different feature series from this stock while adding a sense of time. The technique we discuss is based partly on Prof. Will Cong’s &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3554486&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;AlphaPortfolio paper&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Recall that in the simple example in a Poor Person’s Transformer, the input X is just a n-vector with previous returns X=[R(t), R(t-1), …, R(t-n+1)]&lt;sup&gt;T&lt;/sup&gt;. Some of you fundamental analysts will complain “What about the fundamentals of a stock? Shouldn’t they be part of the input?” Sure they should! Let’s say, following AlphaPortfolio, we add B/M, EPS, …, all 51 fundamental variables of a company as input features. Furthermore, just as for the returns, we want to know the n previous snapshots of these variables. So we expand X from 1 to 52 columns (including the returns column). For concreteness, let’s say we use n=12 snapshots, captured at monthly intervals, and regard R(t) as the monthly return from t-1 to t. X is now a 12 × 52 matrix.&lt;/p&gt;&lt;p&gt;&lt;span face=&quot;&amp;quot;Aptos&amp;quot;,sans-serif&quot; style=&quot;font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Aptos; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;... read more at&amp;nbsp;my new &lt;a href=&quot;https://gatambook.substack.com/p/applying-transformers-to-financial&quot; rel=&quot;nofollow&quot;&gt;blog &lt;/a&gt;on substack (free!)&lt;/div&gt;</description><link>http://epchan.blogspot.com/2025/05/applying-transformers-to-financial-time.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8001653224662606028</guid><pubDate>Fri, 16 May 2025 09:39:00 +0000</pubDate><atom:updated>2025-05-16T05:39:04.333-04:00</atom:updated><title>A Poor Person&#39;s Transformer: Transformer as a sample-specific feature selection method</title><description>&lt;p&gt;&amp;nbsp;For those of us who grew up before GenAI became a thing (e.g. Ernie), we often use tree-based algorithms for supervised learning. Trees work very well with heterogeneous and tabular feature sets, and by limiting the number of nodes or the depth of a branch, there is feature selection by default. With neural networks (NN), before deep learning comes around, it is quite common to perform feature selection using L1 regularization - i.e. adding a L1 penalty term to the objective function in order to encourage some of the network parameters to become zero. However, L1 regularizations are quite tedious when we have millions or billions of parameters in a deep neural network. In its place, transformers and attention become the go-to technique for feature selection in a deep neural network (see Chapter 5 of our &lt;a href=&quot;https://amzn.to/4jrX2kj&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;book&lt;/a&gt;.) But beyond making feature selection practical for DNN, the attention mechanism provides one important benefit that is absent from traditional regularization or feature selection methods (such as MDA, SHAP, or LIME, see Chan &amp;amp; Man https://arxiv.org/abs/2005.12483): &lt;em&gt;the selected features depend on each sample&lt;/em&gt;. They aren’t selected globally like traditional feature selection methods do. In other words, the features are selected based on their values themselves. In the language of transformers, we use &lt;em&gt;self-attention&lt;/em&gt; for feature selection.&lt;/p&gt;&lt;p&gt;Transformers are usually illustrated with textual input. For e.g., a sentence containing 4 features (words/tokens) “I”, “am”, “a”, “student”. Let’s call this input feature vector X. In DNN, each feature may be a vector (e.g. we may use a d-dimensional vector to represent a word/token), as opposed to a scalar. So X may actually have dimension n × d, where n is the number of features (&lt;em&gt;not &lt;/em&gt;the number of samples!) and d is the dimension of each feature. A financial application where this can be useful is when one feature (row) vector captures the daily return of a stock, its P/E, dividend yield, …, up d types of features, at a snapshot in time t.  Another feature vector captures the same information at time t-1, and so on, up to a lookback of n. So if you have n lookback periods, the feature matrix has dimension n × d. But in many financial applications, each feature is just a real-valued scalar such as the daily return of a single stock. So  X=[r(t), r(t-1), …, r(t-n+1)]&lt;sup&gt;T&lt;/sup&gt;. &lt;strong&gt;This is the simple example we will use in our Poor Person’s version of transformer: d=1, and X is just a column vector with dimension n × 1.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Now, in ordinary transformers, the next step is to &lt;em&gt;transform &lt;/em&gt;X into 3 different vectors / matrices: Q (query, with width d&lt;sub&gt;q&lt;/sub&gt;), K (key, with height d&lt;sub&gt;k&lt;/sub&gt;), and V (value, with height d&lt;sub&gt;v&lt;/sub&gt;). An element in Q is like “what this feature is looking for in other features that can provide as context”, an element in K is like “this is the context that this feature can provide, and element in V is like “this is a feature in a new representation”.&lt;/p&gt;&lt;p&gt;In a typical transformer with self-attention, for each input vector X, the Q, K and V values are calculated as linear transformation of X:&lt;/p&gt;&lt;div class=&quot;latex-rendered&quot; data-attrs=&quot;{&amp;quot;persistentExpression&amp;quot;:&amp;quot;Q=X\\bullet\\ W\\ ^Q , K=X\\bullet\\ W\\ ^K,  V=X\\bullet\\ W\\ ^V.&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MGWHEJMRXU&amp;quot;}&quot; data-component-name=&quot;LatexBlockToDOM&quot;&gt;&lt;/div&gt;&lt;p&gt;The W&lt;sup&gt;Q&lt;/sup&gt;, W&lt;sup&gt;K&lt;/sup&gt;, W&lt;sup&gt;V&lt;/sup&gt; matrices themselves are learned parameters, learned based on the ultimate objective of this NN (e.g. classification, regression, or optimization), but the resulting&lt;strong&gt; attention score is computed as the function of the input sample X&lt;/strong&gt;. The W’s all have heights n, but widths d&lt;sub&gt;q, &lt;/sub&gt;d&lt;sub&gt;k&lt;/sub&gt;, and d&lt;sub&gt;v &lt;/sub&gt;respectively, though d&lt;sub&gt;q, &lt;/sub&gt;d&lt;sub&gt;k &lt;/sub&gt;are often set to be the same dimension. The intuition behind these Q, K, V is we want some linear mixtures of the original feature matrix X that best represent it, reminiscent of the familiar PCA. In the example of the n × d financial feature matrix we described above, we want to linearly project the return and fundamentals of a stock to some “principal component” vector, while preserving the distinctness of each lagged snapshot of these features since the projection is row-wise. I.e. Q, K, V have same height as X and so each row still represents a specific snapshot in time, as seen in the figure below which illustrates the building blocks of a transformer with self-attention.&lt;/p&gt;&lt;div class=&quot;captioned-image-container&quot;&gt;&lt;figure&gt;&lt;a class=&quot;image-link image2 is-viewable-img&quot; data-component-name=&quot;Image2ToDOM&quot; href=&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;image2-inset&quot;&gt;&lt;picture&gt;&lt;source sizes=&quot;100vw&quot; srcset=&quot;https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 1456w&quot; type=&quot;image/webp&quot;&gt;&lt;/source&gt;&lt;img class=&quot;sizing-normal&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/e59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:728,&amp;quot;width&amp;quot;:998,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:74389,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/png&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://gatambook.substack.com/i/162349568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null}&quot; height=&quot;466&quot; sizes=&quot;100vw&quot; src=&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png&quot; srcset=&quot;https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe59345af-3c77-47ad-9d30-0bd0943385ea_998x728.png 1456w&quot; width=&quot;640&quot; /&gt;&lt;/picture&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class=&quot;image-caption&quot;&gt;Source: https://sebastianraschka.com/blog/2023/self-attention-from-scratch.html&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The figure below shows specifically a transformer with n=4, d=4, and d&lt;sub&gt;q&lt;/sub&gt;=d&lt;sub&gt;k&lt;/sub&gt;=d&lt;sub&gt;v&lt;/sub&gt;=2. It shows also how the Q and K matrices are multiplied together, scaled by sqrt(d&lt;sub&gt;k&lt;/sub&gt;) to prevent the magnitude from exploding, and fed through a softmax function to turn them into attention scores in [0, 1],  in a process called “Scaled Dot-Product Attention” (for more details, see again Chapter 5 of &lt;a href=&quot;https://amzn.to/4lU6jmX&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;our book&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Why sqrt(d&lt;sub&gt;k&lt;/sub&gt;)? We will quote &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3554486&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Cong et. al.&lt;/a&gt;  “Assume that the components of q and k are independent random variables with mean 0 and variance 1. Then their dot product, &lt;/p&gt;&lt;div class=&quot;latex-rendered&quot; data-attrs=&quot;{&amp;quot;persistentExpression&amp;quot;:&amp;quot;q\\bullet k=\\sum_{i=1}^{d_k}{q_ik_i}&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QYGBGVIRQA&amp;quot;}&quot; data-component-name=&quot;LatexBlockToDOM&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;has mean 0 and variance d&lt;sub&gt;k&lt;/sub&gt;. Why softmax? Softmax function normalizes the scaled dot-product into a matrix where each row is the normalized weights (i.e. they sum to 1) which are the attention weights applicable to the feature value matrix V. To wit,&lt;/p&gt;&lt;div class=&quot;latex-rendered&quot; data-attrs=&quot;{&amp;quot;persistentExpression&amp;quot;:&amp;quot;softmax(z)_i=\\frac{e^{z_i}}{\\sum_{i}^{n}e^{z_i}}&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JXRAZXEQPR&amp;quot;}&quot; data-component-name=&quot;LatexBlockToDOM&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;captioned-image-container&quot;&gt;&lt;figure&gt;&lt;a class=&quot;image-link image2 is-viewable-img&quot; data-component-name=&quot;Image2ToDOM&quot; href=&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;image2-inset&quot;&gt;&lt;picture&gt;&lt;source sizes=&quot;100vw&quot; srcset=&quot;https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 1456w&quot; type=&quot;image/webp&quot;&gt;&lt;/source&gt;&lt;img class=&quot;sizing-normal&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/f3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:300,&amp;quot;width&amp;quot;:853,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:52841,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/png&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://gatambook.substack.com/i/162349568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null}&quot; height=&quot;225&quot; sizes=&quot;100vw&quot; src=&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png&quot; srcset=&quot;https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8182b-3c87-42e2-938c-89ba0362c296_853x300.png 1456w&quot; width=&quot;640&quot; /&gt;&lt;/picture&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;figcaption class=&quot;image-caption&quot;&gt;Source: https://sebastianraschka.com/blog/2023/self-attention-from-scratch.html. Here n=4, d=2.&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;But, in our Poor Person’s transformer, W is just a scalar, and Q, K, and V are all just 1-dimensional vectors. So we might as well &lt;strong&gt;eliminate this step and replace them all by the vector X&lt;/strong&gt;. Note that this doesn’t collapse the matrix QK&lt;sup&gt;T &lt;/sup&gt;into a scalar or vector. It is still a n × n matrix formed by XX&lt;sup&gt;T&lt;/sup&gt;. Each feature i is still multiplying feature j to form the attention matrix element A(i, j). The elements of each row of A sums to 1 as in all attention matrices. If you ask “What is the feature importance score of feature j”, you can sum over all the values of column j, since column j represents the &lt;em&gt;key &lt;/em&gt;feature j.&lt;/p&gt;&lt;p&gt;So if feature importance scores or feature selection are all you are after, we are done. But usually we are interested in downstream applications. In our 1 stock n-returns example, we might be interested in using these n daily returns, with proper feature weights, to predict the next day’s return. In this case, all we need to do it to multiply the attention matrix with V, which in our case is equal to X, to create the “context vector” Z=AV=AX. The context vector is an attention-weighted version of our original feature vector X. Downstream, we can use Z as input to a MLP for supervised learning, such as predicting the next day’s return, or for optimization via reinforcement learning.&lt;/p&gt;&lt;p&gt;Does this work? You can ask ChatGPT or some other favorite chatbot to create a program based on this blog post and try it out. Let us know how the results look in the comments!&lt;/p&gt;&lt;h5&gt;P.S.&lt;/h5&gt;&lt;p&gt;You may get excited by this feature selection method and think we should throw in a bunch of “heterogeneous” features such as volatility, P/E, earning yield, … of the stock to see if they work better. Unfortunately, the Poor Person’s self-attention method discussed above doesn’t work very well with features that cannot embedded in the same space. For example, it is nonsensical to add together A(i, j)=volatility * P/E and A(i+1, j)=dividend * P/E to form the feature importance score of P/E. To do that, we need to do some normalization and embedding. Also, maybe we want to tell the transformer that r(t), r(t-1), … is a time series and the features are time-ordered. All topics for the next blog post!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2025/05/a-poor-persons-transformer-transformer.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8296658925318734412</guid><pubDate>Sat, 10 May 2025 10:29:00 +0000</pubDate><atom:updated>2025-05-10T06:29:54.510-04:00</atom:updated><title>Have LLMs improved over the last year? Comparing their responses to our books&#39; prompts a year later.</title><description>&lt;p&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;The answer to this question may seem obvious if you read the breathless proclamations of AI luminaries, but good quantitative investors should be hype-immune. We want to carefully compare the ChatGPT’s unsatisfactory responses to a couple of the prompts outlined in our&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://amzn.to/42UMC5P&quot; rel=&quot;nofollow ugc noopener&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;book&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&amp;nbsp;(which are mostly generated in early 2024) to their responses now (April 2025). In addition, if ChatGPT’s response is still not satisfactory, we want to compare the responses of several popular LLMs, some of which weren’t even available in early 2024 or weren’t launched in production mode yet. Of course, to test all the LLMs (e.g. ChatGPT, Copilot, DeepSeek, Gemini, Grok, Perplexity, …) is very time consuming, so we also use&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://lmarena.ai/&quot; rel=&quot;nofollow ugc noopener&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;Chatbot Arena&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&amp;nbsp;to randomly pick 2 for each prompt (see https://www.bloomberg.com/news/articles/2025-02-18/before-deepseek-blew-up-one-website-announced-its-arrival).&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;Let’s try the first and very simple task: plotting annualized returns of an ETF. Shockingly, ChatGPT failed at this task previously, as you could read from our book. It committed the egregious error of annualizing returns by multiplying by sqrt(252).&lt;/p&gt;&lt;pre style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 240, 240); border-radius: 8px; box-sizing: border-box; color: #363737; font-size: 19px; margin-bottom: 32px; margin-top: 32px; padding: 16px; position: relative;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-size: 16px; line-height: 20px; text-wrap-mode: wrap;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;User Prompt&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;

Write a Python program to download the adjusted closing prices of the ETF BILL, and plot its annualized daily returns chart. We only need YYYY as x-axis label.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;Unfortunately, many LLMs (such as ChatGPT, Perplexity, gemma-3-4b-it by Google, command-a-03-2025 by Cohere) misinterpreted the question and produced some complicated calculations for the rolling 252-day compound returns. The only chatbot that correctly and simply multiplied the daily returns by 252 and displayed that is Microsoft’s Copilot. Bravo Mr. Nadella!&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Now let’s proceed to another task that ChatGPT failed miserably before: summarizing a trading strategy based on&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.efmaefm.org/0efmameetings/efma%20annual%20meetings/2013-Reading/papers/VIX%20paper_EFMA.pdf&quot; rel=&quot;nofollow ugc noopener&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737;&quot;&gt;Simon and Campasano (2014)&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 240, 240); border-radius: 8px; box-sizing: border-box; color: #363737; font-size: 19px; margin-bottom: 32px; margin-top: 32px; padding: 16px; position: relative;&quot;&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-size: 16px; line-height: 20px; text-wrap-mode: wrap;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;User Prompt&lt;/strong&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 20px;&quot;&gt;

Pretend you are a quantitative finance expert. Please summarize the trading strategies described in this paper. [Author Note: We attach the pdf.]&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;ChatGPT Response&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Absolutely—here’s a summary of the trading strategies described in the paper&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&quot;The VIX Futures Basis: Evidence and Trading Strategies&quot;&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;by David P. Simon and Jim Campasano:&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;🧠 Core Insight:&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§core-insight&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/core-insight&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;The&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;VIX futures basis&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;—the difference between VIX futures prices and the VIX spot index—does&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;not predict changes in the VIX spot index&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;, but&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;does predict changes in VIX futures prices&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;. This creates trading opportunities due to the convergence of futures prices to spot at expiry.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;📊 Main Strategy:&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§main-strategy&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/main-strategy&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h3 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.375em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Exploit the &quot;Roll&quot; in the VIX Futures Curve&lt;/strong&gt;&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 30.3125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§exploit-the-roll-in-the-vix-futures-curve&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/exploit-the-roll-in-the-vix-futures-curve&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h3&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Short VIX futures&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;when the curve is in&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;contango&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;(futures &amp;gt; spot) beyond a threshold.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Buy VIX futures&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;when the curve is in&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;backwardation&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;(futures &amp;lt; spot) beyond a threshold.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-left: 4px solid rgb(255, 103, 25); color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin: 20px 0px; padding: 0px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0px 0px 20px 20px;&quot;&gt;These trades take advantage of the fact that VIX futures converge toward the spot VIX price as they approach settlement.&lt;/p&gt;&lt;/blockquote&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;🔧 Implementation Details:&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§implementation-details&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/implementation-details&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Daily Roll Signal&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;: The basis is divided by the number of business days to settlement.&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Enter short&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;if daily roll &amp;gt; $100&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Enter long&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;if daily roll &amp;lt; –$100&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Exit criteria&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;Daily roll falls below $50 (short) or rises above –$50 (long), or&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;Maximum holding period of 9 business days&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;⚖️ Hedging Equity Risk:&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§hedging-equity-risk&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/hedging-equity-risk&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Because VIX futures prices move&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;inversely to equity markets&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;, trades are&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;hedged using mini-S&amp;amp;P 500 futures&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Short VIX = Short S&amp;amp;P hedge&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Long VIX = Long S&amp;amp;P hedge&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Hedge ratios are computed using&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;regressions&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;of VIX futures price changes on S&amp;amp;P futures returns, updated daily out-of-sample.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;💵 Profitability Summary (2007–2011):&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§profitability-summary&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/profitability-summary&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;Strategy Mean P&amp;amp;L Sortino Ratio Notes Short VIX (hedged) $792 1.26 62 trades, 2:1 win/loss Long VIX (hedged) $1,018 1.03 40 trades Unhedged versions Slightly higher P&amp;amp;L, but significantly higher downside risk&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin-top: 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Transaction costs&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;included full bid-ask spread + brokerage fees.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 8px 0px 0px 32px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 1.6em; margin: 0px; padding-left: 4px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Strategies showed&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;robust performance even out-of-sample&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;and across sub-periods (pre/post-2009).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;h2 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.625em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;🧾 Key Takeaway:&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§key-takeaway&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/key-takeaway&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;blockquote style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-left: 4px solid rgb(255, 103, 25); color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; margin: 20px 0px; padding: 0px;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0px 0px 20px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;The profitability is mainly driven by the&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;roll yield&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;&amp;nbsp;(the premium or discount in futures relative to spot), and much of the risk can be&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;hedged using equity index futures&lt;/strong&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;, enabling statistically significant and economically meaningful returns.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;Let me know if you’d like this turned into a code simulation, visual walkthrough, or executive-style slide!&lt;/p&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px;&quot;&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(230, 230, 230); border: 0px; height: 1px; margin: 32px 0px; padding: 0px;&quot; /&gt;&lt;/div&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;This is a much better response than the one recorded in our book. We truly can’t ask for a better answer. Let’s take ChatGPT up on its offer and turn it into code. The results can found here: https://chatgpt.com/canvas/shared/680a8810a5808191aaa35e4b31d0a813. Looks great, doesn’t it? What we don’t know, however, is whether ChatGPT has used our previous prompt as part of its training data for this version, so this isn’t a completely fair benchmark.&lt;/p&gt;&lt;h3 class=&quot;header-anchor-post&quot; style=&quot;--highlight-bg: rgba(255, 103, 25, 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: #363737; font-family: &amp;quot;SF Pro Display&amp;quot;, -apple-system-headline, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 1.375em; line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;&quot;&gt;TL;DR&lt;div class=&quot;pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 30.3125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 44px;&quot;&gt;&lt;div class=&quot;pencraft pc-display-contents pc-reset pubTheme-yiXxQA&quot; style=&quot;--border-default: 1px solid #e6e6e6; --border-focus: 1px solid #FF6719; --border-primary: 1px solid rgb(54,55,55); --color-accent-fg-orange: var(--color_theme_bg_pop,var(--color-accent-fg-orange)); --color-accent-inverse: #ffffff; --color-accent-primary: #FF6719; --color-bg-accent-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary-hover: rgba(255, 103, 25,.3); --color-bg-accent-primary: rgba(255, 103, 25,.15); --color-bg-accent-rgb: 255, 103, 25; --color-bg-accent: rgba(255, 103, 25,.15); --color-bg-elevated-hover: rgb(250,250,250); --color-bg-elevated-primary: rgb(255,255,255); --color-bg-elevated-secondary: #eee; --color-bg-elevated: rgb(255,255,255); --color-bg-primary-hover: rgb(250,250,250); --color-bg-primary: rgb(255,255,255); --color-bg-secondary: #eee; --color-bg-tertiary: #dbdbdb; --color-button-disabled-bg: #eee; --color-button-disabled-fg: rgb(182,182,182); --color-button-primary-bg-hover: #ff5600; --color-button-primary-bg: #FF6719; --color-button-primary-fg-hover: #ffffff; --color-button-primary-fg: #ffffff; --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: rgb(54,55,55); --color-button-quaternary-fg: rgb(119,119,119); --color-button-secondary-accent-bg-hover: rgba(255, 103, 25,.3); --color-button-secondary-accent-bg: rgba(255, 103, 25,.15); --color-button-secondary-accent-fg-hover: #FF6719; --color-button-secondary-accent-fg: #FF6719; --color-button-secondary-bg-hover: #dbdbdb; --color-button-secondary-bg: #eee; --color-button-secondary-fg-hover: rgb(54,55,55); --color-button-secondary-fg: rgb(54,55,55); --color-button-tertiary-bg-hover: #eee; --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: rgb(54,55,55); --color-button-tertiary-fg: rgb(54,55,55); --color-fg-primary: rgb(54,55,55); --color-fg-secondary: rgb(119,119,119); --color-fg-tertiary: rgb(182,182,182); --color-highlight-bg: rgba(255, 103, 25,.15); --color-highlight-fg: #FF6719; --color-highlight-self-bg: rgba(255, 103, 25,.15); --color-highlight-self-fg: #FF6719; --color-utility-detail: rgb(0,0,0,.1); --error-input-ring: 0 0 0 2px rgb(235,87,87,.2); --error-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px rgb(197,62,65),0 0 0 5px rgb(235,87,87,.2); --focus-input-ring: 0 0 0 2px rgba(255, 103, 25,.15); --focus-ring: 0 0 0 2px rgb(255,255,255),0 0 0 3px #FF6719,0 0 0 5px rgba(255, 103, 25,.15); --inner-border-default: inset 0 0 0 1px #e6e6e6; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;&quot;&gt;&lt;div class=&quot;pencraft pc-reset header-anchor offset-top&quot; id=&quot;§tldr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: -92px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Link&quot; class=&quot;pencraft pc-reset pencraft iconButton-mq_Et5 iconButtonBase-dJGHgN buttonBase-GK1x3M buttonStyle-r7yGCK size_sm-G3LciD priority_secondary-S63h9o&quot; data-href=&quot;https://gatambook.substack.com/i/161957864/tldr&quot; style=&quot;--color-button-bg: #eee; --color-button-fg: rgb(54,55,55); --color-button-hover-bg: #dbdbdb; --color-button-hover-fg: rgb(54,55,55); --size: 32px; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background: 0px 0px rgb(238, 238, 238); border-color: transparent; border-radius: 8px; border-style: solid; border-width: 1px; color: #363737; cursor: pointer; display: flex; flex: 0 0 auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: unset; height: 32px; justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: color 0.25s cubic-bezier(0.15, 1, 0.3, 1), background-color 0.25s cubic-bezier(0.15, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.15, 1, 0.3, 1), border 0.25s cubic-bezier(0.15, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.15, 1, 0.3, 1), filter 0.25s cubic-bezier(0.15, 1, 0.3, 1), stroke 0.25s cubic-bezier(0.15, 1, 0.3, 1), transform 0.25s cubic-bezier(0.15, 1, 0.3, 1), scale 0.25s cubic-bezier(0.15, 1, 0.3, 1); width: 32px;&quot; tabindex=&quot;0&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;lucide lucide-link&quot; fill=&quot;none&quot; height=&quot;18&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;18&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h3&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; font-family: Spectral, serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 19px; line-height: 1.6em; margin: 0px 0px 20px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;Yes, the answers got much better over the last year. But still not all LLMs give equally satisfactory answers - sometimes one to try quite a few to find the suitable one. We suggest you try out other prompts in our&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://amzn.to/42UMC5P&quot; rel=&quot;nofollow ugc noopener&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: #363737;&quot;&gt;book&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;&quot;&gt;and see if the answers improved!&lt;/span&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2025/05/have-llms-improved-over-last-year.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-6861109108040035441</guid><pubDate>Fri, 03 Mar 2023 11:53:00 +0000</pubDate><atom:updated>2023-03-03T06:53:56.134-05:00</atom:updated><title>Applying Corrective AI to Daily Seasonal Forex Trading </title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-indent: 0.5in;&quot;&gt;By
Sergei Belov, Ernest
Chan, Nahid Jetha, and
Akshay Nautiyal&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: center;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; text-align: center;&quot;&gt;ABSTRACT&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;We applied&lt;a href=&quot;https://predictnow.ai/what-is-corrective-ai/&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt;
Corrective&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;https://predictnow.ai/what-is-corrective-ai/&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt; AI&lt;/span&gt;&lt;/a&gt; (Chan, 2022) to a trading model that takes
advantage of the intraday seasonality of forex returns. Breedon and Ranaldo
(2012)&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;observed that foreign currencies
depreciate vs. the US dollar during their local working hours and appreciate
during the local working hours of the US dollar. We first backtested the
results of Breedon and Ranaldo on recent EURUSD data from September 2021 to
January 2023 and then applied Corrective AI to this trading strategy to achieve
a significant increase in performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Breedon and Ranaldo (2012) described a trading
strategy that shorted EURUSD during European working hours (3 AM ET to 9 AM ET,
where ET denotes the local time in New York, accounting for daylight savings)
and bought EURUSD during US working hours (11 AM ET to 3 PM ET). The rationale
is that large-scale institutional buying of the US dollar takes place during
European working hours to pay global invoices and the reverse happens during US
working hours. Hence this effect is also called the “invoice effect&quot;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;There is some supportive evidence for the
time-of-the-day patterns in various measures of the forex market like
volatility (see Baille and Bollerslev(1991), or Andersen and Bollerslev(1998)),
turnover (see Hartman (1999), or Ito and Hashimoto(2006)), and return (see
Cornett(1995), or Ranaldo(2009)).&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Essentially,
local currencies depreciate during their local working hours for each of these
measures and appreciate during the working hours of the United States. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Figure 1 below describes the average hourly
return of each hour in the day over a period starting from 2019-10-01 17:00 ET
to 2021-09-01 16:00 ET. It reveals the pattern of returns in EURUSD. The return
pattern in the above-described “working hours&#39;&#39; reconciles with the hypothesis
of a prevalent “invoice effect” broadly. Returns go down during European
working and up during US working hours. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span id=&quot;docs-internal-guid-f7581ddd-7fff-e66b-3c88-e66c6604407e&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 12pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 296px; overflow: hidden; width: 647px;&quot;&gt;&lt;img height=&quot;296&quot; src=&quot;https://lh3.googleusercontent.com/i62xTcDww9jdwfZA2VNpXelEV6vhrruBe_6U40VU7Fql_zuTDzFopRJivqSW9gZkNj1DHxMtZzzvw7Gd3lGQpcNpDUpcye0liAzquAoNX15jBuLVpyupk3DfFHGqZaA3NdVs19JQD1X88OI8T6N1OTw&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;647&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;Figure
1: Average EURSUD return by time of day (New York time)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;As this strategy was published in 2012, it
offers ample time for true out-of-sample testing. We collected 1-minute bar
data of EURUSD from Electronic Broking Services (EBS) and performed a backtest
over the out-of-sample period October 2021-January 2023. The Sharpe Ratio of
the strategy in this period is&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;0.88,
with average annual returns of 3.5% and a maximum drawdown of -3.5%. The alpha
of the strategy apparently endured. (For the purpose of this article, no
transaction costs are included in the backtest because our only objective is to
compare the performances with and without Corrective AI, not to determine if
this trading strategy is viable in live production.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Figure 2 below shows the equity curve (“growth
of $1”) of the strategy during the aforementioned out-of-sample period. The
cumulative returns during this period are just below 8%. We call this the
“Primary” trading strategy, for reasons that will become clear below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span id=&quot;docs-internal-guid-443a81ce-7fff-9629-4b09-ef4cd69a0afa&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 12pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 332px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;332&quot; src=&quot;https://lh4.googleusercontent.com/aQ2Mk3Zay1w_HBh7YfRbt9BWVIoEnGHSvGnwvNjNU7RmVyCTCsYERlumQd-7BDXSKSPhSd-xDC9ks88RuY8R5lKzCK3-RhClpNb4_i9rFZXR4TbjROCKYNViKgw2FNKttBEgfaWKSi64AgREpeMOF7U&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;624&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;Figure
2: Equity curve of Primary trading strategy in out-of-sample period&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3 style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;a name=&quot;_nftvwzk1end0&quot;&gt;&lt;/a&gt;&lt;span lang=&quot;EN&quot;&gt;What is
Corrective AI?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #404040;&quot;&gt;Suppose
we have a trading model (like the Primary trading strategy described above) for
setting the side of the bet (long or short). We just need to learn the size of
that bet, which includes the possibility of no bet at all (zero sizes). This is
a situation that practitioners face regularly. A machine learning algorithm
(ML) can be trained to determine that. To emphasize, we do not want the ML
algorithm to learn or predict the side, just to tell us what is the appropriate
size. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #404040;&quot;&gt;We
call this problem meta-labeling (Lopez de Prado, 2018) or Corrective AI (Chan,
2022) because we want to build a secondary ML model that learns how to use a
primary trading model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #404040;&quot;&gt;We
train an ML algorithm to compute the “Probability of Profit” (PoP) for the next
minute-bar. If the PoP is greater than 0.5, we will set the bet size to 1;
otherwise we will set it to 0. In other words, we adopt the step function as
the bet sizing function that takes PoP as an input and gives the bet size as an
output, with the threshold set at 0.5.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;This bet sizing function decides whether to take the bet or pass, a
purely binary prediction. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #404040;&quot;&gt;The
training period was from 2019-01-01 to 2021-09-30 while the out-of-sample test
period was from 2021-10-01 to 2023-01-15, consistent with the out-of-sample
period we reported for the Primary trading strategy. The model used to train ML
algorithm was done using the predictnow.ai Corrective AI (CAI) API, with more
than a hundred pre-engineered input features (predictors). The underlying
learning algorithm is a gradient-boosting decision tree. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;After applying Corrective AI, the Sharpe Ratio
of the strategy in this period is 1.29&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;(an increase of 0.41), with average annual returns of 4.1% (an increase
of 0.6%)&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;and a maximum drawdown of -1.9%
(a decrease of 1.6%). The alpha of the strategy is significantly improved. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;The equity curve of the Corrective AI filtered
secondary model signal can be seen in the figure below. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span id=&quot;docs-internal-guid-32703e52-7fff-235d-2133-405c113539c3&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 12pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 340px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;340&quot; src=&quot;https://lh6.googleusercontent.com/Vpk6gd4l7_-F-RH0jwai8RnE7lHGDfMV4-_iHqhAUG4W9vBD2xOzw20aHBmZtSfBN2kq48swaoy1d7TQ8y5gMzrUBAoOv9yDqUMcXxmTzvyMTVPtuYvreTjISUhnyBmLHzBqs-D6l7NKxRKz4y4oXHQ&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;624&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 12pt; line-height: 115%;&quot;&gt;Figure
3: Equity curve of Corrective AI model&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;in out-of-sample period&lt;/span&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #404040;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: rgb(248, 248, 248); margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: #1d1c1d; font-size: 11.5pt; line-height: 115%;&quot;&gt;Features used to train the Corrective AI model &lt;/span&gt;&lt;span lang=&quot;EN&quot; style=&quot;color: black; mso-color-alt: windowtext;&quot;&gt;include technical
indicators generated from indices, equities, futures, and options markets. Many
of these features were created using &lt;a href=&quot;https://www.algoseek.com/&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt;Algoseek&lt;/span&gt;&lt;/a&gt;’s high-frequency futures and equities
data. More discussions of these features can be found in (Nautiyal &amp;amp; Chan,
2021). &lt;/span&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; margin-bottom: 11.0pt; margin-left: 0in; margin-right: 0in; margin-top: 11.0pt; margin: 11pt 0in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;_mnu9bunt4a0k&quot;&gt;&lt;/a&gt;&lt;span lang=&quot;EN&quot;&gt;Conclusion: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;By applying Corrective AI to the
time-of-the-day Primary strategy, we were able to improve the Sharpe ratio and
reduce drawdown during the out-of-sample backtest period. This aligns with
observations made in the literature on meta-labeling for our primary
strategies. The Corrective AI model&#39;s signal filtering capabilities do enhance
performance in specific scenarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;_qyye79w6l87d&quot;&gt;&lt;/a&gt;&lt;span lang=&quot;EN&quot;&gt;Acknowledgment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;We are grateful to Chris Bartlett of Algoseek,
who generously provided much of the high-frequency data for our feature
engineering in our Corrective AI system. We also thank Pavan Dutt for his
assistance with feature engineering and to Jai Sukumar for helping us use the
Predictnow.ai CAI API. Finally, we express our appreciation to Erik MacDonald
and Jessica Watson for their contributions in explaining this technology to
Predictnow.ai’s clients&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in; text-align: center;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;References&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Breedon,
F., &amp;amp; Ranaldo, A. (2012, April 3). &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;Intraday
Patterns in FX Returns and Order Flow&lt;/i&gt;. https://ssrn.com/abstract=2099321&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Chan,
E. (2022, June 9). &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;What is Corrective AI?&lt;/i&gt;
PredictNow.ai. Retrieved February 23, 2023, from
https://predictnow.ai/what-is-corrective-ai/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Lopez
de Prado, M. (2018). &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;Advances in
Financial Machine Learning&lt;/i&gt;. Wiley.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;Nautiyal,
A., &amp;amp; Chan, E. (2021). &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;New Additions
to the PredictNow.ai Factor Zoo&lt;/i&gt;. PredictNow.ai. Retrieved February 28,
2023, from https://predictnow.ai/new-additions-to-the-predictnow-ai-factor-zoo/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: 200%; margin-left: 0.5in;&quot;&gt;&lt;span lang=&quot;EN&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;mso-element: footnote-list;&quot;&gt;&lt;div id=&quot;ftn2&quot; style=&quot;mso-element: footnote;&quot;&gt;

&lt;/div&gt;

&lt;/div&gt;</description><link>http://epchan.blogspot.com/2023/03/applying-corrective-ai-to-daily.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/i62xTcDww9jdwfZA2VNpXelEV6vhrruBe_6U40VU7Fql_zuTDzFopRJivqSW9gZkNj1DHxMtZzzvw7Gd3lGQpcNpDUpcye0liAzquAoNX15jBuLVpyupk3DfFHGqZaA3NdVs19JQD1X88OI8T6N1OTw=s72-c" height="72" width="72"/><thr:total>11</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8355436721520268594</guid><pubDate>Fri, 07 Oct 2022 10:49:00 +0000</pubDate><atom:updated>2022-10-07T06:49:39.538-04:00</atom:updated><title>Conditional Portfolio Optimization: Using machine learning to adapt capital allocations to market regimes</title><description>&lt;p&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; white-space: pre-wrap;&quot;&gt;By Ernest Chan, Ph.D., Haoyu Fan, Ph.D., Sudarshan Sawal, and Quentin Viville, Ph.D.&lt;/span&gt;&lt;/p&gt;&lt;span id=&quot;docs-internal-guid-494e0c33-7fff-d94e-9436-20e8fc525a98&quot;&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Previously on this blog, we wrote about a machine-learning-based parameter optimization technique we invented, called &lt;/span&gt;&lt;a href=&quot;https://predictnow.ai/blog/conditional-parameter-optimization-adapting-parameters-to-changing-market-regimes/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conditional &lt;/span&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Parameter&lt;/span&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; Optimization&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; (CPO). It appeared to work well on optimizing the operating parameters of trading strategies, but increasingly, we found that its greatest power lies in its potential to optimize &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;portfolio allocations&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. We call this Conditional &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Portfolio&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; Optimization (which fortuitously shares the same acronym).&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Let’s recap what Conditional Parameter Optimization is. Traditionally, optimizing the parameters of any business process (such as a trading strategy) is a matter of finding out what parameters give an optimal outcome over past data. For example, setting a stop loss of 1% gave the best Sharpe ratio for a trading strategy backtested over the last 10 years. Or running the conveyor belt at 1m per minute led to the lowest defect rate in a manufacturing process. Of course, the numerical optimization procedure can become quite complicated based on a number of different factors. For example, if the number of parameters is large, or if the objective function that relates the parameters to the outcome is nonlinear, or if there are numerous constraints on the parameters. There are already standard methods to handle these difficulties.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;What concerns us at PredictNow.ai, is when the objective function is not only nonlinear, but also depends on external time varying and stochastic conditions. In the case of a trading strategy, the optimal stop loss may depend on the market regime, which may not be clearly defined. In the case of a manufacturing process, the optimal conveyor belt rate may depend on dozens of sensor readings. Such objective functions mean that traditional optimization methods do not usually give the optimal results under a particular set of external conditions.Furthermore, even if you specify that exact set of conditions, the outcome is not deterministic. What better method than machine learning to solve this problem!&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;By using machine learning,&amp;nbsp; we can approximate this objective function using a neural network, by training its many nodes using historical data. (Recall that a neural network is able to &lt;/span&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Universal_approximation_theorem&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;approximate almost any function&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, but you can use many other machine learning algorithms instead of neural networks for this task). The inputs to this neural network will not only include the parameters that we originally set out to optimize, but also the vast set of features that measure the external conditions. For example, to represent a “market regime”, we may include market volatility, behaviors of different market sectors, macroeconomic conditions, and many other input features. To help our clients efficiently run their models, Predictnow.ai provides &lt;/span&gt;&lt;a href=&quot;https://predictnow.ai/blog/new-additions-to-the-predictnow-ai-factor-zoo-2/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;hundreds of such market features&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. The output of this neural network would be the outcome you want to optimize. For example, maximizing the future 1-month Sharpe ratio of a trading strategy is a typical outcome. In this case you would feed historical training samples to the neural network that include the trading parameters, the market features, plus the resulting forward 1-month Sharpe ratio of the trading strategy as “labels” (i.e. target variables). Once trained, this neural network can then predict the future 1-month Sharpe ratio based on any hypothetical set of trading parameters and the current market features.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;With this method, we “only need” to try different sets of hypothetical parameters to see which gives the best Sharpe ratio and adopt that set as the optimal&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. We put “only need” in quotes because of course if the number of parameters is large, it can take very long to try out different sets of parameters to find the optimal. Such is the case when the application is&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; portfolio optimization&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, where the parameters represent the capital allocations to different components of a portfolio. These components could be stocks in a mutual fund, or trading strategies in a hedge fund. For a portfolio that holds S&amp;amp;P 500 stocks, for example, there will be up to 500 parameters. In this case, during the training process, we are supposed to feed into the neural network &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;all possible combinations&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; of these 500 parameters, plus the market features, and find out what the resulting 5- or 20-day return, or Sharpe ratio, or whatever performance metric we want to maximize. &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;All possible combinations&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;? If we represent the capital weight allocated to each stock as w ∈ [0, 1], assuming we are not allowing short positions, the search space has &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[0, 1]&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;combinations, even with discretization, and our computer will need to run till the end of the universe to finish. Overcoming this curse of dimensionality is one of the major breakthroughs the Predictnow.ai team has accomplished with Conditional Portfolio Optimization.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;To measure the value Conditional Portfolio Optimization adds, we need to compare it with alternative portfolio optimization methods. The default method is Equal Weights: applying equal capital allocations to all portfolio components. Another simple method is the Risk Parity method, where the capital allocation to each component is inversely proportional to its returns’ volatility. It is called Risk Parity because each component is supposed to contribute an equal amount of volatility, or risk, to the overall portfolio’s risk. This assumes zero correlations among the components’ returns, which is of course unrealistic. Then there is the Markowitz method, also known as Mean-Variance optimization. This well-known method, which earned Harry Markowitz a Nobel prize, maximizes the Sharpe ratio of the portfolio based on the historical means and covariances of the component returns. The optimal portfolio that has the maximum historical Sharpe ratio is also called the &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;tangency portfolio&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. I wrote about this method in a previous &lt;/span&gt;&lt;a href=&quot;http://epchan.blogspot.com/2014/08/kelly-vs-markowitz-portfolio.html&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. It certainly doesn’t take into account market regimes or any market features. It is also a vagrant violation of the familiar refrain, “Past Performance is Not Indicative of Future Results”, and is known to produce all manners of unfortunate instabilities (see &lt;/span&gt;&lt;a href=&quot;https://www.amazon.com/dp/0199959323/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=&amp;amp;creativeASIN=0199959323&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; or &lt;/span&gt;&lt;a href=&quot;https://amzn.to/3r7y2FA&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;). Nevertheless, it is the standard portfolio optimization method that most asset managers use. Finally, there is the Minimum Variance portfolio, which uses Markowitz’s method not to maximize the Sharpe ratio, but to minimize the variance (and hence volatility) of the portfolio. Even though this does not maximize its past Sharpe ratio, it often results in portfolios that achieve better forward Sharpe ratios than the tangency portfolio! Another case of “Past Performance is Not Indicative of Future Results”.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Let’s see how our Conditional Portfolio Optimization method stacks up against these conventional methods.&amp;nbsp; For an unconstrained optimization of the S&amp;amp;P 500 portfolio, allowing for short positions and aiming to maximize its 7-day forward Sharpe ratio,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;118&quot;&gt;&lt;/col&gt;&lt;col width=&quot;134&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 25.89892578125pt;&quot;&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Method&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sharpe Ratio&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.31&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.96&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;(These results are over an out-of-sample period from July 2011 to June 2021, and the universe of stocks for the portfolio are those that have been present in the SP 500 index for at least 1 trailing month. The Sharpe Ratio we report in this and the following tables are all annualized). &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO improves the Sharpe ratio over the Markowitz method by a factor of 3.1&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Then we test our CPO performs for an ETF (TSX: MESH) given the constraints that we cannot short any stock, and the weight w of each stock obeys w ∈ [0.5%, 10%],&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Method&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sharpe Ratio&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CAGR&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td rowspan=&quot;5&quot; style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2017-01 to 2021-07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equal Weights&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.53&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;43.1%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Risk Parity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.52&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;39.9%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;47.2%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Minimum Variance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.56&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;38.3%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.62&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;43.6%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td rowspan=&quot;5&quot; style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2021-08 to 2022-07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equal Weights&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-30.6%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Risk Parity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-22.2%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.94&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-30.8%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Minimum Variance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.47&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-14.5%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-13.7%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO performed similarly to the Markowitz method in the bull market, but remarkably, it was able to switch to defensive positions and has beaten the Markowitz method in the bear market of 2022. &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;It improves the Sharpe ratio over the Markowitz portfolio by more than 60% in that bear market.&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; That is the whole rationale of &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conditional &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Portfolio Optimization - it adapts to the expected future external conditions (market regimes), instead of blindly optimizing on what happened in the past.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Next, we tested the CPO methodology on a private investor’s tech portfolio, consisting of 7 US and 2 Canadian stocks, mostly in the tech sector. The constraints are that we cannot short any stock, and the weight w of each stock obeys w ∈ [0%, 25%],&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Period&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Method&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sharpe Ratio&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CAGR&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td rowspan=&quot;5&quot; style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2017-01 to 2021-07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equal Weights&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;31.1%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Risk Parity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.33&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;24.2%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.06&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;23.3%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Minimum Variance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;19.3%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.63&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;27.1%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td rowspan=&quot;5&quot; style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2021-08 to 2022-07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equal Weights&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;6.36%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Risk Parity&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;7.51%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;6.37%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Minimum Variance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.23&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2.38%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 21pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.70&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;11.0%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO performed better than both alternative methods under all market conditions. In particular,&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; it improves the Sharpe ratio over the Markowitz portfolio by 75% in the bear market.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;We also tested how CPO performs for some unconventional assets - a portfolio of 8 crypto currencies, again allowing for short positions and aiming to maximize its 7-day forward Sharpe ratio,&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;136&quot;&gt;&lt;/col&gt;&lt;col width=&quot;157&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Method&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sharpe Ratio&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;0.26&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;(These results are over an out-of-sample period from January 2020 to June 2021, and the universe of cryptocurries for the portfolio are BTCUSDT, ETHUSDT, XRPUSDT, ADAUSDT, EOSUSDT, LTCUSDT, ETCUSDT, XLMUSDT). &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO improves the Sharpe ratio over the Markowitz method by a factor of 3.8&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Finally, to show that CPO doesn’t just work on portfolios of assets, we apply it to a portfolio of FX trading strategies traded live by a proprietary trading firm WSG. It is a portfolio of 7 trading strategies, and the allocation constraints are w ∈ [0%, 40%],&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;131&quot;&gt;&lt;/col&gt;&lt;col width=&quot;165&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Method&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #141c44; border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 5pt; margin-top: 5pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sharpe Ratio&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equal Weights&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Markowitz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2.22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #999999 1pt; border-left: solid #999999 1pt; border-right: solid #999999 1pt; border-top: solid #999999 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2.65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;(These results are over an out-of-sample period from January 2020 to July 2022). &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPO improves the Sharpe ratio over the Markowitz method by 19%.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In all 5 cases, CPO was able to outperform the naive Equal Weights portfolio and the Markowitz portfolio during a downturn in the market, while generating similar performance during the bull market.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;For clients of our CPO technology, we can add specific constraints to the desired optimal portfolio, such as average ESG rating, maximum exposure to various sectors, or maximum turnover during portfolio rebalancing. The only input we require from them is the historical returns of the portfolio components (unless these components are publicly traded assets, in which case clients only need to tell us their tickers). Predictnow.ai will provide pre-engineered market features that capture market regime information. If the client has proprietary market features that may help predict the returns of their portfolio, they can merge those with ours as well. Clients’ features can remain anonymized. We will be providing an API for clients who wish to experiment with various constraints and their effects on the optimal portfolio.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;If you’d like to learn more, please join us for our Conditional Portfolio Optimization webinar on Thursday, October 22, 2022, at 12:00 pm New York time. Please register &lt;/span&gt;&lt;a href=&quot;https://www.predictnow.ai/webinar/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;background-color: white; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In the meantime, if you have any questions, please email us at info@predictnow.ai.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;</description><link>http://epchan.blogspot.com/2022/10/conditional-portfolio-optimization.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-5973502555798575274</guid><pubDate>Fri, 22 Jul 2022 13:03:00 +0000</pubDate><atom:updated>2022-07-22T09:03:01.410-04:00</atom:updated><title>The demise of Zillow Offers: it is not AI&#39;s fault!</title><description>&lt;span id=&quot;docs-internal-guid-efb32767-7fff-7f4a-a615-dac25fed4ba1&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The story is now familiar: Zillow Group built a home price prediction system based on AI in order&amp;nbsp; to become a market-maker in the housing industry. As a market maker, the goal is simply to buy low and sell high, quickly, and with minimal transaction cost. &lt;/span&gt;&lt;a href=&quot;https://www.geekwire.com/2022/commentary-how-homeowners-defeated-zillows-ai-ultimately-leading-to-zillow-offers-demise/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Backtests &lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;showed that its AI model&#39;s predictive accuracy was over 96% (Hat tip: Peter U., for that article). In reality, though, it lost half a billion dollars.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This is a cautionary tale for anyone using AI to predict prices or returns, including those of us in more liquid markets than housing. Despite Zillow’s failure, the root cause of this discrepancy between backtest and live market-making is well-known, and it has nothing to do with machine learning or AI. Their failure was due to&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;adverse selection&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, which can happen to any market maker, whether human or machine. In this context, &quot;market maker&quot; is used in a broad sense - a market maker provides liquidity to the market using limit orders. For instance, any mean-reversion trader is a market maker. As long as the market maker is trading against a counterparty who has more information (a.k.a. the &quot;informed trader&quot;), adverse selection will take money away from the market maker and give it to the informed trader. This is because as market makers, the only model is to buy when prices are cheap, no matter why they are cheap. In contrast, the informed traders may know why the asset is cheap and if it will get cheaper, so they are happy to sell to a market maker. In the opposite situation, if the informed traders believe&amp;nbsp; that the current prices are cheap, but will get higher, they will refrain from selling. In this case, the limit order will not get executed, and market makers&amp;nbsp; suffer from &quot;opportunity cost&quot;. In Zillow’s case, the informed traders are the homeowners who have a&amp;nbsp; better understanding of the value of their own home due to qualitative factors (e.g. views, interior design, neighborhood safety, etc.)&amp;nbsp; outside of Zillow’s model.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In my book &lt;/span&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/1119219604/ref%3Das_li_tl?ie=UTF8&amp;amp;tag=quantitativet-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=1119219604&amp;amp;linkId=5da06f55eeba446e001985e48562d03a&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Machine Trading&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, I wrote, &quot;Adverse selection happens when prices on average go down after we buy something, and go up when we sell something&quot;. Therefore, adverse selection can be measured quite easily by computing the difference between the (paper) P&amp;amp;L of unfilled orders and the P&amp;amp;L of filled orders over a short time frame. In order to determine whether your AI predictive model will work in reality, it is ideal to deploy it live in a small capacity, and measure the differences over time. If there is significant adverse selection, the trader&amp;nbsp; can always choose not to participate in the market. For example, it is legendary that high frequency traders stopped providing liquidity to the market during extreme events such as flash crashes. Traders&amp;nbsp; don&#39;t want to be the suckers at the game. Unfortunately for Zillow, they weren’t aware of the well-practiced art of market making.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Another common way to reduce adverse selection is to keep a close tab on your inventory. If, in a short period of time, inventory suddenly changes significantly compared to average trends, it may indicate that there is new information arriving on the market that you are not aware of (e.g. mortgage rate going up by 1%). In this situation, it would be wise to cancel your limit orders until the coast clears. For a mathematical interpretation of this concept, view the formulation by &lt;/span&gt;&lt;a href=&quot;https://www.math.nyu.edu/~avellane/HighFrequencyTrading.pdf&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Avellaneda and Sasha&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. Inventory management was a key&amp;nbsp; technique that Zillow did not adopt, which could have minimized their adverse selection risk.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;AI has been a major asset in numerous business processes, including market making, but it is just one part of complex production machinery. As we can see from Zillow’s use case, predictions, even accurate ones, are not enough to generate profits. As I explained in my previous &lt;/span&gt;&lt;a href=&quot;https://predictnow.ai/blog/what-is-corrective-ai/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, we at Predictnow.ai don&#39;t think that AI is the be-all and end-all of decision making. Instead, we believe the value of AI lies in its ability to correct human-made decisions. But, an even larger lesson here is that experts in one industry (e.g. housing) can benefit from the knowledge of experts in another industry (e.g. quantitative finance). This transdisciplinary knowledge is exactly what Predictnow.ai offers enterprises to improve and enhance their processes.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;</description><link>http://epchan.blogspot.com/2022/07/the-demise-of-zillow-offers-it-is-not.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-3429736826628066118</guid><pubDate>Fri, 28 Jan 2022 12:44:00 +0000</pubDate><atom:updated>2022-02-05T08:26:57.619-05:00</atom:updated><title>800+ New Crypto Features</title><description>&lt;p&gt;&amp;nbsp;By&amp;nbsp;Quentin Viville, Sudarshan Sawal, and Ernest Chan&lt;/p&gt;&lt;p&gt;PredictNow.ai is excited to announce that we’re expanding our feature zoo to cover crypto features! This follows our work on US stock features, and features based on options activities, ETFs, futures, and macroeconomic indicators. To read more on our previous work, click &lt;a href=&quot;https://predictnow.ai/blog/new-additions-to-the-predictnow-ai-factor-zoo-2/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. These new crypto features can be used as input to our machine-learning API to help improve your trading strategy. In this blog we have outlined the new crypto features as well as demonstrated&amp;nbsp; how we have used them for short term alpha generation and crypto portfolio optimization.&lt;/p&gt;&lt;p&gt;Our new crypto features are designed to capture market activity&amp;nbsp; from subtle movements to large overarching trends. These features will quantify the variations of the price, the return, the order flow, the volatility and the correlations that appear among them.&lt;/p&gt;&lt;p&gt;To create these features, we first constructed the Base Features&amp;nbsp; using raw market data that includes microstructure information. Next, we applied simple mathematical functions such as exponential moving average to create the Final Features.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Base Features&lt;/h3&gt;&lt;p&gt;The Base Features are constructed using Binance’s dollar bar data, which includes:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Open&lt;/li&gt;&lt;li&gt;High&lt;/li&gt;&lt;li&gt;Low&lt;/li&gt;&lt;li&gt;Close&lt;/li&gt;&lt;li&gt;Volume&lt;/li&gt;&lt;li&gt;Order flow (sum of signed volumes)&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;+ve volume for buy aggressor tag and -ve volume for sell aggressor tag&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Buy market order value (sum of volumes corresponding to buy aggressor tag)&lt;/li&gt;&lt;li&gt;Sell market order value (sum of volumes corresponding to sell aggressor tag)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Base Features are based on:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Relations between the price, the high price, the low price.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Relative High: High Price relative to Open Price.&lt;/li&gt;&lt;li&gt;Relative Low: Low Price relative to Open Price.&lt;/li&gt;&lt;li&gt;Relative Close: Close Price relative to Open Price.&lt;/li&gt;&lt;li&gt;Relative Volume: Buy orders relative to total absolute volume.&lt;/li&gt;&lt;li&gt;Target Effort: computes an estimation of the “effort” that the price has to produce to reach the target price by comparing the observed low price and high price.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Volume exchanged.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Dollar Speed: Average signed quantity of dollars exchanged per second.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Relations and potential correlations among the variations of the price, the order flow and the intensity of the activity in the market.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Kyle’s Lambda: Relation between price change and orderflow.&lt;/li&gt;&lt;li&gt;SCOF: Correlation of Order Flow with its lagged series.&lt;/li&gt;&lt;li&gt;VPIN: Volume-synchronized probability of informed trading.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Volatility observed.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;VLT: Volatility of the returns (Exponentially Weighted)&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Each feature is associated with a ‘time span’, or lookback period, which helps capture market activity across&amp;nbsp; multiple time frames.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Final Features&lt;/h3&gt;&lt;p&gt;Once we generated the Base Features, a new, varied set of features was derived called the Final Features.These Final Features are transformations of the initial Base Features into exponentially moving averages and probabilities over many time periods.&lt;/p&gt;&lt;p&gt;This approach has allowed us to produce a large set of Final Features (&lt;b&gt;879 &lt;/b&gt;features to be exact), which can capture and quantify the activity of the market within any time span we choose.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Applications to Short Term Alpha Generation&lt;/h3&gt;&lt;p&gt;PredictNow.ai’s core functionality is &lt;a href=&quot;https://predictnow.ai/blog/what-is-the-probability-of-profit-of-your-next-trade-introducing-predictnow-ai/&quot; target=&quot;_blank&quot;&gt;metalabelling&lt;/a&gt;, which assigns a Probability of Profit for every trade of an existing strategy (or a future time period of an existing portfolio). This requires us to build a machine learning model using a large number of input features and a target (label), which would be the trades’ (or portfolio’s) returns.&lt;/p&gt;&lt;p&gt;To evaluate the performance of the features described above, we first built a base strategy and then applied metalabelling to the signals of that strategy with those features as input. The base strategy is a high frequency strategy which predicts abnormal returns due to unusual order flow. The out-of-sample backtest performance of just the base strategy:&lt;/p&gt;&lt;p&gt;Maximum drawdown: −&lt;span id=&quot;docs-internal-guid-9b4b15d2-7fff-eb48-63d0-c8f7c032b3ed&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;6.250&lt;/span&gt;&lt;/span&gt;%&lt;/p&gt;&lt;p&gt;Annualized Sharpe ratio:&lt;b&gt;3.3&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Annualized profit: 32.6%&amp;nbsp;&lt;/p&gt;&lt;p&gt;Using the Final Features as described above as input to metalabelling, we have been successful in improving&amp;nbsp; the strategy’s performance &lt;i&gt;drastically&lt;/i&gt;. The improved performance after applying metalabelling:&lt;/p&gt;&lt;p&gt;Maximum drawdown: −4.998%&lt;/p&gt;&lt;p&gt;Annualized Sharpe ratio: &lt;b&gt;5.6&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Annualized profit: 227%&amp;nbsp;&lt;/p&gt;&lt;p&gt;Comparative plot to give an idea of the metalabelling model’s performance in comparison to the base strategy:&lt;/p&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-19641cb8-7fff-d422-8589-f138bb22a0fd&quot;&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 383px; overflow: hidden; width: 602px;&quot;&gt;&lt;img height=&quot;255&quot; src=&quot;https://lh4.googleusercontent.com/6BL7BmnTSOYID0a0LaNpmGe1qrfGJOg1l4JwqFFPFnRoWGouoD6K8e7uJuwoIhMVixxssN4LYM2Gb_zfvxakR6AaxJlVCi20S3tHXJ8sdH5gQn-BrGGQYXyVWQFYSQ=w400-h255&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;The &lt;b&gt;Sharpe ratio is increased from 3.1 to 5.6 &lt;/b&gt;and we have&lt;b&gt; almost 7x the annual returns to 227%&lt;/b&gt; by applying metalabelling using our new crypto features.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Applying CPO to Crypto Portfolio&lt;/h3&gt;&lt;p&gt;Mean Variance Optimization (MVO) is a popular method of portfolio optimization which generates a portfolio with maximum expected returns given a fixed level of risk. One shortcoming of the MVO method is that the selected portfolio is optimal only on average in the past. This doesn’t guarantee it to be optimal in different market regimes. This limitation gives us an opportunity to apply our patent-pending &lt;a href=&quot;https://predictnow.ai/blog/conditional-parameter-optimization-adapting-parameters-to-changing-market-regimes/&quot; target=&quot;_blank&quot;&gt;Conditional Parameter Optimization (CPO) technique&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Our CPO technique can be used to improve strategy performance in different market regimes by adapting a trading strategy’s parameters to fit those regimes. Similarly, it can optimize allocations to different constituents of a portfolio in different market regimes. Rather than optimizing based only on the historical means and covariances of a portfolio’s constituents’ returns, CPO involves training a machine learning model with a vast number of external “big data” features to drive the optimization process.&lt;/p&gt;&lt;p&gt;In our next example, we used our crypto features as input. We then compared the Sharpe ratios of a crypto portfolio based on the conventional MVO technique vs our CPO technique on out-of-sample data.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Backtest Result:&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Portfolios are constituted of 8 symbols (all crypto perpetual futures): BTCUSDT, ETHUSDT, XRPUSDT, ADAUSDT, EOSUSDT, LTCUSDT, ETCUSDT, XLMUSDT&lt;/li&gt;&lt;li&gt;Position type includes Long and Short Positions&lt;/li&gt;&lt;li&gt;The target variable is the forward Sharpe ratio, computed as the 3-hour return divided by the standard deviation of the sequence of the 5-minute consecutive returns during the 3-hour period&lt;/li&gt;&lt;li&gt;Out-of-sample test data set starts on Jan. 2020 and ends on June 2021&lt;/li&gt;&lt;li&gt;Results (annualized Sharpe ratio over 365 days per year):&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhzuU8OtVgk2ZnLNqoQBrAPut4HY3B_kfiywfytf6cDAZN9X9-bflDSO2f3k-zvRZjXZocvfmSeGtSkzxH4YbXEM76mZ5zhFsdQSo7liavmU-3kglRE1yoVijevnliPZOSVpMXdNratGC3Ye12k51Yii4YgVHJNgSk6jDCkhiQ1EgKSX_McFrw&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;263&quot; data-original-width=&quot;685&quot; height=&quot;154&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhzuU8OtVgk2ZnLNqoQBrAPut4HY3B_kfiywfytf6cDAZN9X9-bflDSO2f3k-zvRZjXZocvfmSeGtSkzxH4YbXEM76mZ5zhFsdQSo7liavmU-3kglRE1yoVijevnliPZOSVpMXdNratGC3Ye12k51Yii4YgVHJNgSk6jDCkhiQ1EgKSX_McFrw=w400-h154&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;CPO improves the Sharpe ratio by &lt;b&gt;x3.8&lt;/b&gt;!&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Conclusion&lt;/h2&gt;&lt;p&gt;We have demonstrated that our new crypto features are powerful additions to any crypto trader or investor’s toolkit by applying them to a crypto trading strategy in live deployment, and to optimizing a crypto portfolio using our proprietary CPO technique. Our features and strategy combined with our machine learning software is proven to increase a base trading strategy’s returns by &lt;b&gt;7x&lt;/b&gt; and increase a crypto portfolio’s Sharpe ratio &lt;b&gt;3.8x&lt;/b&gt; over MVO. Additionally, with our Explainable AI function using our &lt;a href=&quot;https://predictnow.ai/blog/the-amazing-efficacy-of-cluster-based-feature-selection/&quot; target=&quot;_blank&quot;&gt;feature selection methodology&lt;/a&gt;, we’ve removed the guesswork so you’ll know exactly which of our new crypto features are important to improving your strategy.&lt;/p&gt;&lt;p&gt;To sign up for a free trial to experiment with these new features using our API or to explore our machine learning software please &lt;a href=&quot;https://py.predictnow.ai/register&quot; target=&quot;_blank&quot;&gt;click here&lt;/a&gt;. Institutional investors can also inquire about subscribing to our trading signals from our crypto strategy or to updates from our dynamically optimized long-short crypto portfolio.&lt;/p&gt;&lt;p&gt;If you have any questions or would like to work with us, please email us at: info@predictnow.ai.&lt;/p&gt;</description><link>http://epchan.blogspot.com/2022/01/800-new-crypto-features.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/6BL7BmnTSOYID0a0LaNpmGe1qrfGJOg1l4JwqFFPFnRoWGouoD6K8e7uJuwoIhMVixxssN4LYM2Gb_zfvxakR6AaxJlVCi20S3tHXJ8sdH5gQn-BrGGQYXyVWQFYSQ=s72-w400-h255-c" height="72" width="72"/><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8676717578119965957</guid><pubDate>Wed, 22 Sep 2021 15:02:00 +0000</pubDate><atom:updated>2021-09-22T12:55:44.131-04:00</atom:updated><title>Welcome to Our Feature Zoo with 600+ features!</title><description>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-family: Arial; white-space: pre-wrap;&quot;&gt;By Akshay Nautiyal and Ernest Chan&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id=&quot;docs-internal-guid-e47e5412-7fff-4ff6-c432-839977bbb04e&quot;&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This has been a summer of feature engineering for PredictNow.ai. First, we launched the US stock &lt;/span&gt;&lt;a href=&quot;https://www.predictnow.ai/blog/introducing-pre-engineered-stock-fundamental-features-at-predictnow-ai/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;cross-sectional&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; features and the &lt;/span&gt;&lt;a href=&quot;https://www.predictnow.ai/blog/metalabeling-and-the-duality-between-cross-sectional-and-time-series-factors/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;time-series&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; market-wide features. Now we have launched the features based on options activities, ETFs, futures, and macroeconomic indicators. In total, we are now offering &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;616&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; ready-made features to our subscribers.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;There is a lot to read here. If you would rather join our October 1, 12pm EST webinar where Ernie and I will discuss these factors / features and answer your questions, please sign up &lt;a href=&quot;https://py.predictnow.ai/register_workshop&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NOPE &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- &lt;/span&gt;&lt;a href=&quot;https://www.scribd.com/document/487296659/Investigating-Delta-Gamma-Hedging-Impact-on-SPY-Returns-2007-2020&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Net options pricing effect&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; - is a normalized measure of the net delta imbalance between the put and call options of a traded instrument across its entire option chain, calculated at the market close for contracts of all maturities. This indicator was invented by Lily Francus (Twitter: @nope_its_lily) and is normalized with the total traded volume of the underlying instrument. The imbalance estimates the amount of delta hedging by market markers needed to keep their positions delta-neutral. This hedging causes price movement in the underlying, which NOPE should ideally capture. The data for this has been sourced from &lt;/span&gt;&lt;a href=&quot;http://www.deltaneutral.com/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Delta &lt;/span&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Neutral&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.and the instrument we applied it to was SPY ETF options. The SPX index options were’t used because the daily traded volume of the underlying SPX index “stock” was irrational. It was calculated as the traded volume of the constituents of the index.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Canary &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- is an indicator that acts similar to a&amp;nbsp; canary in a coal mine, which will raise an alarm when there’s an impending danger. This indicator comes from the dual momentum strategies of &lt;/span&gt;&lt;a href=&quot;https://seekingalpha.com/article/4087925-breadth-momentum-and-vigilant-asset-allocation&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Vigilant&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; and &lt;/span&gt;&lt;a href=&quot;https://indexswingtrader.blogspot.com/2018/07/announcing-defensive-asset-allocation.html&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Defensive Asset allocation&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. The canary value can be either 0,1 or 2. This is a daily measure of which of the two bond or stock ETFs has a negative absolute momentum - 1) BND - Vanguard Total Bond Market ETF&amp;nbsp; 2) VMO - Vanguard Emerging Markets Stock Index Fund ETF. The momentum is calculated using the 13612W method where we take a proportionally weighted average of percentage change in the bond/stock ETF returns in the last 1 month, 3 months, 6 months, and 1 year. In the paper, the values of “0”,”1” or “2” of the canary portfolio represent what percentage of the canary is bullish. This indicates&amp;nbsp; what proportion of the asset portfolio was allocated to global risky assets (equity, bond and commodity ETFs) and what proportion was allocated to cash. For example, a “2” would imply 100% cash or cash equivalents, while a “0” would imply 100% allocation to the global risky assets. Alternatively, a value of “1” would imply 50% allocation to global risky assets and 50% to cash.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Carry &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- “&lt;/span&gt;&lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2298565&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Carry&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;”,&amp;nbsp; defined a carry feature as, “the return on a futures position when the price stays constant over the holding period”. (It is also called “roll yield” or “convenience yield”.) We calculate carry for 1) global equities - calculated as a ratio of expected dividend and daily close prices; 2) SPX futures - calculated from price of front month SPX futures contract and spot price of the index; and3) Currency -&amp;nbsp; calculated from the two nearest months futures data.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Macro factors&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; - macro factors are derived from global macroeconomic data, from the US and 12 other major economies. These are sourced from either Factset or FRED. The factors being offered are:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1) US Market index adjusted by inflation, money supply - mainly calculated for the US - SP500 adjusted for CPI, PCE, M1 and M2 - tells us if the market index is “inflated” or bubbled up by increased money supply or increasing prices. All these features are daily percentage changes, to make them stationary.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2) Principal components of continuous maturity bond data&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Pricing factors can be extracted as the principal components of the cross-section of treasury yields i.e. these factors are linear combinations of the treasury yields. The first three PCs have been prime candidates in this regard as they generally explain over 99% of the variability in the term structure of bond yields and, due to their loadings, may be interpreted as the level, slope and curvature factor. More can be explored in the paper, &lt;/span&gt;&lt;a href=&quot;https://www.sipotra.it/wp-content/uploads/2021/01/Equity-tail-risk-in-the-treasury-bond-market.pdf&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Equity tail risk in the treasury bond market&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;3) Common sovereign ratios (calculated month-on-month and year-on-year)-&lt;/span&gt;&lt;/p&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sovereign Debt normalised with GDP&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Foreign Exchange normalised with GDP,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Government spending normalised to GDP&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Current account balance to normalised GDP&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Government Budget balance normalised by GDP&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Labour force as a percentage of population&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;4) Fixed income term premia - the risk or the term premium is the premium or compensation the bond holder gets to account for the possibility of short-term interest rates to deviate from the expected path. This is sourced from the FRED. The methodology for the term structure model used to calculate term premia is covered in the paper, &lt;/span&gt;&lt;a href=&quot;https://www.federalreserve.gov/data/three-factor-nominal-term-structure-model.htm&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Three-Factor Nominal Term Structure Model&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. All the term premia features are daily percentage changes, to make them stationary.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;5) Features that are calculated as month-on-month and year-on-year percentage changes:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Current Account Balance - the percentage change in a country’s international transactions with other countries.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Exports - the percentage change in a country’s exports to other countries.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Industrial production - the percentage change in a country’s output by industrial sector.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Imports - the percentage change in a country’s imports from other countries.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Money supply - the percentage change in a country’s M2 money supply.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Retail Sales Index- the percentage change in a country’s demand for durable and non-durable goods.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Employment -&amp;nbsp; the percentage change in a country’s employment numbers.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Housing Starts - the percentage change in a country’s new residential construction projects.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Trade balance - the percentage change in a country’s net sum of imports and exports.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Unemployment rate - the percentage change in a country’s percentage of labour that is jobless.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Labour force - the percentage change in a country’s active labour force.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Foreign Exchange Reserves - the percentage change in a country’s forex reserves.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Consumer Price Index - the percentage change in a country’s CPI inflation measure.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Wholesale Price Index - the percentage change in a country’s WPI inflation measure.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;6) Features that are calculated as quarter-on-quarter change:&lt;/span&gt;&lt;/p&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Government Spending - the percentage change in a country’s government spending.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Fixed Investment - the percentage change in a country’s assets.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Personal Consumption Expenditure - the percentage change in a country’s household expenditures.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Government debt - the percentage change in a country’s government debt.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Gross Domestic product - the percentage change in a country’s gross domestic product.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Read Gross domestic product - GDP adjusted for inflation.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GDP Price deflator -&amp;nbsp; the percentage change in a country’s price levels.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;7) Seasonally adjusted features - calculated using additive seasonal decomposition to break the series into trend, seasonal and noise components. Only the trend is extracted to get a seasonally adjusted signal. After seasonal adjustment, we calculate the month-on-month and year-on-year change.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;a) Seasonally adjusted Employment&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;b) Seasonally adjusted&amp;nbsp; Retail Sales Index&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;c) Seasonally adjusted Housing Starts&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;8) Total Credit to the non-financial sector-&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The measure of the credit given to non-financial sectors in selected developed economies. This is a leading indicator and can inform us about movement in indicators like Gross domestic product in the future. We calculate the quarter-on-quarter change for these features.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;9) Treasury Interest rate spreads - various combinations of spreads between sovereign yields of various maturities. These produce the slopes of the yield curves. Read more about the difference between term spread and term premium &lt;/span&gt;&lt;a href=&quot;https://russellinvestments.com/nz/blog/to-fear-or-not-to-fear-the-yield-curve&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10) Retail Inventory to Sales ratio - The percentage of inventory for durable and non-durable goods is sold. This can forecast changes in gross domestic product. We calculate the month-on-month change for these features.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;11) Feds Fund rate - daily percentage change in the interbank overnight rate at which excess reserves based on bank requirements are lent or borrowed. The FOMC makes its decisions about rate adjustments based on key economic indicators that may show signs of inflation, recession, or other issues that can affect sustainable economic growth.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-right: -36.1772pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Orderflow&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The underlying reason for the price movement for an asset is the imbalance of buyers and sellers. An onslaught of market sell orders portends a decrease in price and vice versa..&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Order flow is the signed transaction volume aggregated over a period of time and over many transactions in that period to create a more robust measure. It’s also positively correlated with the price movement. This feature is calculated using tick data from Algoseek with aggressor tags (which flag the trade as a buy or sell market order). The data is time-stamped at milliseconds. We aggregate the tick-based order flow to form order flow per minute.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;An example:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Order flow feature with time stamp 10:01 am will consider trades from 10:00:00 am 10:00:59 am &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Time&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Trade Size&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Aggressor Tag&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:01 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;B&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:03 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;S&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:09 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;B&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:19 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;S&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:37 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;S&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10:00:59 am&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;S&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The order flow would be 1-4+2-1-5-5=-9&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This would be reflect in our feature as Time:10:01 , Order flow :-9&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conclusion&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;With the &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;616 &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;features PredictNow.ai&amp;nbsp; has developed for&amp;nbsp; our subscribers, applying machine learning to risk management and portfolio optimization is easier than ever , especially given our built-in financial machine learning API. Our &lt;/span&gt;&lt;a href=&quot;https://www.predictnow.ai/blog/the-amazing-efficacy-of-cluster-based-feature-selection/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;features importance ranking and selection function&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; can indicate which of our&amp;nbsp; features are most important to predict a user’s portfolio or strategy’s return, so there’s no need to spend hours deciding on which features to include. . Ideally, a user&amp;nbsp; will also merge them with their own proprietary features to improve predictive accuracy. If you have any questions or would like to learn more about these features, download our detailed user manual &lt;/span&gt;&lt;a href=&quot;https://py.predictnow.ai/get_manual/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, or book a live demo and chat with one of our consultants &lt;span style=&quot;color: #1155cc;&quot;&gt;&lt;u&gt;&lt;a href=&quot;https://www.predictnow.ai/contact/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://epchan.blogspot.com/2021/09/welcome-to-our-feature-zoo-with-600.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-972319990222000638</guid><pubDate>Wed, 14 Jul 2021 11:50:00 +0000</pubDate><atom:updated>2021-07-15T20:47:23.222-04:00</atom:updated><title>Metalabeling and the duality between cross-sectional and time-series factors</title><description>&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;By Ernest Chan and Akshay Nautiyal&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;Features are inputs to supervised machine learning (ML)
models. In traditional finance, they are typically called “factors”, and they
are used in linear regression models to either explain or predict returns. In
the former usage, the factors are contemporaneous with the target returns,
while in the latter the factors must be from a prior period. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc8mxor122uQ0HTbPae-Z7oJkQ64NmQR6YUoQUU9vM1-wFe-9qJlYVQO713ADmmIqqWgU2705v4e3X7ygpI2LZgNWL8OpwRD070QOhJCGn0uXGns-iDLnXhMnnFWTCipBUk8LPGA/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;80&quot; data-original-width=&quot;899&quot; height=&quot;35&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc8mxor122uQ0HTbPae-Z7oJkQ64NmQR6YUoQUU9vM1-wFe-9qJlYVQO713ADmmIqqWgU2705v4e3X7ygpI2LZgNWL8OpwRD070QOhJCGn0uXGns-iDLnXhMnnFWTCipBUk8LPGA/w400-h35/image.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;There are generally two types of factors: cross-sectional vs
time-series. If you are modeling stock returns, cross-sectional factors are
variables that are specific to an individual stock, such as its earnings yield,
dividend yield, etc. In our previous &lt;a href=&quot;https://www.predictnow.ai/blog/introducing-pre-engineered-stock-fundamental-features-at-predictnow-ai/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt;blog post&lt;/span&gt;&lt;/a&gt;, we described how we provide 40 such
factors to our subscribers for backtesting and live predictions. But as we
advocate using ML for risk management and capital allocation purposes (i.e. &lt;a href=&quot;https://www.predictnow.ai/blog/what-is-the-probability-of-profit-of-your-next-trade-introducing-predictnow-ai/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #0563c1;&quot;&gt;metalabeling&lt;/span&gt;&lt;/a&gt;), not for returns predictions,
you may wonder how these factors can help predict the returns of your trading
strategy or portfolio. For example, if you have a long-short portfolio of tech
stocks such as AAPL, GOOG, AMZN, etc., and want to predict whether the
portfolio as a whole will be profitable in a certain market regime, does it
really make sense to have the earnings yields of AAPL, GOOG, and AMZN as
individual features? &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;Meanwhile, time-series factors are typically market-wide or
macroeconomic variables such as the familiar Fama-French 3-factors:market
(simply, the market index return), SMB (the relative return of small cap vs
large cap stocks), and HML (the relative return of value vs growth stocks).
These time-series factors are eminently suitable for metalabeling, because they
can be used to predict your portfolio or strategy’s returns. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuL3KgSz4hk44rMcG19REIKOxdzG7W4tYEHIzpp92DHQHeI9BBSH-kngwpwtI7stzC0QH_74BmT68p_G8JsoU31jWK7PYEqU3fGMuHYMYbqd4jpH5LOqztNlileLw9tKq61LpEbw/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;460&quot; data-original-width=&quot;863&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuL3KgSz4hk44rMcG19REIKOxdzG7W4tYEHIzpp92DHQHeI9BBSH-kngwpwtI7stzC0QH_74BmT68p_G8JsoU31jWK7PYEqU3fGMuHYMYbqd4jpH5LOqztNlileLw9tKq61LpEbw/w400-h214/image.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Given that there are many more obvious cross-sectional
factors than time-series factors available, it seems a pity that we cannot use
cross-sectional factors as features for metalabeling. Actually, we can –&amp;nbsp; Eugene Fama and Ken French themselves showed
us how. If we have a cross-sectional factor on a stock, all we need to do is to
use it to rank the stocks, form a long-short portfolio using the rankings, and
use the returns of this portfolio as a time-series factor. The long-short
portfolio is called a hedge portfolio.&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;We show the process of creation of a hedge portfolio with
the help of an example, starting with Sharadar’s fundamental cross-sectional
factors (which we generated as shown in the &lt;a href=&quot;https://www.predictnow.ai/blog/introducing-pre-engineered-stock-fundamental-features-at-predictnow-ai/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #1155cc;&quot;&gt;blog&lt;/span&gt;&lt;/a&gt;). There are 40 cross sectional factors
updated at three different frequencies - quarterly, yearly and twelve month
trailing. In this exercise, however, we use only the quarterly cross-sectional
factors. Given a factor like capex (capital expenditure), we consider the
normalized (the normalization procedure is found in the previously cited blog
post) capex of approximately 8500 stocks on particular dates from January 1st,
2010 till current date. There are 4 particular dates of interest every year
-&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;January 15th, April 15th, July 15th
and October 15th. We call these the ranking dates. On each of these dates we
find the percentile rank of the stock based on normalized capex. The dates are
carefully chosen to capture change in the cross sectional factors of the
maximum number of stocks post the quarterly filings. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;Once the capex across stocks is ranked at each ranking date
(4 dates) each year we obtain the stocks present in the upper quartile (i.e ranked
above 75 percentile) and the stocks present in the lower quartile (i.e ranked
below 25 percentile). We take a long position on the ones which showed highest
normalized capex and take a short position on the ones with the lowest. Both
these sets together make our long-short hedge portfolio. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;Once we have the portfolio on a given ranking date we
generate the daily returns of the portfolio using risk parity allocation (i.e
allocate proportional to inverse volatility). The daily returns of each chosen
stock are calculated for each day till the next ranking date. The portfolio
weights on each day are the normalized inverse of the rolling standard
deviation of returns for a two month window. These weights change on a daily
basis and are multiplied to the daily returns of individual stocks to get the
daily portfolio returns.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;If a portfolio
stock is delisted in between ranking dates we simply drop the stock and not use
it to calculate the portfolio returns. The daily returns generated in this
process are the capex time series factors. This process is repeated for all
other Sharadar cross-sectional factors.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;So, voila! 40 cross-sectional factors become 40 time-series
factors, and they can be used for metalabeling any portfolio or trading
strategy, whether it trades stocks, futures, FX, or anything at all.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;What about the opposite conversion? Can we turn time-series
factors into cross-sectional factors suitable for predicting the returns of
individual stocks? Actually, there is no need. You can directly add any time-series
factor to your feature set for predicting individual stock’s returns. This is
equivalent to building a linear factor model with an individual stock’s returns
as dependent variable and the time-series factor as independent variable, a
process well-known in traditional finance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;On a side note: besides these 40 time-series (and their
corresponding cross-sectional) features, we have compiled an additional 197
proprietary time-series features available to our &lt;a href=&quot;https://www.predictnow.ai/services/&quot; target=&quot;_blank&quot;&gt;Premium subscribers&lt;/a&gt;, and
available via our API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2021/07/metalabeling-and-duality-between-cross.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc8mxor122uQ0HTbPae-Z7oJkQ64NmQR6YUoQUU9vM1-wFe-9qJlYVQO713ADmmIqqWgU2705v4e3X7ygpI2LZgNWL8OpwRD070QOhJCGn0uXGns-iDLnXhMnnFWTCipBUk8LPGA/s72-w400-h35-c/image.png" height="72" width="72"/><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-6348613521602762622</guid><pubDate>Thu, 01 Apr 2021 10:58:00 +0000</pubDate><atom:updated>2021-04-01T07:24:57.662-04:00</atom:updated><title>Conditional Parameter Optimization: Adapting Parameters to Changing Market Regimes via Machine Learning</title><description>&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13pt; text-indent: 0.5in;&quot;&gt;Every trader knows that there are market regimes
that are favorable to their strategies, and other regimes that are not. Some
regimes are obvious, like bull vs bear markets, calm vs choppy markets, etc.
These regimes affect many strategies and portfolios (unless they are
market-neutral or volatility-neutral portfolios) and are readily observable and
identifiable (but perhaps not predictable). Other regimes are more subtle, and
may only affect your specific strategy. Regimes may change every day, and they may
not be observable. It is often not as simple as saying the market has two
regimes, and we are currently in regime 2 instead of 1. For example, with
respect to the profitability of your specific strategy, the market may have 5
different regimes. But it is not easy to specify exactly what those 5 regimes
are, and which of the 5 we are in today, not to mention predicting which regime
we &lt;/span&gt;&lt;i style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13pt; text-indent: 0.5in;&quot;&gt;will&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13pt; text-indent: 0.5in;&quot;&gt; be in tomorrow. We won’t even know
that there are exactly 5!&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Regime changes sometimes necessitate a complete
change of trading strategy (e.g. trading a mean-reverting instead of momentum
strategy). Other times, traders just need to change the parameters of their
existing trading strategy to adapt to a different regime. My colleagues and I
at PredictNow.ai have come up with a novel way of adapting the parameters of a
trading strategy, a technique we called “Conditional Parameter Optimization”
(CPO). This patent-pending invention allows traders to adapt new parameters as
frequently as they like—perhaps for every trading day or even every single
trade.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;CPO uses machine learning to place orders
optimally based on changing market conditions (&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;regimes&lt;/i&gt;) in any market. Traders in these markets typically already
possess a basic trading strategy that decides the timing, pricing, type, and/or
size of such orders. This trading strategy will usually have a small number of
adjustable trading parameters. Conventionally, they are often optimized based
on a fixed historical data set (“train set”). Alternatively, they may be
periodically reoptimized using an expanding or rolling train set. (The latter
is often called “Walk Forward Optimization”.) With a fixed train set, the
trading parameters clearly cannot adapt to changing regimes. With an expanding
train set, the trading parameters still cannot respond to rapidly changing
market conditions because the additional data is but a small fraction of the
existing train set. Even with a rolling train set, there is no evidence that
the parameters optimized in the most recent historical period gives better out-of-sample
performance. A too-small rolling train set will also give unstable and
unreliable predictive results given the lack of statistical significance. All
these conventional optimization procedures can be called &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;unconditional parameter optimization,&lt;/i&gt; as the trading parameters do
not intelligently respond to rapidly changing market conditions. Ideally, we
would like trading parameters that are much more sensitive to the market
conditions and yet are trained on a large enough amount of data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;To address this adaptability problem, we apply a
supervised machine learning algorithm (specifically, random forest with
boosting) to learn from a large predictor (“feature”) set that captures various
aspects of the prevailing market conditions, together with specific values of
the trading parameters, to predict the outcome of the trading strategy. (An
example outcome is the strategy’s future one-day return.) Once such
machine-learning model is trained to predict the outcome, we can apply it to
live trading by feeding in the features that represent the latest market
conditions as well as various combinations of the trading parameters. The set
of parameters that results in the optimal predicted outcome (e.g., the highest
future one-day return) will be selected as optimal, and will be adopted for the
trading strategy for the next period. The trader can make such predictions and
adjust the trading strategy as frequently as needed to respond to rapidly
changing market conditions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;In the example you can download &lt;/span&gt;&lt;a href=&quot;https://py.predictnow.ai/request_cpo_paper&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;, I illustrate how we apply CPO using
PredictNow.ai’s financial machine learning API to adapt the parameters of a
Bollinger Band-based mean reversion strategy on GLD (the gold ETF) and obtain
superior results which I highlight here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid #A3A3A3 1.0pt; mso-border-insideh: 1.0pt solid #A3A3A3; mso-border-insidev: 1.0pt solid #A3A3A3; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-layout-alt: fixed; mso-yfti-tbllook: 1536; width: 374px;&quot;&gt;
 &lt;tbody&gt;&lt;tr style=&quot;height: 0.5in; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: 1pt solid rgb(163, 163, 163); height: 0.5in; padding: 4pt; width: 75.75pt;&quot; valign=&quot;top&quot; width=&quot;101&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; break-after: avoid; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; page-break-after: avoid;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; break-after: avoid; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; page-break-after: avoid;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid rgb(163, 163, 163); height: 0.5in; mso-border-left-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 111.75pt;&quot; valign=&quot;top&quot; width=&quot;149&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; break-after: avoid; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; page-break-after: avoid;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;Unconditional Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid rgb(163, 163, 163); height: 0.5in; mso-border-left-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 93pt;&quot; valign=&quot;top&quot; width=&quot;124&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; break-after: avoid; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; page-break-after: avoid;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;Conditional Optimization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 22.5pt; mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid rgb(163, 163, 163); height: 22.5pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 75.75pt;&quot; valign=&quot;top&quot; width=&quot;101&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;Annual
  Return&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 111.75pt;&quot; valign=&quot;top&quot; width=&quot;149&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;17.29%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 93pt;&quot; valign=&quot;top&quot; width=&quot;124&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;19.77%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 22.5pt; mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid rgb(163, 163, 163); height: 22.5pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 75.75pt;&quot; valign=&quot;top&quot; width=&quot;101&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;Sharpe
  Ratio&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 111.75pt;&quot; valign=&quot;top&quot; width=&quot;149&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;1.947&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 93pt;&quot; valign=&quot;top&quot; width=&quot;124&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;2.325&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style=&quot;height: 22.5pt; mso-yfti-irow: 3; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid rgb(163, 163, 163); height: 22.5pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 75.75pt;&quot; valign=&quot;top&quot; width=&quot;101&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;Calmar
  Ratio&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 111.75pt;&quot; valign=&quot;top&quot; width=&quot;149&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;0.984&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid rgb(163, 163, 163); border-left: none; border-right: 1pt solid rgb(163, 163, 163); border-top: none; height: 22.5pt; mso-border-left-alt: solid #A3A3A3 1.0pt; mso-border-top-alt: solid #A3A3A3 1.0pt; padding: 4pt; width: 93pt;&quot; valign=&quot;top&quot; width=&quot;124&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; style=&quot;mso-fareast-font-family: Arial;&quot;&gt;1.454&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;The CPO technique is useful in industry
verticals other than finance as well – after all, optimization under time
varying and stochastic condition is a very general problem. For example, wait
times in a hospital emergency room may be minimized by optimizing various
parameters, such as staffing level, equipment and supplies readiness, discharge
rate, etc. Current state-of-the-art methods generally find the optimal
parameters by looking at what worked best on average in the past. There is also
no mathematical function that exactly determines wait time based on these
parameters. The CPO technique employs other variables such as time of day, day
of week, season, weather, whether there are recent mass events, etc. to predict
the wait time under various parameter combinations, and thereby find the
optimal combination under the current conditions in order to achieve the
shortest wait time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0in; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; text-indent: 0.5in;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;We can provide you with the scripts to run CPO
on your own strategy using Predictnow.ai’s API. Please email &lt;/span&gt;&lt;a href=&quot;mailto:info@predictnow.ai&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;info@predictnow.ai&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt; for a free trial.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 13pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://epchan.blogspot.com/2021/04/conditional-parameter-optimization.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-6248557703872005570</guid><pubDate>Fri, 22 Jan 2021 12:18:00 +0000</pubDate><atom:updated>2021-01-22T08:23:08.515-05:00</atom:updated><title>The Amazing Efficacy of Cluster-based Feature Selection</title><description>&lt;p&gt;One major impediment to widespread adoption of machine learning (ML) in investment management is their black-box nature: how would you explain to an investor why the machine makes a certain prediction? What&#39;s the intuition behind a certain ML trading strategy? How would you explain a major drawdown? This lack of &quot;interpretability&quot; is not just a problem for financial ML, it is a prevalent issue in applying ML to any domain. If you don’t understand the underlying mechanisms of a predictive model, you may not trust its predictions.&lt;/p&gt;&lt;p&gt;Feature importance ranking goes a long way towards providing better interpretability to ML models. The feature importance score indicates how much information a feature contributes when building a supervised learning model. The importance score is calculated for each feature in the dataset, allowing the features to be ranked. The investor can therefore see the most important predictors (features) used in the predictions, and in fact apply &quot;feature selection&quot; to only include those important features in the predictive model. However, as my colleague Nancy Xin Man and I have&amp;nbsp;demonstrated in&amp;nbsp;&lt;a href=&quot;https://doi.org/10.3905/jfds.2020.1.047&quot; target=&quot;_blank&quot;&gt;Man and Chan 2021a&lt;/a&gt;, common feature selection algorithms (e.g. MDA, LIME, SHAP) can exhibit high variability in the importance rankings of features: different random seeds often produce vastly different importance rankings. For e.g. if we run MDA on some cross validation set multiple times with different seeds, it is possible that a feature in a run is ranked at the top of the list but dropped to the bottom in the next run. This variability&amp;nbsp;of course eliminates any interpretability benefit of feature selection. Interestingly, despite this variability in importance ranking, feature selection still generally improves out-of-sample predictive performance on multiple data sets that we tested in the above paper. This may be due to the &quot;substitution effect&quot;: many alternative (substitute) features can be used to build predictive models with similar predictive power. (In linear regression, substitution effect is called &quot;collinearity&quot;.)&lt;/p&gt;&lt;p&gt;To reduce variability (or what we called &lt;i&gt;instability&lt;/i&gt;) in feature importance rankings and to improve interpretability, we found that LIME is generally preferable to SHAP, and definitely preferable to MDA. Another way to reduce&amp;nbsp;instability&amp;nbsp;is to increase the number of iterations during runs of the feature importance algorithms. In a typical implementation of MDA, every feature is permuted multiple
times. But standard implementations of LIME and SHAP have set the number of iterations to 1 by default, which isn&#39;t conducive to stability. In LIME, each instance and its
perturbed samples only fit one linear model, but we can perturb them multiple times to fit multiple linear models. In SHAP, we can permute the samples multiple times. Our experiments have shown that instability of the top ranked features do approximately converge to some minimum as the number of iterations increases; however, this minimum is not zero. So there remains some residual variability of the top ranked features, which may be attributable to the substitution effect as discussed before.&lt;/p&gt;&lt;p&gt;To further improve interpretability, we want to remove the residual variability.&amp;nbsp;&lt;a href=&quot;https://amzn.to/39lU6or&quot; target=&quot;_blank&quot;&gt;López de Prado, M. (2020)&lt;/a&gt; described a clustering method to cluster together features are that are similar and&amp;nbsp; should receive the same importance rankings. This promises to be a great way to remove the substitution effect. In our new paper &lt;a href=&quot;https://py.predictnow.ai/request_cmda_paper&quot; target=&quot;_blank&quot;&gt;Man and Chan 2021b&lt;/a&gt;, we applied a hierarchical clustering methodology prior to MDA feature selection to the same data sets we studied previously. This method is generally called cMDA. As they say in social media click baits, the results will (pleasantly) surprise you.&amp;nbsp;&lt;/p&gt;&lt;p&gt;For the benchmark &lt;a href=&quot;https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)&quot; target=&quot;_blank&quot;&gt;breast cancer dataset&lt;/a&gt;, the top two clusters found were:&lt;/p&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 0in 0in 0in; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 99.85pt;&quot; valign=&quot;top&quot; width=&quot;133&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Topic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 104.35pt;&quot; valign=&quot;top&quot; width=&quot;139&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Cluster Importance Scores&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in; width: 80pt;&quot; valign=&quot;top&quot; width=&quot;107&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Cluster Rank&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 99.85pt;&quot; valign=&quot;top&quot; width=&quot;133&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Geometry summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 104.35pt;&quot; valign=&quot;top&quot; width=&quot;139&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;0.360&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in; width: 80pt;&quot; valign=&quot;top&quot; width=&quot;107&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 10.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean radius&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean
  perimeter&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean area&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean
  compactness&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean
  concavity&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;mean concave
  points&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;radius
  error&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&#39;perimeter
  error&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;area error&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;worst
  radius&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;worst
  perimeter&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&#39;worst
  area&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;worst compactness&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;worst
  concavity&#39;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&amp;nbsp; &#39;worst concave
  points&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.5pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 99.85pt;&quot; valign=&quot;top&quot; width=&quot;133&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Texture summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 104.35pt;&quot; valign=&quot;top&quot; width=&quot;139&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;0.174&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in; width: 80pt;&quot; valign=&quot;top&quot; width=&quot;107&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 12pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 10.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 10.5pt;&quot;&gt;&#39;mean texture&#39;,
  &#39;worst texture&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Not only do these clusters have clear interpretations (provided by us as a &quot;Topic&quot;), these clusters almost never change in their top importance rankings under 100 random seeds!&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Closer to our financial focus, we also applied cMDA to a &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=517667&quot; target=&quot;_blank&quot;&gt;public dataset&lt;/a&gt; with features that may be useful for predicting S&amp;amp;P 500 index excess monthly returns. The two clusters found are&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; text-align: justify;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 105.65pt;&quot; valign=&quot;top&quot; width=&quot;141&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Topic&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 95.55pt;&quot; valign=&quot;top&quot; width=&quot;127&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Cluster Scores&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in; width: 76.7pt;&quot; valign=&quot;top&quot; width=&quot;102&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Cluster Rank&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.3pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Features&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 105.65pt;&quot; valign=&quot;top&quot; width=&quot;141&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Fundamental&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 95.55pt;&quot; valign=&quot;top&quot; width=&quot;127&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;0.667&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in; width: 76.7pt;&quot; valign=&quot;top&quot; width=&quot;102&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-ansi-language: ES; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.3pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;d/p, d/y, e/p, b/m, ntis, tbl, lty, dfy, dfr, infl&lt;/span&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-ansi-language: ES; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 105.65pt;&quot; valign=&quot;top&quot; width=&quot;141&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Technical&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 95.55pt;&quot; valign=&quot;top&quot; width=&quot;127&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;0.333&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in; width: 76.7pt;&quot; valign=&quot;top&quot; width=&quot;102&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14pt; mso-ansi-language: ES; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 96.3pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: normal; margin-bottom: 0in; mso-margin-top-alt: auto; vertical-align: baseline; word-break: break-all;&quot;&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;d/e, svar, ltr, tms&lt;/span&gt;&lt;span lang=&quot;ES&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12pt; mso-ansi-language: ES; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;The two clusters can clearly be interpreted as fundamental vs technical indicators, and their rankings don&#39;t change: fundamental indicators are always found to be more important than technical indicators in all 100 runs with different random seeds.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Finally, we apply this technique to our proprietary features for predicting the success of our &lt;a href=&quot;https://www.predictnow.ai/blog/what-is-the-probability-of-profit-of-your-next-trade-introducing-predictnow-ai/&quot; target=&quot;_blank&quot;&gt;Tail Reaper&lt;/a&gt; strategy. Again, the top 2 clusters are highly interpretable, and never change with random seeds. (Since these are proprietary features, we omit displaying them.)&amp;nbsp;&lt;/p&gt;&lt;p&gt;If we select only those clearly interpretable, top clusters of features as input to training our random forest, we find that their &lt;i&gt;out-of-sample&lt;/i&gt; predictive performances are also improved in many cases. For example, the accuracy of the S&amp;amp;P 500 monthly returns model improves from 0.517 to 0.583 when we use cMDA instead of MDA, while the AUC score improves from 0.716 to 0.779.&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in;&quot;&gt;&lt;span lang=&quot;EN-CA&quot; style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td colspan=&quot;3&quot; style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 188.1pt;&quot; valign=&quot;top&quot; width=&quot;251&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;S&amp;amp;P 500 monthly returns prediction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;F1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;AUC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;Acc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;cMDA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.576&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.779&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.583&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;MDA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.508&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.716&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.517&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;Full&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.167&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.467&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.333&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Meanwhile, the accuracy of the Tail Reaper metalabeling model improves from 0.529 to 0.614 when we use cMDA instead of MDA and select all clustered features with above-average importance scores, while the AUC score improves from 0.537 to 0.672.&lt;/p&gt;&lt;div&gt;&lt;div align=&quot;center&quot;&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style=&quot;border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;F1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;AUC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;Acc&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;cMDA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.658&lt;/span&gt;&lt;span lang=&quot;EN-CA&quot; style=&quot;font-size: 14pt; line-height: 110%; mso-ansi-language: EN-CA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: ZH-CN;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.672&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.614&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;MDA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.602&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.537&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.529&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;Full&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.481&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.416&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style=&quot;border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt; width: 62.7pt;&quot; valign=&quot;top&quot; width=&quot;84&quot;&gt;
  &lt;p class=&quot;Para&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 110%;&quot;&gt;0.414&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: left;&quot;&gt;This added bonus of improved predictive performance is a by-product of capturing all the important, interpretable features, while removing most of the unimportant, uninterpretable features.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;You can try out this hierarchical cluster-based feature selection for free on our financial machine learning SaaS &lt;a href=&quot;http://predictnow.ai&quot;&gt;predictnow.ai&lt;/a&gt;. You can use the no-code version, or ask for our &lt;a href=&quot;https://py.predictnow.ai/api_request&quot; target=&quot;_blank&quot;&gt;API&lt;/a&gt;. Details of our methodology can be found &lt;a href=&quot;https://py.predictnow.ai/request_cmda_paper&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;u&gt;Industry News&lt;/u&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Jay Dawani recently published a very readable, comprehensive guide to deep learning &quot;&lt;a href=&quot;https://amzn.to/34v6tuY&quot; target=&quot;_blank&quot;&gt;Hands-On Mathematics for Deep Learning&lt;/a&gt;&quot;.&lt;/li&gt;&lt;li&gt;Tradetron.tech is a new algo strategy marketplace that allows one to build algo strategies without coding and others to subscribe to them and take trades in their own linked brokerage accounts automatically. It can handle complex strategies such as arbitrage and options strategies. Currently some 400 algos are on offer.&lt;/li&gt;&lt;li&gt;Jonathan Landy, a Caltech physicist, together with 3 of his physicist friends, have started a deep data science and machine learning&amp;nbsp;&lt;a href=&quot;https://www.efavdb.com/&quot; target=&quot;_blank&quot;&gt;blog&lt;/a&gt;&amp;nbsp;with special emphasis on finance.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div align=&quot;center&quot;&gt;&lt;/div&gt;&lt;/div&gt;

&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class=&quot;Para&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;</description><link>http://epchan.blogspot.com/2021/01/the-amazing-efficacy-of-cluster-based.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>10</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-4442813725749998048</guid><pubDate>Thu, 06 Aug 2020 12:59:00 +0000</pubDate><atom:updated>2020-08-07T08:29:53.427-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Automated trading platforms</category><category domain="http://www.blogger.com/atom/ns#">Strategies</category><title>What is the probability of profit of your next trade? (Introducing PredictNow.Ai)</title><description>&lt;p style=&quot;margin: 0in;&quot;&gt;What is the probability of profit
of your next trade? You would think every trader can answer this simple
question. Say you look at your historical trades (live or backtest) and count
the winners and losers, and come up with a percentage of winning trades, say 60%. Is the probability of profit of your next trade 0.6? This might be a good
initial estimate, but it is also a completely useless number. Let me explain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;This 0.6 is what may be called an&amp;nbsp;&lt;i&gt;unconditional
probability&amp;nbsp;&lt;/i&gt;of profit. It is the same for every trade that you will
ever make (unless your winning ratio changes significantly in the future), so
it is useless as a guide to whether you should take the next specific trade or
not. It can of course tell you whether you should trade this strategy in
general (e.g. you may not want to trade a strategy with an unconditional
probability of profit, a.k.a. winning ratio, less than 0.51). But it can’t do
so on a trade-by-trade basis. The latter is the&amp;nbsp;&lt;i&gt;conditional probability&lt;/i&gt;&amp;nbsp;of
profit. As the adjective suggests, this probability is conditioned on the
specific market environment at the time when you expect to trade.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Let&#39;s say you are trading a short
volatility strategy. It can be an algorithmic, or even discretionary, strategy.
If you are trading it during a very calm market, it is likely that your
conditional probability of profit would be quite high. If you are trading
during a financial crisis, it could be very low. The conditions that can
determine the probability may even be quantifiable.&amp;nbsp; The level of VIX? The
recent SPY returns? How about the interest rate change or&amp;nbsp;&lt;a href=&quot;https://epchan.blogspot.com/2019/12/us-nonfarm-employment-prediction-using.html&quot; target=&quot;_blank&quot;&gt;Nonfarm Payroll&lt;/a&gt;&amp;nbsp;number just announced? Or even the % change in Covid-19 cases
on the previous day? You may not have taken all these myriad numbers into
account when you were building your simple trading strategy, or when you decide to
make a discretionary trade, but you can&#39;t deny they&amp;nbsp;may&amp;nbsp;have an
impact on the conditional probability of profit. So how are we to compute this
probability?&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;i&gt;Spoiler alert&lt;/i&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;: computing this conditional probability helped us earned 64% YTD return as of June 2020. You can find out how to do that with&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;&lt;a href=&quot;https://predictnow.ai&quot; target=&quot;_blank&quot;&gt;predictnow.ai&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;. But more on that later.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;The only known way to compute this
conditional probability is machine learning. Let&#39;s return to the example of
your short volatility strategy above. Suppose you prepare a spreadsheet of the
returns of the historical trades you have done, like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;





&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;img alt=&quot;Figure 1: Spreadsheet with historical returns of short vol trades.&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAACgCAYAAAAB4P5sAAATE0lEQVR4Ae2dz67ktBKH+z1Y3Xc4G3pzd/cRWJ0rseo1mvsAqDcsWPUWBgSCg0DA8J8eNAhpJHSQkJCQhtnN/ryGr8p22WU7+SXpSiedjo901E4nrriqPpeduJLePDw8mPpfbXAOBjbnEFplVliJgQpXjdxnG7kqXBWuClcdapc31NbIVSPX5UauX375xbx48WLV/2uOquT7Nv3Vkevp06erBuvvv/9uNW6b0a/pe6S/Gq7j8bhquP76669Vw4X0r3Aph/Q///xz1XAh/QfD9c8//yTG/Pnnn1cduf7444/EHtc05PXRBek/CC4C66effkqMSdtzTugfv/O6ee2dT2drw++//57Yo49D9MfcmdvNxmzC/43Z389zqwLp3xsuBuui4Hr+rvn3o7fMm4/eMo+Vw9upHeT58+czwSWAurs1m5u9uZ/htgrSvxdcEqwcrh9//HG2qPH0/TfMv99/ZvjzVEA09X777bf54brfm5uZ4EL6d8KVg5XD9cMPP8wE1zPz9qM3zNvPX5gXNoK9a57OEL2ePXs2O1z3+xtzs7+foR0PBukP4WoCK4fr+++/nweuBCgB2sSA0X0+/Rxq6Hwpm3PNFLVIb6R/K1xtYF0KXPlQmG9rhrohdXN7TAMawZXNuTa35m6GORfSvxEuBFYu7Lvvvpshcn1q3vzv6+a14n/6iT1F7mmAktEtg+sh35bHnreM9C/g6gIrh+vbb7+dHq4nb5nXHuVzLBoaXzdvPpl2nfObb76ZHy66WpwpciH9E7j6gHUJcNG9LbpKzIcvGhqnvuf11VdfzQTXZdznQvoHuPqClcNF5OZOXtP2F198MQNc5x3qhgzzSH8L1xCwcriePHmyarg+++yzVcOF9A+Rawit8ti1w/XJJ5+sGi6kvxqur7/+etWR66OPPlo1XEh/NVz/+t9/zNr/ZSRfW/mDDz5o7VwbWnik9aFff/3VUMoyJf/ReiHdv6DJOkWmL7/80nz++eeGxlcKgx9//LH58MMPzePHj8177723erjIBvW/tIE6cpFR1/z38uXLNatvkP4VLiUayLhK0YuojvSvcCldiIyrFL2I6kj/CpfShci4StGLqI70r3ApXYiMqxS9iOpI/2XBddyZzfZgXl2Q2ZFxL6iZZ2sK0l/A5RLQhmY0xqvFo9mFBwbkoiqVd+Y4hnoKuI67jdnsuBWvzGGbt3Fjwu4BbU2N2yR3mO6vDlvRzgENmenQVP+0ERYuSpOllI39CemyES4h+NXBbDdbcxg7xIwM11Y2kGRvNib5TqjUVkyN6+CSMlKo26TE768OLr6rfEoudn+4KLJtzeHgnBiimQUxRpEkeiT7fN1kWMwjRXuUSJ1cQmDdawFrlxERiKUuuEzRIdranH/PoLvvE7skMpvsynXkaHKGzm5M//tc54crHyKPZidgsb02bDsDxSjgDRX2G5MCY0xaPwJApfTYXDYf686ROJJ3tXxiuNx54nCct6Nscxm5GBTRgAKu3K7+vGL0SPUXspTFVP9UmJhzPZgp4IKOs5HKRw5Z5jZLo9r9eW/0vbhhOE6Ne1644sOqHH28Aj3afCpcqV27gGSD6j8vGi5rzORCwMNFIOUXAgVccTiNDs2BcwacEq4QbXMdLFy4zRUu8ZTJsDlXdkXWaPwhkav//KgXXHl7enTstOfmETHbborG2TkqXGeCywIQopWb/4QowL0+zLkyx2VOyjc74fLyw/lyAS3bGC472RMRuLvNFq6goztp0vbCDk3zRHeeZKiUUb9Fl1O+TvVPJcw+53JAuaFieziYXYDL0GzXbMOQuTNH2k4M74wYh8RN603WxEGmoZ6Y/KYmwlupcZvgyZ3fcG6pk9A5gu5kOD135piAksun9rpzXBRcfEtiyGfjsIj9cVV7U7iuSrVeyiD9k8g1BCo+tsJV87naKKxwtVmm5/eo5/YUsejDkP4VLqVrkXGVohdRHek/Sg49naD+VxvkDNTIpYwPqOcqRS+iOtK/wqV0ITKuUvQiqiP9K1xKFyLjKkUvojrSv8KldCEyrlL0Iqoj/StcShci4ypFL6I60r/CpXQhMq5S9AzV5dJUnhRAy0xlxgnS38Ll0pw5FWTYuzXXcIee04LiWl/0OzJuPGqkklh3pHXGZO2w4RSt7W6TQ2uWXijVlfrS2mzT+ZD+mwd6n+btXXiZhAVNbPMyT9vndcPlFoW3h6N9oEMam32JjMvHjPPJbfGZkDY9qIwk7lx8bFO7eV8px8LIBGWgMXS5Lkj/clgc+ML864aLTdmU7eD2IeNy7VE+LUxyqGrIfChO1NBuJIf2+QyNELlslJPnTU+C9C/hope31siVWtCnsMwZuWxUkak5oE2x8SVcWI47PqT2NKXuROG21B8uiloD3wpcI9c0WRElFO5hjybgo//7wNUux56ThkkxR8vP1wsuO9c64ZcYKlxzwVWCE6HiUnlMCWl5jK1NQNlI6fa7qRjN19J5Xidcpzz1wxP8Ctc0cNnnH2WWbo8hizNSk2iD5lzMpJEQEVwMlCy7gzFcNBQOmGMxVPxZ4ZoILutwcTsggcRFl/KKzn2fwAXlOGDotkOs42TEyJVO7jFc9tcX+B4Xf4rflREPYzBQ8vO64XKX7UmOfvbIPzJuCARjFcTcZ5MMTzlcHe1uleMfKEkuHPghE37OIX0oFOlfXi12wCTBovJ1w9VNBTJud+3lH4H0r3Ap/YuMqxS9iOpI/wqX0oXIuErRi6iO9K9wKV2IjKsUvYjqSP+aQ1/z/8/2/EONXMr4gHquUvQiqiP9K1xKFyLjKkUvojrSv8KldCEyrlL0Iqoj/StcShci4ypFL6I60r/CpXQhMq5S9CKqI/0rXEoXIuMqRc9Q3S8j2ddWpWuIJlnMjk1D+lu47m55TXFjNgPTbq59+cemqIR3hImFY29fZNzogpFKyZpg2RZ5lrTdGShtcmgx3Kc5U/24eO1yvvwueZqutznfm/0+5tBb0AZkSVw1XOQEsYjrHJY6ajq43GJ0cLjNiuBUmMTftNKcvCU7ffFduxyrHxOUgcbQ5WdC+pfDYk1zzu0Xt22PTx2KjBsrjlBKUmxInkyFwfItNNxJkBza548LkcvqnHYoeTakfwEXRa7bu4fwNFCeBZFvX3XkklakcuEY/JL/vLpmOwHECnJwhUjWKjyNVFhOPufqBrgbLpHTNQSsdaXcNDsTGbfV3yfsKKFoz3234m1H8HNpHursa2a3ITpxM9LkQP7W/wAD1RVztBxmpH9j5BoyqV9L5LLzFh5aov3hhFYcNqhoQQoXEW5IKuFqhr3pRE7eQDlhvimjF0XB/tOCAi77kOyAJ4DWAFcbWORI1HObHH3yd8WQLJ3eIVXOFXvJkRDReRgoWXbnRPpvHu73Zi/mWEOfArpuuJwDeZLb5EJk3KbjT//OzZ3CCJdA4tvJOwkmLvNQGB7uQHJc69Jh0sl24qhuOrlH+rvH+UMIrve5EufLeYu0kXAcMm4ia4wNMffBOfQettBmjjy+Ea1yag79GG4aTcakcI3W6vEEIf0b5lz9b0Os62qx2SHIuM01rutbpH+FS+lrZFyl6EVUR/pXuJQuRMZVil5EdaR/zaGvOfQ1h/5SuzHquZfa5jHbhfSvw6LS0si4StGLqI70r3ApXYiMqxS9iOpI/wqX0oXIuErRi6iO9K9wKV2IjKsUvYjqSP8Kl9KFyLhK0TNUl8tG6RriyTn0MQHwztxuarKg9GpT+ovcPylcyZogzqF3iY38bARaWxRyaC3Vr5uS3jJ3ixazxZJqMAHSP4lcNiOiwhUMh3PR3WHIuELQCEWXzRAcbhfVM2j4LPk+u82RqF2O7UhMUAYaQ8en4E+kf4TLv39+X9Oc2W7FpzV+ljCIjFsI0HyRAEKCZCpMKrhsJwHlQURyaN/4OfT3Zn/jXlVZc+hTR8WtrMf7HVPBVQLj4AqRLDa0IdfftZ2CEpaTz7naAebTIf1t5CKgbvb39qGMChebzX/anl7movNRyLh8zBifJRQ4h95mz4p8ru3WzZmGyLHHOiLN1svKYUb6bx6yR8kqXO0oWGMPyMRsl4T3uPPwZHxg7nuj6L6RS1Smiwc7RMroJYZXfyiEa3/DSqSfHMnilWRzntd1pzkLY1PRXq2lk2hk3Ky2bhPNlboky7qybOtJeFiQhIj2s86y7I5F+scJvX+Lc41cbGAPE189Fbno3cYVkkYoxuhjhSWQOECar+hcvTicITmumSPm0KcRqcIlOfBOE3OXQ/oa9ume/qFmJfe5OJrYHfYn+wJcyXHyBwu8bsl+Kafm0Evvz15Gw8LsjZugAUj/YljsmmPl+1c152pwFjJuw+FX9xXSv8KldDcyrlL0Iqoj/StcShci4ypFL6I60r/m0Ncc+ppDf6ndGPXcS23zmO1C+tdhUWlpZFyl6EVUR/pXuJQuRMZVil5EdaR/hUvpQmRcpehFVEf6V7iULkTGVYpeRHWkf4VL6UJkXKXoGarL5S7OXOVmyMVs/g6//M7CxenN4bec66vCo/V8ifOj4gKw2zEpXMmaYHNOOze8KW2H96VrlEIOLYb7hXqqL3U9OYee4Br6ol1eBlrF8g8Zfbszu225CDwdXFl2g82KyBadAz0X9B76oZkQDBZ9Xj9cbqjYHd2n7M3ky8ngSlJs6MzcrkBUa8FGMc79R3JsJzoYSvwIkctGy3yIjKdC+tthkeAKQ+KAl+2uAS7rGDtUzAtXAoj1bXN7otu5lEY8LMfJdCwQUN0Ad8IlI1F94S47hfOnuNc2OxMZV0hSF0socA598txinvDIUcy3Kk0OjE0NHUvM9YZE7oarxfgkkISurXy9w2Leay8Nrub2RDRiyULic/9LSFvkEFDaHPoSGnrq+tbc+bTncn+auXq9cLnhJE4XxNRB9PypIlf50zA5/BGmomQjj5/8ozlXqChvO9B5+MJBlt3BSH/3qnBx68EOi2J7vXAFS/tCcw9Hxs0l6LYd7GGESyBxbePbCPZWQzjQP6sYnlpCclwL02HSyXbiqC5PE9yxSP/6HvreHp8bLp4DcgTlaEIKZHDxdlvuv5hDpe+zrzn0vXGY4kDUc6c4/9znQPo3TOjTOVUdFrH7kHFxzevYi/SvcCl9jIyrFL2I6kj/CpfShci4StGLqI70rzn0NYe+5tBfajdGPfdS2zxmu5D+dVhUWhoZVyl6EdWR/hUupQuRcZWiF1Ed6V/hUroQGVcpehHVkf4VLqULkXGVohdRHelf4VK6EBlXKXqG6n4ZyS4bpWuIuvfQ0+sreS3qZm/uV58VQb6VxvZremJBmI6YFK5kTVDkvhcYdrS7TQ4thnv9KDVH5m6dnENv34s6ACi5JHS9KTcRroynxJXTweWyGYLDbVaEXLyWzXJwNbe7XU5IDiRRGWgMnTwLlZH+m4cHSg7sn78lwaJyhetlbu/zbCcpNnQKBBDYh+TQPp+rFiKXjXL5EBlVxHDRjxvc7o188e6QJ4HWAFeYLvAPBUTbwp4rDlMXe2eQ2jPlw2KMcFiOrEdAAUi9RhguP9eKQFEmqvvBgzxKNW1fN1wpE9YxA5Ll0tq6rRKKjhx6cTrZ7iFy7LE0too5WhiWvfxuuLL5Fj0NVF8VLrwTilkWZ8ecI1QboVBC4aJK7uzmU8V295ZDQKlz6P1v/sirwyHPMa4pcrkeHIcYciTquc2OPvFbNFfqEmkjj293LzkEI+tJEDeV3UmR/n5CL34Gj2CrD2hYyx13bFRnSLoc5wkv+xMZl48Z5zNGHysvgcTPlfzlIW43kuNaOmIOPWWeut9ZdBPX/vOtq79atA7knPUSLHLFdHANyKHvareYQ9Uc+nG6/lmkTArXWTTQCUX61+UfnW2njVzKtp6jeoXrHFb1MpFxz3jaixGN9K+RS+kmZFyl6EVUR/rXHPqaQ2+HdoJk7P8auZTxAfVcpehFVEf6V7iULkTGVYpeRHWkf4VL6UJkXKXoRVRH+le4lC5ExlWKXkR1pH+FS+lCZFyl6EVUR/pXuJQuRMZVip6hul+jHC2HXubOcw79pqbcSM/aNJVgm3Qxe1K4kjVBlEOfr0OKY/N1x6DXzhxpn1/8Jp1lOs/pOfTyYYyaFSG5sq/MzjMh5AHTweWyGYLDLSQp6LFdQ451SYcEle1EnHifgcbQxXO4EtK/GBaH5HJdfVaEISe1ObDbuLkjVNsWJpnL7oYwZiGRPeTYPNdr1Bz6PGplWalNqc3yu6tOFvSG325F2k3mTdRzE4crN3pnkNoRcZvlnTkQQ9QTbbE5akGnfM4FAPYykP5J5BqS3syAXTVc+dDj5zzBFxPmc5VwtefQ9z82SxwU0FExDJNirpcD2hOuYa8IXw9c5VAkDYyMm/lKtVkC0x6N+h5bHieaSECpc+h5WKSrxgGvCF8FXH5YPNCP4di/0qFTwTXoPfS95lwoasm5JunM805ZdhZB+odhcehEfhVw+ef2QqTKh8kJh0X3rob8lgJHVQd9vKLLwClgy99N7/uO/xgrh/7/ZNqjWrXQU1gAAAAASUVORK5CYII=&quot; title=&quot;Figure 1: Spreadsheet with historical returns of short vol trades.&quot; /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
1: Spreadsheet with historical returns of short vol trades.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Again, these trades could be due to
an algorithm, or it could be discretionary (perhaps based on some combination
of fundamental analysis and intuition like what Warren Buffet does).&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;



&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Now let&#39;s say we only care about
whether they are profitable or not, so we ignore the magnitude of returns and
label those trades that are profitable 1, otherwise 0. (These are called
&quot;metalabels&quot; by&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/dp/1119482089/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=d7381a1bc4fd7adf25c210b2967e15be&amp;amp;creativeASIN=1119482089&quot; target=&quot;_blank&quot;&gt;Marcos Lopez de Prado&lt;/a&gt;, who pioneered this financial machine learning technique. &lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;They are “meta” because he
assumed the original simple strategy is used to predict the ups and downs of
the market itself – those are the base predictions, or labels. The metalabels
are on whether those base predictions are correct or not.&lt;/span&gt;) &lt;/span&gt;The resulting
spreadsheet looks like this.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;img alt=&quot;Figure 2: Spreadsheet with labels: is historical return of short vol strategy profitable?&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 2: Spreadsheet with labels: is historical return of short vol strategy profitable?&quot; /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
2: Spreadsheet with labels: are historical returns of short vol strategy
profitable?&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Simple, right? Now comes the hard
part. Your intuition tells you that there are some variables that you didn&#39;t
take into account in your original, simple, trading strategy. There are just
too many of these variables, and you don&#39;t know how to incorporate them to
improve your trading strategy. You don&#39;t even know if some of them are useless.
But that&#39;s not a problem for machine learning. You can add as many variables,
called features / predictors / independent variables, as you like, useful or
not. The machine learning algorithm will get rid of the useless features via a
process called&amp;nbsp;&lt;a href=&quot;https://arxiv.org/abs/2005.12483&quot; target=&quot;_blank&quot;&gt;feature selection&lt;/a&gt;.
But more on that later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;



&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;So let&#39;s say for every historical
trade (represented by a row in the spreadsheet), you collect some features like
VIX, 1-day SPY return, change in interest rate on the previous day, etc. We
must, of course, ensure that these features&#39; values were known prior to each
trade&#39;s entry time, otherwise there will be look-ahead bias and you won&#39;t be
able to use this system for live trading. So here is how your spreadsheet
augmented with features may look:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;img alt=&quot;Figure 3: Spreadsheet with features augmented.&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 3: Spreadsheet with features augmented.&quot; /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
3: Spreadsheet with features augmented.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;OK, now that you have prepared all
these historical data, how do you build (or &quot;train&quot;, in machine
learning parlance) a predictive model based on that? You may not know it, but
you have probably used the simplest kind of machine learning model already,
maybe way back in a college statistics class. It is called linear regression,
or its close sibling logistic regression for our binary (profit or not) classification
problem. Those features that you created above are just the independent
variables, often called X (a vector of many variables), and the labels are just
the dependent variable often called Y (with values of 0 or 1). But applying
linear or logistic regression on a large, disparate set of features to predict
a label usually fails, because many relationships cannot be captured by a
linear model. The nonlinear co-dependences between these
predictors need to be discovered and utilized. For example, maybe when VIX
&amp;lt;= 15, the 1-day SPY return isn&#39;t useful for predicting the probability of
profit of your trade. But when VIX &amp;gt;= 15, 1-day SPY return is very useful.
This type of relationship is best discovered using a &quot;supervised&quot; hierarchical
learning algorithm called random forest, which is what we have implemented
on&amp;nbsp;&lt;a href=&quot;https://predictnow.ai/&quot; target=&quot;_blank&quot;&gt;predictnow.ai&lt;/a&gt;.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;



&lt;span style=&quot;font-size: 11pt; line-height: 107%;&quot;&gt;A random forest algorithm may discover the
hypothetical relationship between VIX, 1-day SPY return, …, and whether your
short vol trade will be profitable as illustrated in this schematic
diagram:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglcPp1jgBGLDChya6r6NoDfZPtakHZLoUaxIR4zPR3_U6Jt_Jzl5k_iJAj2zSPekIC01Cp0nm4Hp4iRzgr5dVkuRiqKc1Hz2rNwbRVR3coUUx9dmOwD8cNIxBNoB9bf1ClSNMUBg/s807/Figure+4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Figure 4: Example classification tree generated by predictnow.ai internally.&quot; border=&quot;0&quot; data-original-height=&quot;807&quot; data-original-width=&quot;605&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglcPp1jgBGLDChya6r6NoDfZPtakHZLoUaxIR4zPR3_U6Jt_Jzl5k_iJAj2zSPekIC01Cp0nm4Hp4iRzgr5dVkuRiqKc1Hz2rNwbRVR3coUUx9dmOwD8cNIxBNoB9bf1ClSNMUBg/d/Figure+4.png&quot; title=&quot;Figure 4: Example classification tree generated by predictnow.ai internally.&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
4: Example classification tree generated by predictnow.ai internally.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;To build this tree, and all its cousins
that together form a &quot;random forest&quot;, all you need to do is to upload
your spreadsheet above to&amp;nbsp;&lt;a href=&quot;https://predictnow.ai/&quot; target=&quot;_blank&quot;&gt;predictnow.ai&lt;/a&gt;,
click a button, and it will probably be done in less than 15 minutes, often
much sooner. (Certainly faster than a pizza delivery.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;img alt=&quot;Figure 5: Choosing training mode at predictnow.ai.&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 5: Choosing training mode at predictnow.ai.&quot; /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
5: Choosing training mode at predictnow.ai.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;img alt=&quot;Figure 6: Uploading training data.&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 6: Uploading training data.&quot; /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; text-align: left;&quot;&gt;Figure
6: Uploading training data.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;img alt=&quot;Figure 7: Choosing hyperparameters for building random forest.&quot; src=&quot;data:image/png;base64,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0dIAyV7P8QqO8gSNXTvZPr488A6ketDpblt7Sy31dlcwu2DY2M74zD4XB5NERcehaxukq9TCzNYmXfo6Rt1T0vv0dzUytgVnu8NkRj7ixosoDAPL7vPxbLGXSP+nBCu01FS3srw2R256BHceBFPVPv/W+TXbnE5GWRcX59u0FLazcdm04TodJeYxHJNNhPs+5v7jcKoHXIY76DKjeRSSiUrhh6ZtFtc62lf/R5wfYCpI5e79RzxNK2V6dYWqdH9uvQhBP7DK+Uo/Qf4veeabztDyGaujRup6Pef3SH0eDx8/JTS2io0TOHaOU6trxc25NkpD9winu5Okh2Qx4Pol53yDhrIcRtwL967+lcvfIvDhBCTAfThLKek7Fjja3WDRsYxjspuwkBDMg78zXPEd108O/wEETtfJSgnHMPHnsa5ovrmckHQjO1eDjB+A6M+qiNNVMpLDqZl6v3/LR7ubOJccOOf6ifUJonrU85UefyqTjkIlcSVdry7g+lMdV47zaQpIgPs0+/3PstXTLXqePH7M7ce+ZFtGXn3dxZ9lYz/hRp0c77Bz9OeReI4P9tk7eD1i9gl369c2/eRoh9337O+59kp8Hzzizj1vlFWjnL0eLP7a8j/cGxfs7+5z+HqFwYcrWkoSgXcISIB7B4psEgEREAEREAEREIHrLCAB7jr3jtRNBERABERABERABN4hIAHuHSiySQREQAREQAREQASus4AEuOvcO1I3ERABERABERABEXiHgAS4d6DIJhEQAREQAREQARG4zgIS4K5z70jdREAEREAEREAEROAdAhLg3oEim0RABERABERABETgOgtIgLvOvSN1EwEREAEREAEREIF3CEiAeweKbBIBERABERABERCB6ywgAe46947UTQREQAREQAREQATeISAB7h0oskkEREAEREAEREAErrOABLjr3DtSNxEQAREQAREQARF4h4AEuHegyCYR+NQEOieg0AKto3DxDTcAP9910ts8zsG3BDrbmKS6pZlN133bt8ZR5RVhtrVQ3zXK0bcp6+KY3o4aOhb2vs2n3tp3aWkJm81Gd3c3BwfftiVvFfVHvxjtNWGzb/zR5UgBIiACn56ABLhPr8+lxSLwSuDkFPQ2yKiGrBrP33mNcHTi2WV9voP4x8/44sYjItIbWZxuJvjzDBZflfCeT/acdI+OcQj0Z2YQ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&quot; title=&quot;Figure 7: Choosing hyperparameters for building random forest.&quot; /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-size: 14.6667px; line-height: 107%;&quot;&gt;&lt;font face=&quot;&quot;&gt;Figure 7: Choosing hyperparameters for building random forest.&lt;/font&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-size: 14.6667px; line-height: 107%;&quot;&gt;&lt;font face=&quot;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-size: 14.6667px; line-height: 107%;&quot;&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Once this random forest is built
(trained) with historical data, it is ready for your live trading. You can just
plug in the latest values for VIX, 1-day SPY, and any other features into a new
spreadsheet like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;img alt=&quot;Figure 8: Live trading input&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 8: Live trading input&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
8: Live trading input.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Notice that the format of this
spreadsheet is the same as the training data, except that there is no known
Return of course - we are hoping to predict that! You can upload this to&amp;nbsp;&lt;a href=&quot;https://predictnow.ai/&quot; target=&quot;_blank&quot;&gt;predictnow.ai&lt;/a&gt; together with the model you
just trained, press PREDICT,&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
9: Live prediction.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;and
voila! You can now download the random forest&#39;s prediction of whether that
trade will be profitable, and&amp;nbsp;with what&lt;b&gt;&amp;nbsp;conditional probability&lt;/b&gt;.
&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: left;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkmd0dHN6BKl6UhrlhV_PqVqkepiwopFmFT9SliuZ0o5V2ppx9I0FEkhxuAN7iMTmhTmfUBygdcIkTEHifYnVCCpMW6YiE7-ufQOuohx6yj3R34XKZFUBNVeQ-_23EypaWOE0fA/s124/Figure+10.PNG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;76&quot; data-original-width=&quot;124&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkmd0dHN6BKl6UhrlhV_PqVqkepiwopFmFT9SliuZ0o5V2ppx9I0FEkhxuAN7iMTmhTmfUBygdcIkTEHifYnVCCpMW6YiE7-ufQOuohx6yj3R34XKZFUBNVeQ-_23EypaWOE0fA/s0/Figure+10.PNG&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; style=&quot;text-align: left;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt;&quot;&gt;Figure
10: Live prediction, with probability.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;One of the output files (left in
Figure 10) tells you the most likely outcome of your trade: profit or not. The
other file (right one in Figure 10) tells you the probability of that outcome. &lt;b&gt;You
can use that probability to size your trade.&lt;/b&gt; For example, you may decide
that if the probability of profit is higher than 0.6, you will buy $10K of
TSLA. But if the probability is between 0.51 and 0.6, you will only buy $5K,
while if the probability is lower than 0.51, you won’t buy at all.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;Typically the live prediction will
take 1 second or less, while the training (which may not need to be re-done
more than once a quarter) typically won&#39;t take more than 15 minutes even for
thousands of rows of historical data with 100 features&lt;span style=&quot;background-color: white;&quot;&gt;. &lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;You can make live predictions as frequently as you
like (&lt;i&gt;i.e.&lt;/i&gt; as frequently as your input changes), but if you are a high
frequency trader, you would want to use our API so that our predictions can be
seamlessly integrated with your trading system.&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;But predicting the conditional
probability of profit for your next trade is not all that we can do. We can
also tell you what features are important in making that prediction. In fact,
you may be more interested in that than a black-box prediction, because this
list of important features, sorted in decreasing order of importance, may help
you improve your underlying simple trading strategy. In other words, it can help
improves your intuition about what works with your strategy, so you can change
your trading rules.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;



&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;Going back to our example, &lt;a href=&quot;https://predictnow.ai/&quot; target=&quot;_blank&quot;&gt;predictnow.ai&lt;/a&gt; can generate such a graph for
you:&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq_-b7RtfTgYzntAxTusbKQtL7yl4D0J4vC_GX5Yzgpyc3Fx53-UH5M3PLQLUDnJVWh1n05noSPYWf40nkUoD2Pk6DWbbABLOJyr_Dtefa6-PXYZM9syIpL291fPZrIZoqPCxgdw/s767/fake_features+%2528cropped%2529.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;373&quot; data-original-width=&quot;767&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq_-b7RtfTgYzntAxTusbKQtL7yl4D0J4vC_GX5Yzgpyc3Fx53-UH5M3PLQLUDnJVWh1n05noSPYWf40nkUoD2Pk6DWbbABLOJyr_Dtefa6-PXYZM9syIpL291fPZrIZoqPCxgdw/s640/fake_features+%2528cropped%2529.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;Figure 11: Features with decreasing importance&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;You can see that VIX was deemed the most
important feature, followed by 1-day SPY return, the latest interest rate
change, and so on. Our internal predictive algorithm will actually remove all
features that are &quot;below average&quot; and retrain the model, but you may
benefit from incorporating just VIX and 1-day SPY return in your simple
strategy when it generates a trading signal. Remember, your simple strategy
does not need to be an algorithmic strategy. It could be discretionary.&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;(For the machine learning&amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;mavens&amp;nbsp;&lt;/span&gt;among you, we use SHAP for feature selection, as discussed in our&amp;nbsp;&lt;a href=&quot;https://arxiv.org/abs/2005.12483&quot; target=&quot;_blank&quot;&gt;paper&lt;/a&gt;.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;You may wonder why our predictive service is restricted to only taking your strategy’s historical or live trades as input and predicting their probabilities of profit. Why can’t it be used directly to predict the market’s return? Of course it can: you only need to pretend that your strategy is buy-and-holding the market. It can even predict the magnitude, not just the sign, of the return. But as we all know, it is very hard to predict the market’s movement, because of low signal-to-noise ratio. Your own strategy, however, has presumably found a way to filter out those noise, and machine learning prediction is more likely to succeed in telling you what “regime” is favorable/unfavorable to your strategy, and with what probability. Another usage of our service is to use it to predict numbers that are not subject to arbitrage, things such as a company’s earning surprise, credit rating change, or the US nonfarm payroll surprise (as we have already &lt;a href=&quot;https://epchan.blogspot.com/2019/12/us-nonfarm-employment-prediction-using.html&quot; target=&quot;_blank&quot;&gt;done&lt;/a&gt; successfully). In these usages, there are no adversaries (your fellow traders) that are trying their hardest to arbitrage away your trading alpha, so these predictions will be more likely to work far into the future.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;(For machine learning mavens, you may
wonder why we have only implemented random forest learning algorithm. The
beauty of random forest is that it is simple, but not too simple. Complicated
deep learning algorithms such as LSTM can indeed take into account the time series
dependence of the features and labels more readily, but they run serious risk
of data snooping due to the large number of parameters to fit. GPT-3, the
latest and hottest deep learning algorithm for natural language processing, for
example, has more than 175 &lt;i&gt;billion&lt;/i&gt; parameters to fit. Imagine fitting
that to 1,000 historical trades!)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;So does this stuff really work? We
have implemented this machine learning system for our&amp;nbsp;&lt;a href=&quot;http://www.qtscm.com/accounts&quot; target=&quot;_blank&quot;&gt;Tail Reaper strategy&lt;/a&gt;&amp;nbsp;in our fund
around the August of 2019. Yes, the 64% YTD return as of June 2020 (net of 25%
incentive fee!) is nice, but what&#39;s more amazing is that the machine learning
program told us to not enter any trade (due to the low conditional probability
of profit) from Nov 2019 - Jan 2020. In retrospect, that made sense because
Tail Reaper is a crisis alpha, tail hedge strategy. There was no crisis, no
tail movement, from which to reap profits in those calm months. But suddenly,
starting on February 1, 2020, this machine learning program told us to expect a
crisis. We thought the machine learning program was nuts - there were just a
handful of Covid-19 cases in the US at that time! Nonetheless we followed its
advice and restarted Tail Reaper. It went on to capture over 12% return later
that month, and the rest is history.&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&lt;font face=&quot;inherit&quot;&gt;&lt;i&gt;(Past
performance is not necessarily indicative of future results. For detailed
disclosure of this strategy, please visit qtscm.com.)&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;img alt=&quot;Figure 12: Tail Reaper equity curve&quot; src=&quot;data:image/png;base64,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&quot; title=&quot;Figure 12: Tail Reaper equity curve&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Figure
12: Tail Reaper equity curve.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;For readers interested
in a free trial or to participate in a live webinar on how to use&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;a href=&quot;http://predictnow.ai&quot;&gt;predictnow.ai&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;&amp;nbsp;to predict the conditional probability of
profit of your trades, please sign up&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;https://predictnow.ai/register&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;here&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;span style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;&quot;&gt;

&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in 0in 0.0001pt; text-align: center;&quot;&gt;&lt;o:p&gt;&lt;span face=&quot;&quot; style=&quot;font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0in;&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div&gt;
&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2020/07/what-is-probability-of-profit-of-your.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglcPp1jgBGLDChya6r6NoDfZPtakHZLoUaxIR4zPR3_U6Jt_Jzl5k_iJAj2zSPekIC01Cp0nm4Hp4iRzgr5dVkuRiqKc1Hz2rNwbRVR3coUUx9dmOwD8cNIxBNoB9bf1ClSNMUBg/s72-c-d/Figure+4.png" height="72" width="72"/><thr:total>31</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-2803839927100289257</guid><pubDate>Thu, 05 Mar 2020 13:37:00 +0000</pubDate><atom:updated>2020-03-05T08:48:58.813-05:00</atom:updated><title>Why does our Tail Reaper program work in times of market turmoil?</title><description>I generally don&#39;t like to write about our &lt;a href=&quot;http://www.qtscm.com/accounts&quot;&gt;investment programs&lt;/a&gt; here, since the good folks at the National Futures Association would then have to review my blog posts during their regular audits/examinations of our CPO/CTA. But given the extraordinary market condition we are experiencing, our kind cap intro broker urged me to do so. Hopefully there is enough financial insights here to benefit those who do not wish to invest with us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
As the name of our Tail Reaper program implies, it is
designed to benefit from tail events. It did so (+20.07%) during
August-December, 2015’s Chinese stock market crash (even though it trades only
the E-mini S&amp;amp;P 500 index futures), it did so (+18.38%) during
February-March, 2018’s “volmageddon”, and now it did it again (+12.98%) during
February, 2020’s Covid-19 crisis. (As of this writing, March is up over 21%
gross.) There are many names to this strategy: some call it “crisis alpha”, others
call it “convex”, “long gamma” or “long vega” (even though no options are
involved), “long volatility”, “tail hedge”, or just plain old “trend-following”.
Whatever the name or description, it usually enjoys outsize return when there
is real panic. (But of course, PAST PERFORMANCE IS NOT NECESSARILY INDICATIVE
OF FUTURE RESULTS.) Furthermore, our strategy did so without holding any
overnight positions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Why is a trend-following strategy profitable in a crisis? A
simple example will suffice. If a short trade is triggered when the return
(from some chosen benchmark) exceeds -1%, then the trade will be very profitable
if the market ends up dropping -4%. Vice versa for a long trade. (As recent
market actions have demonstrated, prices exhibit both left and right tail
movements in a crisis.) The trick, of course, is to find the right benchmark for
the entry, and to find the right exit condition.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Naturally, insurance against market crash isn’t completely
free. Our goal is to prevent the insurance cost, which is essentially the loss
that the strategy suffers during a stretch of bull market, from being too high.
After all, if insurance were all we want, we could have just bought put options
on the market index, and watched it lost premium every month in “good” times.
To prevent the loss of insurance premium requires a dose of market timing,
assisted by our machine learning program that utilizes many, many factors to
predict whether the market will suffer extreme movements in the next day. In
most years, the cost (loss) is negligible despite the long bull market, except
in 2019 when we lost 8.13%. That year, which seems a long time ago, the SPY was
up 30.9%. (It was in the August of that year that we added the machine learning
risk management layer.) But most investors have a substantial long exposure. A
proper asset allocation to both Tail Reaper and to a long-only portfolio will
smooth out the annual returns and hopefully eliminate any losing year. (Again, PAST
PERFORMANCE IS NOT NECESSARILY INDICATIVE OF FUTURE RESULTS.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
But why should we worry about a losing year? Isnt’ total
return all investors should care about? Recently, Mark Spitznagel (who
co-founded Empirica Capital with Nassim Nicholas Taleb) wrote a series of
interesting &lt;a href=&quot;https://www.universa.net/riskmitigation.html&quot;&gt;articles&lt;/a&gt;. It argued that even if a tail hedge strategy like ours
returns an arithmetic average return of 0%, as long as it provides outsize
positive returns during a market crisis, it will be able to significantly
improves the compound growth rate of a portfolio that includes both an index
fund and the tail hedge strategy. I have previously written a somewhat
technical &lt;a href=&quot;http://epchan.blogspot.com/2017/05/paradox-resolved-why-risk-decreases.html&quot;&gt;blog post&lt;/a&gt; on this mathematical curiosity. The gist of the argument is that the
compound growth rate of a portfolio is m-s^2/2, where m is the arithmetic
mean return and s is the standard deviation of returns. Hedging tail risk is
not just for the psychological comfort of having no losing years - it is
mathematically proven to improve long-term compound growth rate overall.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;tahoma&amp;quot; , sans-serif; font-size: 10.0pt;&quot;&gt;PAST
PERFORMANCE IS NOT NECESSARILY INDICATIVE OF FUTURE RESULTS. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For further reading on convex strategies, please see the papers by Paul Jusselin et al “Understanding the Momentum Risk Premium: An In-Depth Journey Through Trend-Following Strategies” and Dao et al “Tail protection for long investors: Trend convexity at work” (Hat tip to Corey Hoffstein for leading me to them!)</description><link>http://epchan.blogspot.com/2020/03/why-does-our-tail-reaper-program-work.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>46</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-7112141649450195628</guid><pubDate>Mon, 09 Dec 2019 12:10:00 +0000</pubDate><atom:updated>2019-12-09T07:53:22.114-05:00</atom:updated><title>US nonfarm employment prediction using RIWI Corp. alternative data</title><description>&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Introduction&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The monthly US nonfarm payroll (NFP) announcement by the
United States Bureau of Labor Statistics (BLS) is one of the most closely
watched economic indicators, for economists and investors alike. (When I was
teaching a class at a well-known proprietary trading firm, the traders suddenly
ran out of the classroom to their desks on a Friday morning just before 8:30am
EST.) Naturally, there were many efforts in the past trying to predict this
number, ranging from using other &lt;a href=&quot;https://www.cmegroup.com/education/featured-reports/our-model-forecasts-may-non-farm-payroll-and-junes-too.html&quot;&gt;macroeconomic
indicators&lt;/a&gt; such as credit spreads to using &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2783520&quot;&gt;Twitter
sentiment&lt;/a&gt; as predictive features. In this article, I will report on research
conducted by Radu Ciobanu and I using the unique and proprietary continuous survey
data provided by &lt;a href=&quot;file:///C:/QTS%20Capital%20Dropbox/Backtests/RIWI/riwi.com&quot;&gt;RIWI Corp.&lt;/a&gt;
to predict this important number. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
RIWI is an alternative data provider that conducts online
surveys and risk measurement monitoring in all countries of the world anonymously,
without collecting any personally identifiable information or providing
incentives to respondents. RIWI’s technology has collected and analyzed more
than 1.5 billion responses globally. Critically, in their surveys, they can
reach a segment of the population that is usually hidden: three quarters of
their respondents across the world have not answered a survey of any kind in
the preceding month. Their surveys strive to be as representative of the
general online population as possible, without the usual bias towards the loud social
media voices. This is important in predictive data for financial markets, where
it is vital to separate noise from signal. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The financial market reacts mainly to &lt;i&gt;surprise&lt;/i&gt;, i.e.
the difference between the actual announced NFP number and the Wall Street consensus.
This surprise can move not only the US financial markets, but international markets
as well. Case in point: I watched the German DAX index moved sharply higher last
week (December 6, 2019 ) due to the huge positive surprise (adding 266K jobs
instead of the Wall Street consensus of 183K).&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;Therefore the surprise is what we want to predict. We compared
predicting the sign of this surprise using machine learning with the RIWI score
as the only feature vs. a number of other benchmarks that do not include the RIWI
score, and found that the RIWI score generates higher predictive accuracy than
all other benchmarks during cross validation test. We also predicted both the
magnitude and sign of the NFP surprise. Including the RIWI score as one of the features
achieved the smallest averaged cross-validated mean squared error (MSE) than
otherwise. Limited out-of-sample results indicate the RIWI score continues to
have significant power for both sign and magnitude predictions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Data&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The historical NFP monthly numbers were seasonally adjusted
by the BLS. These numbers were released on the first Friday of every month, at
8:30 am ET (except on certain national holidays when they are released one day
before or delayed by one week.) To compute the surprise, we subtract the Wall
Street consensus on the day before the announcement from the actual NFP number.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The RIWI data were based on their online surveys of US
consumers, and consist of two datasets. The first one is dated December 2013 -
October 2017 and the second one is dated Sep 2018 - Sep 2019. The former
dataset is based on the yes/no answer to the following survey question: &lt;i&gt;‘Are
you working for more than 35 hours per week?’&lt;/i&gt;. The latter dataset is based
on several survey questions related to opinions regarding US companies or
products, along with respondents’ personal background, such as their employment
status (full-time/part-time/student/retired), marital status, etc. In order to
merge the two datasets, we regard respondents who said they worked “full-time”
or “part-time” as equivalent to “working more than 35 hours per week”. If we
were to count only the “full-time” respondents, a significant structural break
in the time series would be observed between the two time periods, as seen in
Figure 1 below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;mso-no-proof: yes;&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype
 id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot;
 path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;
 &lt;v:stroke joinstyle=&quot;miter&quot;/&gt;
 &lt;v:formulas&gt;
  &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;/&gt;
  &lt;v:f eqn=&quot;sum @0 1 0&quot;/&gt;
  &lt;v:f eqn=&quot;sum 0 0 @1&quot;/&gt;
  &lt;v:f eqn=&quot;prod @2 1 2&quot;/&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;/&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;/&gt;
  &lt;v:f eqn=&quot;sum @0 0 1&quot;/&gt;
  &lt;v:f eqn=&quot;prod @6 1 2&quot;/&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;/&gt;
  &lt;v:f eqn=&quot;sum @8 21600 0&quot;/&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;/&gt;
  &lt;v:f eqn=&quot;sum @10 21600 0&quot;/&gt;
 &lt;/v:formulas&gt;
 &lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;/&gt;
 &lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;/&gt;
&lt;/v:shapetype&gt;&lt;v:shape id=&quot;Imagine_x0020_5&quot; o:spid=&quot;_x0000_i1026&quot; type=&quot;#_x0000_t75&quot;
 style=&#39;width:468pt;height:234pt;visibility:visible;mso-wrap-style:square&#39;&gt;
 &lt;v:imagedata src=&quot;file:///C:/Users/chane/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg&quot;
  o:title=&quot;&quot;/&gt;
&lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixY_jXDZRTSryrW-0GYuOM71qxQ7Mnpftrqgn-8ShG5MFmf3C5r_yUJZcvA3fxA9jQgC3YiAsYMcYR0uC9orefhjSuE7Q3FgibGz6P8te3UTrmsbVBTH3CUinpoU7JvqsrR8QvtQ/s1600/full_time_magnify.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1440&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixY_jXDZRTSryrW-0GYuOM71qxQ7Mnpftrqgn-8ShG5MFmf3C5r_yUJZcvA3fxA9jQgC3YiAsYMcYR0uC9orefhjSuE7Q3FgibGz6P8te3UTrmsbVBTH3CUinpoU7JvqsrR8QvtQ/s640/full_time_magnify.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Figure 1&lt;/b&gt;: Weighted monthly RIWI score, without
seasonal adjustments, including only “Full-Time” respondents&lt;span style=&quot;font-size: 10.5pt; line-height: 107%;&quot;&gt;, for Dec 2013-Oct 2017 and Sep 2018-Sep
2019&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
If we include both “Full-time” and “Part-Time” respondents,
we obtain Figure 2 below, which clearly doesn’t have that structural break.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdjfdaj45ptmnsXmqMf7qSQvO-LN0vgtl04V8JxW7Ybi4IQt9GpWfPhwizcfthEE1NAtR0-1bN5sQFFLajPTWU2qWvaJRGaqWUeSB6aVLjM9tL2QW-cXI1ZpGnVJT3VfhXlAUHw/s1600/full_time_part_timemagnify.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1440&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdjfdaj45ptmnsXmqMf7qSQvO-LN0vgtl04V8JxW7Ybi4IQt9GpWfPhwizcfthEE1NAtR0-1bN5sQFFLajPTWU2qWvaJRGaqWUeSB6aVLjM9tL2QW-cXI1ZpGnVJT3VfhXlAUHw/s640/full_time_part_timemagnify.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Figure 2: &lt;/b&gt;&lt;span style=&quot;mso-bidi-font-weight: bold;&quot;&gt;Weighted m&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; line-height: 107%;&quot;&gt;onthly RIWI score,&lt;/span&gt; without seasonal adjustments, &lt;span style=&quot;font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;including “Full-time + part-time” respondents,
for Dec 2013-Oct 2017 and Sep 2018-Sep 2019.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
RIWI provides a weight for each respondent in order to
transform the data so that it can reflect the demographics of the general US
population, hence the adjective “Weighted” in the figure captions. Note that
the survey is conducted such that each respondent can go back and change their
answers but they will not show up as more than one sample in the data set. In
order to extract a summary score in advance of each month’s NFP announcement,
we compute a monthly average of the product of the respondents’ weights and the
indicator (0 or 1) of whether the individual respondent is working full or
part-time. The monthly average is computed over the same month that the NFP
number measures. We call this the “RIWI score”. As the NFP data were seasonally
adjusted, we need to do the same to the monthly differences of the RIWI score. We
employ the same adjustment that the BLS uses: &lt;a href=&quot;https://www.bls.gov/ces/&quot;&gt;X12-ARIMA&lt;/a&gt;.
But for comparison purposes, we did not apply seasonal adjustment to Figures 1
and 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Classification models&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Our classification models were used to predict whether the
sign of the NFP surprisewas positive or negative (there were no zero surprises
in the data.) The models were trained on the data on &lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Dec
2013 – Oct 2017 (“train set”), where cross validation testing also took place.
Out-of-sample testing was done on the data Sep 2018-Oct 2019 (“test set”). As
mentioned above, the test set’s RIWI survey questions were somewhat different
from the train set questions. So test set result is a joint test of whether the
classification model works out-of-sample and whether the slight difference in
the RIWI data degrades predictive accuracy significantly. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;To provide benchmark
comparisons against RIWI score, we also studied several other standard features,
some of which were found useful for NFP predictions: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 38.3pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Previous
1-month NFP surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.3pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Previous
12-month NFP surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.3pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;st&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-themecolor: text1;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;st&quot;&gt;&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;Bloomberg&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Barclays
US Corporate High Yield Average Option Adjusted Spread Index (a.k.a. credit
spreads)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;st&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 38.3pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;·&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Index
of Consumer Sentiment (University of Michigan)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 38.3pt; mso-add-space: auto; mso-list: l2 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;The &lt;/span&gt;&lt;span class=&quot;st&quot;&gt;&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;Bloomberg Barclays US Corporate High Yield Average Option
Adjusted Spread&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;
Index denotes the difference (spread) between a computed Option Adjusted Spread
index of all high yield corporate bonds and a spot US Treasury curve. An Option
Adjusted Spread index is computed using constituent bonds’ option adjusted
spreads, weighted by market capitalization. In what follows, we will refer to
the &lt;span class=&quot;st&quot;&gt;Bloomberg Barclays US Corporate High Yield Average Option
Adjusted Spread&lt;/span&gt; Index as the “credit spreads” feature.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;Since &lt;/span&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;machine
learning can only be performed on stationary features, we will use&lt;/span&gt;&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt; the monthly differences in the RIWI
score and other features. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;The benchmarks models we tested are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .25in; text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Logistic regression* on Previous surprise.&lt;/li&gt;
&lt;li&gt;Trend-following model predicts next
sign(surprise)=sign(previous surprise).&lt;/li&gt;
&lt;li&gt;Contrarian model predicts next
sign(surprise)=-sign(previous surprise).&lt;/li&gt;
&lt;li&gt;Logistic regression on credit
spreads.&lt;/li&gt;
&lt;li&gt;Logistic regression on Index of
Consumer Sentiment.&lt;/li&gt;
&lt;/ol&gt;
*All logistic regressions were
L2-regularized.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 0in; mso-add-space: auto; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;Here are
the results, compared to applying Random Forest to the RIWI score alone:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 0in; mso-add-space: auto; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 623px;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;ML
  model&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;Features&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;CV accuracy
  (in-sample)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;Out-of-sample
  accuracy&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 28.75pt; mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 28.75pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Contrarian
  model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.75pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Prev 1-month
  surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.75pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.46&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.75pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.66&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;LogReg (Ridge)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Credit spreads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.52&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.51&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;LogReg (Ridge)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Prev 1-month surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.50&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;LogReg (Ridge)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Consumer sentiment index&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.50&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 16.55pt; mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 16.55pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Random Forest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.55pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;All features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.55pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.55pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.58&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Trend
  following model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Prev 1-month surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.54&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.33&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 7; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 107.75pt;&quot; valign=&quot;top&quot; width=&quot;144&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;Random Forest&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;&quot; valign=&quot;top&quot; width=&quot;150&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;RIWI score alone&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;&quot; valign=&quot;top&quot; width=&quot;162&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.63&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
  &lt;/span&gt;+/- 0.03&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 125.75pt;&quot; valign=&quot;top&quot; width=&quot;168&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;0.58&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
  &lt;/span&gt;+/- 0.04&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 0in; mso-add-space: auto; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;b&gt;Table 1&lt;/b&gt;: Classification benchmarks and other features&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Based on the predictive accuracy on the cross validation
data, the best machine learning model is one that uses the RIWI score as the &lt;i&gt;only&lt;/i&gt;
feature. This model applied the random forest classifier to the RIWI score to
predict sign(NFP surprise). It obtained an average cross-validated (CV)
accuracy of 63% &lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;+/- 0.03&lt;/span&gt; (using 10-fold
cross-validation on Dec 2013 – Oct 2017 data) and a 58.3% +/- 0.04 out-of-sample
accuracy. As the out-of-sample data consists only of 12 data points, we view
that as a test of whether the random forest classifier overfitted on training
data, and whether the slightly different RIWI data affected predictions, but
not as a fair comparison of the various models. Since the predictive accuracy
did not deteriorate significantly on the out-of-sample data, we conclude that
no overfitting was likely, and the new RIWI data did not differ significantly
from that which we trained on. We have also applied random forest to all the
features including the RIWI score, and found lower CV (53%) and out-of-sample
(58%)&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;accuracies than using the RIWI
score alone.&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Regression models&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Our regression models were used to predict the actual NFP
surprise (sign + magnitude). The train vs. test data were the same as for the
classification models, and features set were also the same.&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;To provide benchmark
comparisons against the RIWI score, we studied the following models:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .25in;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;ARMA
(2,1) model* that uses past NFP surprises. &lt;/li&gt;
&lt;li&gt;Trend-following
model predicts next surprise=(previous surprise).&lt;/li&gt;
&lt;li&gt;Contrarian
model predicts next surprise=-(previous surprise).&lt;/li&gt;
&lt;/ol&gt;
*The
lags and coefficients were optimized based on AIC minimization on the train
set.&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: .25in; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;Here are the results, compared to applying Random Forest
to the RIWI score alone:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;height: 19.1pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; height: 19.1pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;ML
  method&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 19.1pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Features&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 19.1pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;background: white; color: black;&quot;&gt;CV MSE (in-sample)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 19.1pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;background: white; color: black;&quot;&gt;Out-of-sample MSE&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Trend following model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Prev 1-month surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;6788.60&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;19575.16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Contrarian model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Prev 1-month surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;5941.78&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;9652.16&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;ARMA(2,1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Prev 1-month surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;3317.47&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;7192.9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 25.9pt; mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 25.9pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Linear regression (Ridge)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 25.9pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Prev 1mth surprise +prev 12mth surprise&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 25.9pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;3310.66&lt;/span&gt;&lt;span style=&quot;background: white; color: red;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 25.9pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;7302.94&lt;/span&gt;&lt;span style=&quot;color: red; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Random Forest&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;RIWI score&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;3280.13&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;7208.01&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Random Forest&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Credit spreads&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;3257.51&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;7227.63&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 7;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Random Forest &lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Consumer sentiment index&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;3251.48&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;7231.74&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 8;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Random Forest &lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;All features&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: black;&quot;&gt;3251.18&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;7268.75 &lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 9; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;Random Forest&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.85pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;RIWI score + prev 1mth surprise +
  prev 12mth surprise&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;background: white; color: black;&quot;&gt;3249.35 &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;+/- 70&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 116.9pt;&quot; valign=&quot;top&quot; width=&quot;156&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;7269.20 &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;+/- 134&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;b&gt;Table 2&lt;/b&gt;: Regression benchmarks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Based on the mean squared error (MSE) of predicted surprises
on the cross validation data, the best machine learning model is one that &lt;i&gt;includes&lt;/i&gt;
the RIWI score as a feature. It applied the random forest classifier to the RIWI
score&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;, previous
1-month and 12-month surprises in order to predict actual NFP surprise&lt;/span&gt;.
It obtained an average cross-validated MSE of &lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;3249.35 +/- 70 &lt;/span&gt;and a &lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri; mso-themecolor: text1;&quot;&gt;7269.2+/- 134&lt;/span&gt; out-of-sample accuracy. It
marginally outperformed all benchmarks in cross-validation. As with all other
benchmarks, including the Contrarian model which requires no training, out-of-sample
MSE increased significantly over the CV MSE. But again, as the out-of-sample
data consists only of 12 data points, we don’t view it as a fair comparison of
the various models. &lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;We also
applied random forest to all the features including the RIWI score, and found somewhat
higher CV MSE (and hence a worse model) than using the RIWI score alone, but
the difference is within error bounds.&lt;/span&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: black; mso-themecolor: text1;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Conclusion and Future Work&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Using the technique of cross validation on RIWI data from &lt;span style=&quot;mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;December 2013 - October 2017, we found that the RIWI score (after
weighting, seasonal adjustment, and differentiation), has outperformed all
other benchmarks in predictive accuracy for the sign of the NFP surprises. We
also found that the similarly transformed RIWI score, if supplemented with
other indicators, has performed as well or better than all
other benchmarks. While such absolute dominance needs to be confirmed in an
extended out-of-sample test, we believe there is great potential for using the RIWI
score for predicting the all-important Nonfarm Payroll number.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;But beyond predicting NFP surprises,
RIWI’s data have the potential to be a more accurate gauge of the actual U.S.
employment situation, and therefore economic growth, than the NFP number. T&lt;/span&gt;he
“gig economy” is employing more workers whose data do not easily find their way
into the official BLS count. (Here is an &lt;a href=&quot;https://www.aspeninstitute.org/blog-posts/bls-data-on-platform-work-reflects-challenges-of-measurement/&quot;&gt;article&lt;/a&gt;
on why BLS’ effort to count these workers has been a failure. This Bank of
Canada &lt;a href=&quot;http://conference.iza.org/conference_files/Statistic_2019/kostyshyna_o28235.pdf&quot;&gt;report&lt;/a&gt;
also concluded that official numbers were undercounting gig workers.) Undocumented
workers are not counted in the NFP but they do contribute to the economy. Even
illegal activities could have contributed more than 1% to the U.S. GDP,
according to this &lt;a href=&quot;https://www.wsj.com/articles/gdp-doesnt-include-proceeds-of-crime-should-it-11575628201&quot;&gt;Wall
Street Journal report&lt;/a&gt;. In contrast, RIWI’s survey methodology was cited in
this &lt;a href=&quot;https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.1002879&quot;&gt;paper&lt;/a&gt;
by Harvard researchers among others as the &lt;i&gt;preferred&lt;/i&gt; method of
collecting data on hard-to-reach populations. One can imagine an ambitious researcher
using RIWI data to directly predict GDP growth and achieving better results
than using the traditional economic indicators such as NFP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;Acknowledgement&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
We thank Jason Cho, Head of Data Operations at &lt;a href=&quot;http://www.riwi.com/&quot;&gt;RIWI&lt;/a&gt;, for providing us the Company’s proprietary
data for our evaluation purposes.&lt;span style=&quot;color: black; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
*Note a PDF version of this article can be downloaded from &lt;a href=&quot;http://www.epchan.com/&quot;&gt;www.epchan.com&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2019/12/us-nonfarm-employment-prediction-using.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixY_jXDZRTSryrW-0GYuOM71qxQ7Mnpftrqgn-8ShG5MFmf3C5r_yUJZcvA3fxA9jQgC3YiAsYMcYR0uC9orefhjSuE7Q3FgibGz6P8te3UTrmsbVBTH3CUinpoU7JvqsrR8QvtQ/s72-c/full_time_magnify.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-1753780737006091769</guid><pubDate>Wed, 04 Dec 2019 19:41:00 +0000</pubDate><atom:updated>2019-12-05T07:23:37.009-05:00</atom:updated><title>Experiments with GANs for Simulating Returns (Guest post)</title><description>By&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; white-space: pre-wrap;&quot;&gt;Akshay Nautiyal, &lt;a href=&quot;http://www.quantinsti.com/&quot;&gt;Quantinsti&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Simulating returns using either the traditional closed-form equations or probabilistic models like Monte Carlo has been the standard practice&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; to match them against empirical observations from stock, bond and other financial time-series data. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; (See &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;http://epchan.blogspot.com/2017/11/optimizing-trading-strategies-without.html&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot;&gt;Chan and Ng, 2017&lt;/a&gt; and &lt;/span&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/Advances-Financial-Machine-Learning-Marcos/dp/1119482089/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=d7381a1bc4fd7adf25c210b2967e15be&amp;amp;creativeASIN=1119482089&quot; style=&quot;text-decoration-line: none;&quot;&gt;Lopez de Prado, 2018&lt;/a&gt;.)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; white-space: pre-wrap;&quot;&gt;Some of the stylised facts of return distributions are as follows:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;ol style=&quot;margin-bottom: 0; margin-top: 0;&quot;&gt;&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;
&lt;li dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;div dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The tails of an empirical return distribution are always thick, indicating lucky gains and enormous losses are more probable than a Gaussian distribution would suggest.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: lower-alpha; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;div dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Empirical distributions of assets &lt;/span&gt;&lt;a href=&quot;http://finance.martinsewell.com/stylized-facts/dependence/Cont2001.pdf&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;show sharp peaks&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; which traditional models are often not able to gauge.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/span&gt;&lt;/ol&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;To generate simulated return distributions that are faithful to their empirical counterpart, I tried my hand on various kinds of Generative Adversarial Networks, a very specialised Neural Network to learn the features of a stationary series we’ll describe later. The GAN architectures used here are a direct descendant of the simple GAN invented by Goodfellow in his 2014 &lt;/span&gt;&lt;a href=&quot;https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;paper&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. The ones tried for this exercise were the conditional recurrent GAN and the simple GAN using fully connected layers. The idea involved in the architecture is that there are two constituent neural networks. One is called the Generator which takes a vector of random noise as input and then &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;generates &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;a time series window of a couple of days as output. The other component called Discriminator tries to take either this generated window as input or takes a real window of price returns or other features as input and tries to decipher whether a given window of returns or other features is “real” ( from the AAPL data)&amp;nbsp; or “fake” (generated by the Generator). The job of the generator is to try to “fool” the discriminator by successively (as it is being trained) generating more “real” data. The training goes on until:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;
&lt;/span&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1) the generator is able to output the feature set which is identical in distribution to the real dataset on which both the networks were trained&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;docs-internal-guid-c37b6b65-7fff-08e9-9448-2dc37ba743da&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2) The discriminator is able to tell real data from the generated one&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The mathematical objectives of this training are to maximise:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;a ) &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;log(D(x)) + log(1 - D(G(z))) - Done by the discriminator - Increase the expected ( over many iterations ) log probability of the Discriminator D to identify between the real and fake samples x. Simultaneously, increase the expected log probability of discriminator D to correctly identify all samples generated by generator G using noise z.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;b)&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;log(D(G(z))) - Done by the generator - So, as observed empirically while training GANs, at the beginning of training G is an extremely poor “truth” generator while D quickly becomes good at identifying real data. Hence, the component log(1 - D(G(z))) saturates or remains low. It is the job of G to maximize log(1 - D(G(z))). What that means is G is doing a good job of creating real data that D isn’t able to “call out”. But because log(1 - D(G(z))) saturates, we train G to maximize log(D(G(z))) rather than minimize log(1 - D(G(z))).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Together the min-max game that the two networks play between them is formally described as:&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;G&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;D&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;V (D, G) =&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;E&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;pdata(x)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[log D(x)]&amp;nbsp; +&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;E&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; p(z)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; [log(1 − D(G(z)))]&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The real data sample &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; is sampled from the distribution of empirical returns &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 18pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 18pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;data(x)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;and the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;z&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;is random noise variable sampled from a multivariate gaussian &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 18pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 18pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;(z)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. The expectations are calculated over both these distributions. This happens over multiple iterations.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;hypothesis&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; was that the various GANs tried will be able to generate a distribution of returns which are closer to the empirical distributions of returns than ubiquitous baselines like Monte Carlo method using the &lt;/span&gt;&lt;a href=&quot;https://blog.quantinsti.com/random-walk-geometric-brownian-motion/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Geometric Brownian motion&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The experiments&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A bird’s-eye view of what we’re trying to do here is that we’re trying to learn a &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;joint probability distribution&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; across time windows of all features along with the percentage change in adjusted close. This is so that they can be simulated organically with all the nuances they naturally come together with. For all the GAN training processes, Bayesian optimisation was used for hyperparameter tuning.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In this exercise, initially, we first collected some features belong to the categories of trend, momentum, volatility etc like &lt;/span&gt;&lt;a href=&quot;https://blog.quantinsti.com/rsi-indicator/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;RSI&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, MACD, &lt;/span&gt;&lt;a href=&quot;https://blog.quantinsti.com/parabolic-sar/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Parabolic SAR&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://blog.quantinsti.com/bollinger-bands/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Bollinger bands&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; etc to create a feature set on the adjusted close of AAPL data which spanned from the 1980s to today. The window size of the sequential training sample was set based on hyperparameter tuning. Apart from these indicators the percentage change in the adjusted OLHCV data were taken and concatenated to the list of features. Both the generator and discriminator were recurrent neural networks ( to sequentially take in the multivariate window as input) powered by LSTMs which further passed the output to dense layers. I have tried learning the joint distributions of 14 and also 8 features The results were suboptimal,&amp;nbsp; probably because of the architecture being used and also because of how notoriously tough the GAN architecture might become to train. The suboptimality was in terms of the generators’ error not reducing at all (  log(1 - D(G(z))) saturating very early in the training  ) after initially going up and the random return distributions without any particular form being generated by the generators.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;After trying conditional recurrent GANs, which didn’t train well, I tried using simpler multilayer perceptrons for both Generator and Discriminators in which I passed the entire window of returns of the adjusted close price of AAPL. The optimal window size was derived from hyperparameter tuning using Bayesian optimisation. The distribution generated by the feed-forward GAN is shown in figure 1.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;border: none; clear: left; display: inline-block; float: left; height: 270px; margin-bottom: 1em; margin-right: 1em; overflow: hidden; width: 254px;&quot;&gt;&lt;img height=&quot;270&quot; src=&quot;https://lh5.googleusercontent.com/yala-nhfC_9fY5CwasVkW19YUWBXgss9QVgfDJ9A94fREyhOdoKE4tlBNhO7Rz0YpFs3WijflTzkfS-5_JpDPqYk9C7YxWOmaFaVlVY5mJZuTL0YJgjJ58Dv-zxtbC6A0qzYUogl&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;254&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;border: none; display: inline-block; height: 270px; margin-left: 1em; margin-right: 1em; overflow: hidden; width: 254px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;Fig 1. Returns by simple feed-forward GAN&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Some of the common problems I faced were either partial or complete &lt;/span&gt;&lt;a href=&quot;https://aiden.nibali.org/blog/2017-01-18-mode-collapse-gans/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;mode collapse&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; - where the distribution either did not have a similar sharp peak as the empirical distribution ( partial ) or &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;any &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;noise sample input into the generator produces a limited set of output samples ( complete).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 188px; overflow: hidden; width: 425px;&quot;&gt;&lt;img height=&quot;188&quot; src=&quot;https://lh4.googleusercontent.com/JIk7hA6PRzKZN8wlaYk6rYUq_05VG3NE5IuPZgcIJG0DQCgnAzgGTZNF687fnEOe_ahKP1snTjIbuNm-hXiMeyaMDnWthgI_73tCNwJhjez4LbWVlaWRPMB02W6epW_bw_De2kbq&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;425&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The figure above shows mode collapsing during training. Every subsequent epoch of the training is printed with the mean and standard deviation of both the empirical subset (“real data”) that is put into the discriminator for training and the subset generated by the generator ( “fake data”). As we can see at the 150th epoch, the distribution of the generated “fake data” absolutely collapses. The mean becomes 1.0 and the stdev becomes 0. What this means is that all the noise samples put into the generator are producing the same output! This phenomenon is called Mode Collapse as the frequencies of other local modes are not inline with the real distribution. As you can see in the figure below, this is the final distribution generated in the training iterations shown above:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-left: 108pt; margin-top: 12pt;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;border: none; clear: left; display: inline-block; float: left; height: 375px; margin-bottom: 1em; margin-right: 1em; overflow: hidden; width: 298px;&quot;&gt;&lt;img height=&quot;375&quot; src=&quot;https://lh6.googleusercontent.com/iiymauAWlJRMDfqb4bpPA4j9coOyNR7E8Qq2CXpLAxOZOtKF1-N63qKOk28YbRi7cQHp1wUtELntWomB_Eyi1Grnl32EzWIdE00isjUK-Os9tcD1oGqtZYUzE2vTIp_4x8whGjb8&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;298&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A few tweaks which reduced errors for both Generator and Discriminator were 1) using a different learning rate for both the neural networks. Informally, the discriminator learning rate should be one order higher than the one for the generator. 2) Instead of using fixed labels like 1 or a 0 (where 1 means “real data” and 0 means “fake data”) for training the discriminator it helps to subtract a small noise from the label 1 and add a similar small noise to label 0. This has the effect of changing from classification to a regression model, using mean square error loss instead of binary cross-entropy as the objective function. Nonetheless, these tweaks have not eliminated completely the suboptimality and mode collapse problems associated with recurrent networks.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Baseline Comparisons&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;We compared this generated distribution against the distribution of empirical returns and the distribution generated via the Geometric Brownian Motion - &lt;/span&gt;&lt;a href=&quot;https://blog.quantinsti.com/introduction-monte-carlo-analysis/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Monte Carlo&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; simulations done on AAPL via python. The metrics used to compare the empirical returns from GBM-MC and GAN were Kullback-Leibler divergence to compare the “distance” between return distributions and VAR measures to understand the risk being inferred for each kind of simulation. The chains generated by the GBM-MC can be seen in fig. 4. Ten paths were simulated in 1000 days in the future based on the inputs of the variance and mean of the AAPL stock data from the 1980s to 2019. The input for the initial price in GBM was the AAPL price on day one.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 2pt; margin-top: 2pt; text-indent: 36pt;&quot;&gt;
&lt;span style=&quot;border: none; clear: left; display: inline-block; float: left; height: 322px; margin-bottom: 1em; margin-right: 1em; overflow: hidden; width: 262px;&quot;&gt;&lt;img height=&quot;322&quot; src=&quot;https://lh3.googleusercontent.com/CN0s4Qb1eyVadeRzbyX1WwRavbpqY5ovTECU0R4lkgUXzu1I1DM7yMFBFvcxjt0I5AOqlJMTczzWQtgsniD0sZu1b64nIRNPZ2dhjW6QcuNq_iTiDDGJpafcv2qtTnvcFXoOtphW&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;262&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 327px; overflow: hidden; width: 287px;&quot;&gt;&lt;img height=&quot;327&quot; src=&quot;https://lh5.googleusercontent.com/GSn95cryFpgJw3n5YJDY1rbVfNMbnsyDn95Tlradgd13y7U-OSYrmCIkaPMdsW-NplpRcteQ7ppcvQ4Cu5N4kyKkiAfc58dHGuPDMLoOBH8ZIJmcxqLux0cnXz26kTvbV3-5Yk87&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;287&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;                   &lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; text-indent: 36pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Fig 2. shows the empirical distributions for AAPL starting &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 10.6667px; text-indent: 36pt; white-space: pre-wrap;&quot;&gt;1980s up till now.   &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; text-indent: 36pt; white-space: pre-wrap;&quot;&gt;Fig 3. shows the generated returns by Geometric Brownian motion on AAPL.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;To compare the various distributions generated in the exercise I binned the return values into 10,000 bins and then calculated the Divergence using the non-normalised frequency value of each bin. The code is:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-left: 36pt; margin-top: 12pt; text-indent: 36pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 116px; overflow: hidden; width: 498px;&quot;&gt;&lt;img height=&quot;116&quot; src=&quot;https://lh4.googleusercontent.com/QfnwyQ6bC139BlCR-I8okZPRUBAQmANS-V1o_Y2NIKtPJyue2LpRlhDzSbqDptyD4-p61P12NU88gO8IS7kbGJsLjhG4nOxLRnATgAxLYQTQxZDzfHoWzntzxcGP4Y63EdYVLWu7&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;498&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The formula &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;scipy &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;uses behind the scene for entropy is:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;S = sum(pk * log(pk / qk)) &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;where pk,qk are bin frequencies&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The &lt;/span&gt;&lt;a href=&quot;http://hanj.cs.illinois.edu/cs412/bk3/KL-divergence.pdf&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Kullback-Leibler&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; divergence which was calculated between distributions:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Comparison&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;KL Divergence&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Empirical vs GAN&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;7.155841564194154&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GAN vs Empirical&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;10.180867728820251&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Empirical vs GBM&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1.9944835997277586&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GBM vs Empirical&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2.990622397328334&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The Geometric Brownian Motion generation is a better match for the empirical data &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;compared&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; to the one generated using Multiperceptron GANs even though it should be noted that both are extremely bad.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The VAR values ( calculated over 8 samples ) here tell us that beyond a confidence level, the kind of returns (or losses) we might get - in this case, it is the percentage losses with 5% and 1% chance given the distributions of returns:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;101&quot;&gt;&lt;/col&gt;&lt;col width=&quot;261&quot;&gt;&lt;/col&gt;&lt;col width=&quot;261&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Comparison&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean and Std Dev of VAR Values ( for 95% confidence level )&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean and Std Dev of VAR Values ( for 99% confidence level )&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GANs&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;= -0.1965352900&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Stdev &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;nbsp; 0.007326252&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;= -0.27456501573&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Stdev &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;nbsp; 0.0093324205&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GBM with Monte Carlo&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;= -0.0457949236&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Stdev &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;nbsp; 0.0003046359&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mean &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;= -0.0628570539&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Stdev &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;= 0.0008578205&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Empirical data&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.0416606773394755 (one ground truth value)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #212121; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-0.0711425634927405 (one ground truth value)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The GBM generator VARs seem to be much closer to the VARs of the Empirical distribution.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 355px; overflow: hidden; width: 613px;&quot;&gt;&lt;img height=&quot;355&quot; src=&quot;https://lh6.googleusercontent.com/OFeBfpVRmx7YclDfrymJ1N599zJRyorC63nsEmo_6XjazdiSgbqFVnkIG1Th8LrqEZ3DFS-WmLEyAetaTKinRpzW9dIsSs-t13Fk08KI8tr9m_LuKMoza7SSiyZf2SFYuGoSwb6x&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;613&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.3679999999999999; margin-bottom: 1pt; margin-top: 1pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Fig 4. Showing the various paths generated by the Geometric Brownian motion model using monte Carlo.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conclusion&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The distributions generated by both methods didn’t generate the sharp peak shown in the empirical distribution (figure 2). The spread of the return distribution by the GBM with Monte Carlo was much closer to reality as shown by the VAR values and its distance to the empirical distribution was much closer to the empirical distribution as shown by the Kulback-Leibler divergence, compared to the ones generated by the various GANs I tried. This exercise reinforced that GANs even though enticing are tough to train. While at it I discovered and read about a few tweaks that might be helpful in GAN training. Some of the common problems I faced were 1) &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;mode collapse&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; discussed above 2) Another one was the &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;saturation of the generator&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; and “overpowering” by the discriminator. This saturation causes suboptimal learning of distribution probabilities by the GAN. Although not really successful, this exercise creates scope for exploring the various newer GAN architectures, in addition to the conditional recurrent and multilayer perceptron ones which I tried, and use their fabled ability to learn the subtlest of distributions and apply them for financial time-series modelling. Our codes can be found at Github &lt;/span&gt;&lt;a href=&quot;https://github.com/QuantInsti/EPAT/tree/master/Blogs/GAN%20Simulation&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. Any modifications to the codes that can help improve performance are most welcome!&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;About Author:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Akshay Nautiyal is a Quantitative Analyst at Quantinsti, working at the confluence of Machine Learning and Finance. QuantInsti is a premium institute in Algorithmic &amp;amp; Quantitative Trading with &lt;/span&gt;&lt;a href=&quot;https://www.quantinsti.com/epat&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;instructor-led&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; and &lt;/span&gt;&lt;a href=&quot;https://quantra.quantinsti.com/courses&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;self-study&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; learning programs. For example,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; there is an interactive&lt;/span&gt;&lt;a href=&quot;https://quantra.quantinsti.com/learning-track/machine-learning-deep-learning-in-financial-markets&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;course &lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;on using Machine Learning in Finance Markets that provides&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; hands-on training in complex concepts like LSTM, RNN, cross validation and hyper parameter tuning.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 2pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Industry update&lt;/span&gt;&lt;/h4&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;1) Cris Doloc published a new book “&lt;/span&gt;&lt;a href=&quot;https://amzn.to/2ONFYJX&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Computational Intelligence in Data-Driven Trading&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;” that has extensive discussions on applying reinforcement learning to trading.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;2) &lt;a href=&quot;https://www.linkedin.com/in/nicholas-ferguson-55a9584&quot;&gt;Nicolas Ferguson&lt;/a&gt; has translated the Kalman Filter codes in my book &lt;a href=&quot;https://www.amazon.com/Algorithmic-Trading-Winning-Strategies-Rationale-ebook/dp/B00CY5HC0U/ref=as_sl_pc_qf_sp_asin_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=OKVO7DYTPENVN5Y7&amp;amp;creativeASIN=B00CY5HC0U&quot;&gt;Algorithmic Trading&lt;/a&gt; to KDB+/Q. It is available on &lt;a href=&quot;http://github.com/nicholasferguson/kdb.q.kalman.filter.beta.ETFs&quot;&gt;Github&lt;/a&gt;. He is available for programming/consulting work.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;3) Brain Stanley at &lt;a href=&quot;http://quantrocket.com/&quot;&gt;QuantRocket.com&lt;/a&gt; wrote a blog post on &quot;&lt;a href=&quot;https://www.quantrocket.com/blog/pairs-trading-still-viable/&quot;&gt;Is Pairs Trading Still Viable?&lt;/a&gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;4) Ramon Martin started a new blog with a piece on &quot;&lt;a href=&quot;https://todotrader.com/deeptrading-with-tensorflow-iv/&quot;&gt;DeepTrading with Tensorflow IV&lt;/a&gt;&quot;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;5) Joe Marwood added my book to his &lt;a href=&quot;https://decodingmarkets.com/best-trading-books/&quot;&gt;top 100 trading books list&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;6) Agustin Lebron&#39;s new book &lt;a href=&quot;https://www.amazon.com/gp/product/1119574218/ref=as_li_tl?ie=UTF8&amp;amp;tag=quantitativet-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=1119574218&amp;amp;linkId=b8ace98211e708d60eebb64d9ffc62b4&quot;&gt;The Laws of Trading&lt;/a&gt; contains a good interview question on adverse selection (via Bayesian reasoning).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;7) &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #14171a; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 15px; white-space: pre-wrap;&quot;&gt;Linda Raschke&#39;s new autobiography &lt;a href=&quot;https://lindaraschke.net/trading-sardines/&quot;&gt;Trading Sardines&lt;/a&gt; is hilarious!&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2019/12/experiments-with-gans-for-simulating.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/yala-nhfC_9fY5CwasVkW19YUWBXgss9QVgfDJ9A94fREyhOdoKE4tlBNhO7Rz0YpFs3WijflTzkfS-5_JpDPqYk9C7YxWOmaFaVlVY5mJZuTL0YJgjJ58Dv-zxtbC6A0qzYUogl=s72-c" height="72" width="72"/><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8877037729862013753</guid><pubDate>Fri, 26 Apr 2019 09:55:00 +0000</pubDate><atom:updated>2019-04-26T10:18:21.798-04:00</atom:updated><title>Is News Sentiment Still Adding Alpha?</title><description>By Ernest Chan and &lt;a href=&quot;http://www.qtscm.com/principals/&quot;&gt;Roger Hunter&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Nowadays it is nearly impossible to step into a quant trading conference without being bombarded with flyers from data vendors and panel discussions on news sentiment. Our team at QTS has made a vigorous effort in the past trying to extract value from such data, with indifferent results. But the central quandary of testing pre-processed alternative data is this: is the null result due to the lack of alpha in such data, or is the data pre-processing by the vendor faulty? We, like many quants, do not have the time to build a natural language processing engine ourselves to turn raw news stories into sentiment and relevance scores (though NLP was the specialty of one of us back in the day), and we rely on the data vendor to do the job for us. The fact that we couldn&#39;t extract much alpha from one such vendor does not mean news sentiment is in general useless.&lt;br /&gt;
&lt;br /&gt;
So it was with some excitement that we heard Two Sigma, the $42B+ hedge fund, was sponsoring a &lt;a href=&quot;https://www.kaggle.com/c/two-sigma-financial-news&quot; target=&quot;_blank&quot;&gt;news sentiment competition at Kaggle&lt;/a&gt;, providing free sentiment data from Thomson-Reuters for testing. That data started from 2007 and covers about 2,000 US stocks (those with daily trading dollar volume of roughly $1M or more), and complemented with price and volume of those stocks provided by Intrinio. Finally, we get to look for alpha from an industry-leading source of news sentiment data!&lt;br /&gt;
&lt;br /&gt;
The evaluation criterion of the competition is effectively the Sharpe ratio of a user-constructed market-neutral portfolio of stock positions held over 10 days.&amp;nbsp; (By market-neutral, we mean zero beta. Though that isn&#39;t the way Two Sigma put it, it can be shown &lt;a href=&quot;http://www.kaggle.com/marketneutral/eda-what-does-mktres-mean&quot; target=&quot;_blank&quot;&gt;statistically&lt;/a&gt; and mathematically that their criterion is equivalent to our statement.) This is conveniently the Sharpe ratio of the &quot;alpha&quot;, or excess returns, of a trading strategy using news sentiment.&lt;br /&gt;
&lt;br /&gt;
It may seem straightforward to devise a simple trading strategy to test for alpha with pre-processed news sentiment scores, but Kaggle and Two Sigma together made it unusually cumbersome and time-consuming to conduct this research. Here are some&amp;nbsp; common complaints from Kagglers, and we experienced the pain of all of them:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;As no one is allowed to download the precious news data to their own computers for analysis, research can only be conducted via Jupyter Notebook run on Kaggle&#39;s servers. As anyone who has tried Jupyter Notebook knows, it is a great real-time collaborative and presentation platform, but a very unwieldy debugging platform&lt;/li&gt;
&lt;li&gt;Not only is Jupyter Notebook a sub-optimal tool for efficient research and software development, we are only allowed to use 4 CPU&#39;s and a very limited amount of memory for the research. GPU access is blocked, so good luck running your deep learning models. Even simple data pre-processing killed our kernels (due to memory problems) so many times that our hair was thinning by the time we were done.&lt;/li&gt;
&lt;li&gt;Kaggle kills a kernel if left idle for a few hours. Good luck training a machine learning model overnight and not getting up at 3 a.m. to save the results just in time.&lt;/li&gt;
&lt;li&gt;You cannot upload any supplementary data to the kernel. Forget about using your favorite market index as input, or hedging your portfolio with your favorite ETP.&lt;/li&gt;
&lt;li&gt;There is no &quot;securities master database&quot; for specifying a unique identifier for each company and linking the news data with the price data.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
The last point requires some elaboration. The price data uses two identifiers for a company, assetCode and assetName, neither of which can be used as its unique identifier. One assetName such as Alphabet can map to multiple assetCodes such as GOOG.O and GOOGL.O. We need to keep track of GOOG.O and GOOGL.O separately because they have different price histories. This presents difficulties that are not present in industrial-strength databases such as CRSP, and requires us to devise our own algorithm to create a unique identifier. We did it by finding out for each assetName whether the histories of its multiple assetCodes overlapped in time. If so, we treated each assetCode as a different unique identifier. If not, then we just used the last known assetCode as the unique identifier. In the latter case, we also checked that “joining” the multiple assetCodes made sense by checking that the gap between the end of one and the start of the other was small, and that the prices made sense. With only around 150 cases, these could all be checked externally. On the other hand, the news data has only assetName as the unique identifier, as presumably different classes of stocks such as GOOG.O and GOOGL.O are affected by the same news on Alphabet. So each news item is potentially mapped to multiple price histories.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The price data is also quite noisy, and Kagglers spent much time replacing bad data with good ones from outside sources. (As noted above, this can&#39;t be done algorithmically as data can neither be downloaded nor uploaded to the kernel. The time-consuming manual process of correcting the bad data seemed designed to torture participants.) It is harder to determine whether the news data contained bad data, but at the very least, time series plots of the statistics of some of the important news sentiment features revealed no structural breaks (unlike those of another vendor we tested previously.)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To avoid overfitting, we first tried the two most obvious numerical news features: Sentiment and Relevance. The former ranges from -1 to 1 and the latter from 0 to 1 for each news item. The simplest and most sensible way to combine them into a single feature is to multiply them together. But since there can be many news item for a stock per day, and we are only making a prediction once a day, we need some way to aggregate this feature over one or more days. We compute a simple moving average of this feature over the last 5 days (5 is the only parameter of this model, optimized over training data from 20070101 to 20141231). Finally, the predictive model is also as simple as we can imagine: if the moving average is positive, buy the stock, and short it if it is negative. The capital allocation across all trading signals is uniform. As we mentioned above, the evaluation criterion of this competition means that we have to enter into such positions at the market open on day t+1 after all the news sentiment data for day t was known by midnight (in UTC time zone). The position has to be held for 10 trading days, and exit at the market open on day t+11, and any net beta of the portfolio has to be hedged with the appropriate amount of the market index. The alpha on the validation set from 20150101 to 20161231 is about 2.3% p.a., with an encouraging Sharpe ratio of 1. The alpha on the out-of-sample test set from 20170101 to 20180731 is a bit lower at 1.8% p.a., with a Sharpe ratio of 0.75. You might think that this is just a small decrease, until you take a look at their respective equity curves:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5GELo3zgAj1hxSPQh_FY_MAUOecKiBvVZbwqnHt_B2RL7qHmkP9WGIv_Gf9MDJxR1Q77SzbVk4bn_BiPf_nU4Ctkd7lsvUdCyDc5y85zi7YtpstKerSkoM2et-iZSBBNNLxy7g/s1600/News+strategy+validation+set.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;418&quot; data-original-width=&quot;615&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5GELo3zgAj1hxSPQh_FY_MAUOecKiBvVZbwqnHt_B2RL7qHmkP9WGIv_Gf9MDJxR1Q77SzbVk4bn_BiPf_nU4Ctkd7lsvUdCyDc5y85zi7YtpstKerSkoM2et-iZSBBNNLxy7g/s400/News+strategy+validation+set.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNHQLrWwICgNvZg2I-bTxUMzgNVcnbx6Y-OQixl6nUIU3H7CmOyBFcWDqtFetdZmRdNwa3wIjNk7dA1uDaW9ZyzLU_TibRY8Ei4p3ThcI3vo-GXl4jLdiEN8QxPW4U1Myn9Slw4Q/s1600/News+strategy+test+set.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;399&quot; data-original-width=&quot;585&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNHQLrWwICgNvZg2I-bTxUMzgNVcnbx6Y-OQixl6nUIU3H7CmOyBFcWDqtFetdZmRdNwa3wIjNk7dA1uDaW9ZyzLU_TibRY8Ei4p3ThcI3vo-GXl4jLdiEN8QxPW4U1Myn9Slw4Q/s400/News+strategy+test+set.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
One cliché in data science confirmed: a picture is worth a thousand words. (Perhaps you’ve heard of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Anscombe%27s_quartet&quot; target=&quot;_blank&quot;&gt;Anscombe&#39;s Quartet&lt;/a&gt;?) We would happily invest in a strategy that looked like that in the validation set, but no way would we do so for that in the test set. What kind of overfitting have we done for the validation set that caused so much &quot;variance&quot; (in the bias-variance sense) in the test set? The honest answer is: Nothing. As we discussed above, the strategy was specified based only on the train set, and the only parameter (5) was also optimized purely on that data. The validation set is effectively an out-of-sample test set, no different from the &quot;test set&quot;. We made the distinction between validation vs test sets in this case in anticipation of machine learning hyperparameter optimization, which wasn&#39;t actually used for this simple news strategy.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
We will comment more on this deterioration in performance for the test set later. For now, let’s address another question: Can categorical features improve the performance in the validation set? We start with 2 categorical features that are most abundantly populated across all news items and most intuitively important: headlineTag and audiences.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The headlineTag feature is a single token (e.g. &quot;BUZZ&quot;), and there are 163 unique tokens. The audiences feature is a set of tokens (e.g. {&#39;O&#39;, &#39;OIL&#39;, &#39;Z&#39;}), and there are 191 unique tokens. The most natural way to deal with such categorical features is to use &quot;one-hot-encoding&quot;: each of these tokens will get its own column in the feature matrix, and if a news item contains such a token, the corresponding column will get a &quot;True&quot; value (otherwise it is &quot;False&quot;). One-hot-encoding also allows us to aggregate these features over multiple news items over some lookback period. To do that, we decided to use the OR operator to aggregate them over the most recent trading day (instead of the 5-day lookback for numerical features). I.e. as long as one news item contains a token within the most recent day, we will set that daily feature to True. Before trying to build a predictive model using this feature matrix, we compared their features importance to other existing features using boosted random forest, as implemented in LightGBM.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOwGEUaA_kXl4KXT44Hbt7lFcyxs4fnl_BxkywglqTBeRK-scjQ4TeLGQoT-cv0UTYO7dvOgd5yruHJV6qQ251aL8-t6733V6-0i7VOdNybUrQm2ddunmCTbyMvvvvzFgseFPWSg/s1600/Features+importance+LGBM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;193&quot; data-original-width=&quot;906&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOwGEUaA_kXl4KXT44Hbt7lFcyxs4fnl_BxkywglqTBeRK-scjQ4TeLGQoT-cv0UTYO7dvOgd5yruHJV6qQ251aL8-t6733V6-0i7VOdNybUrQm2ddunmCTbyMvvvvzFgseFPWSg/s400/Features+importance+LGBM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
These categorical features are nowhere to be found in the top 5 features compared to the price features (returns). But more shockingly, LightGBM returned assetCode as the most important feature! That is a common fallacy of using train data for feature importance ranking (the problem is highlighted by &lt;a href=&quot;https://www.kaggle.com/marketneutral/the-fallacy-of-encoding-assetcode&quot; target=&quot;_blank&quot;&gt;Larkin&lt;/a&gt;.) If a classifier knows that GOOG had a great Sharpe ratio in-sample, of course it is going to predict GOOG to have positive residual return no matter what! The proper way to compute feature importance is to apply &lt;a href=&quot;https://www.amazon.com/Advances-Financial-Machine-Learning-Marcos/dp/1119482089/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=d7381a1bc4fd7adf25c210b2967e15be&amp;amp;creativeASIN=1119482089&quot; target=&quot;_blank&quot;&gt;Mean Decrease Accuracy&lt;/a&gt; (MDA) using validation data or with cross-validation (see our &lt;a href=&quot;http://www.kaggle.com/chanep/assetcode-with-mda-using-random-data&quot; target=&quot;_blank&quot;&gt;kernel&lt;/a&gt; demonstrating that assetCode is no longer an important feature once we do that.) Alternatively, we can manually exclude such features that remain constant through the history of a stock from features importance ranking. Once we have done that, we find the most important features are&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjftipeXELT07Lof60YIEgoIOefOnmGVpUXrfapzShCqG0yBFFzqfwPVLporAbp-dFBPx1OEq9SnoYYhptDO1-vOKCiBg-e6i15SBQoyfZySWWi_NKSIalJBkIsX_Jvod02TE37QA/s1600/Correct+features+importance+LGBM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;264&quot; data-original-width=&quot;942&quot; height=&quot;111&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjftipeXELT07Lof60YIEgoIOefOnmGVpUXrfapzShCqG0yBFFzqfwPVLporAbp-dFBPx1OEq9SnoYYhptDO1-vOKCiBg-e6i15SBQoyfZySWWi_NKSIalJBkIsX_Jvod02TE37QA/s400/Correct+features+importance+LGBM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Compared to the price features, these categorical news features are much less important, and we find that adding them to the simple news strategy above does not improve performance.&lt;br /&gt;
&lt;br /&gt;
So let&#39;s return to the question of why it is that our simple news strategy suffered such deterioration of performance going from validation to test set. (We should note that it isn’t just us that were unable to extract much value from the news data. Most other kernels published by other Kagglers have not shown any benefits in incorporating news features in generating alpha either. Complicated price features with complicated machine learning algorithms are used by many leading contestants that have published their kernels.) We have already ruled out overfitting, since there is no additional&amp;nbsp;information extracted from the validation set. The other possibilities are bad luck, regime change, or alpha decay.&amp;nbsp; Comparing the two equity curves, bad luck seems an unlikely explanation. Given that the strategy uses news features only, and not macroeconomic, price or market structure features, regime change also seems unlikely. Alpha decay seems a likely culprit - by that we mean the decay of alpha due to competition from other traders who use the same features to generate signals. A recently published academic paper (&lt;a href=&quot;https://jpm.iijournals.com/content/45/2/58&quot; target=&quot;_blank&quot;&gt;Beckers, 2018&lt;/a&gt;) lends support to this conjecture. Based on a meta-study of most published strategies using news sentiment data, the author found that such strategies generated an information ratio of 0.76 from 2003 to 2007, but only 0.25 from 2008-2017, a drop of 66%!&lt;br /&gt;
&lt;br /&gt;
Does that mean we should abandon news sentiment as a feature? Not necessarily. Our predictive horizon is constrained to be 10 days. Certainly one should test other horizons if such data is available. When we gave a summary of our findings at a conference, a member of the audience suggested that news sentiment can still be useful if we are careful in choosing which country (India?), or which sector (defence-related stocks?), or which market cap (penny stocks?) we apply it to. We have only applied the research to US stocks in the top 2,000 of market cap, due to the restrictions imposed by Two Sigma, but there is no reason you have to abide by those restrictions in your own news sentiment research.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Workshop update:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We have launched a new online course &quot;Lifecycle of Trading Strategy Development with Machine Learning.&quot; This is a 12-hour, in-depth, online workshop focusing on the challenges and nuances of working with financial data and applying machine learning to generate trading strategies. We will walk you through the complete lifecycle of trading strategies creation and improvement using machine learning, including automated execution, with unique insights and commentaries from our own research and practice. We will make extensive use of Python packages such as Pandas, Scikit-learn, LightGBM, and execution platforms like QuantConnect. It will be co-taught by Dr. Ernest Chan and Dr. Roger Hunter, principals of QTS Capital Management, LLC. See &lt;a href=&quot;http://www.epchan.com/workshops&quot;&gt;www.epchan.com/workshops&lt;/a&gt; for registration details.&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2019/04/is-news-sentiment-still-adding-alpha.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5GELo3zgAj1hxSPQh_FY_MAUOecKiBvVZbwqnHt_B2RL7qHmkP9WGIv_Gf9MDJxR1Q77SzbVk4bn_BiPf_nU4Ctkd7lsvUdCyDc5y85zi7YtpstKerSkoM2et-iZSBBNNLxy7g/s72-c/News+strategy+validation+set.png" height="72" width="72"/><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-5549649757885389050</guid><pubDate>Fri, 05 Apr 2019 13:13:00 +0000</pubDate><atom:updated>2019-04-10T19:44:03.018-04:00</atom:updated><title>The most overlooked aspect of algorithmic trading</title><description>Many algorithmic traders justifiably worship the legends of our industry, people like Jim Simons, David Shaw, or&amp;nbsp;&lt;a href=&quot;https://amzn.to/2HQvyaa&quot; target=&quot;_blank&quot;&gt;Peter Muller&lt;/a&gt;, but there is one aspect of their greatness most traders have overlooked. They have built their businesses and vast wealth not just by sitting in front of their trading screens or scribbling complicated equations all day long, but by collaborating and managing other talented traders and researchers. If you read the recent &lt;a href=&quot;https://youtu.be/srbQzrtfEvY&quot; target=&quot;_blank&quot;&gt;interview&lt;/a&gt; of Simons, or the book by &lt;a href=&quot;https://amzn.to/2I3t33f&quot; target=&quot;_blank&quot;&gt;Lopez de Prado&lt;/a&gt;&amp;nbsp;(head of machine learning at AQR), you will notice that both emphasized a collaborative approach to quantitative investment management. Simons declared that total transparency within Renaissance Technologies is one reason of their success, and Lopez de Prado deemed the &quot;production chain&quot; (assembly line) approach the best meta-strategy for quantitative investment. One does not need to be a giant of the industry to practice team-based strategy development, but to do that well requires years of practice and trial and error. While this sounds no easier than developing strategies on your own, it is more sustainable and scalable - we as individual humans do get tired, overwhelmed, sick, or old sometimes. My experience in team-based strategy development falls into 3 categories: 1) pair-trading, 2) hiring researchers, and 3) hiring subadvisors. Here are my thoughts.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
From Pair Programming to Pair Trading&lt;/h4&gt;
&lt;br /&gt;
Software developers may be familiar with the concept of &quot;pair programming&quot;. I.e. two programmers sitting in front of the same screen staring at the same piece of code, and taking turns at the keyboard. According to &lt;a href=&quot;https://amzn.to/2WxS22J&quot; target=&quot;_blank&quot;&gt;software experts&lt;/a&gt;, this practice reduces bugs and vastly improves the quality of the code.&amp;nbsp; I have found that to work equally well in trading research and executions, which gives new meaning to the term &quot;pair trading&quot;.&lt;br /&gt;
&lt;br /&gt;
The more different the pair-traders are, the more they will learn from each other at the end of the day. One trader may be detail-oriented, while another may be bursting with ideas. One trader may be a programmer geek, and another may have a CFA. Here is an example. In financial data science and machine learning, data cleansing is a crucial step, often seriously affecting the validity of the final results. I am, unfortunately, often too impatient with this step, eager to get to the &quot;red meat&quot; of strategy testing. Fortunately, my colleagues at &lt;a href=&quot;http://www.qtscm.com/&quot; target=&quot;_blank&quot;&gt;QTS Capital&lt;/a&gt; are much more patient and careful, leading to much better quality work and invalidating quite a few of my bogus strategies along the way. Speaking of invalidating strategies, it is crucial to have a pair-trader independently backtest a strategy before trading it, preferably in two different programming languages. As I have written in my &lt;a href=&quot;https://amzn.to/2HUiyQG&quot; target=&quot;_blank&quot;&gt;book&lt;/a&gt;, I backtest with Matlab and others in my firm use Python, while the final implementation as a production system by my pair-trader Roger is always in C#. Often, subtle biases and bugs in a strategy will be revealed only at this last step. After the strategy is &quot;cross-validated&quot; by your pair-trader, and you have moved on to live trading, it is a good idea to have one human watching over the trading programs at all times, even for fully automated strategies.&amp;nbsp; (For the same reason, I always have my foot ready on the brake even though my car has a collision avoidance system.) Constant supervision requires two humans, at least, especially if you trade in international as well as domestic markets.&lt;br /&gt;
&lt;br /&gt;
Of course, pair-trading is not just about finding bugs and monitoring live trading. It brings to you new ideas, techniques, strategies, or even completely new businesses. I have started two hedge funds in the past. In both cases, it started with me consulting for a client, and the consulting progressed to a collaboration, and the collaboration became so fruitful that we decided to start a fund to trade the resulting strategies.&lt;br /&gt;
&lt;br /&gt;
For balance, I should talk about a few downsides to pair-trading. Though the final product&#39;s quality is usually higher, collaborative work often takes a lot longer. Your pair-trader&#39;s schedule may be different from yours. If the collaboration takes the form of a formal partnership in managing a fund or business, be careful not to share ultimate control of it with your pair-trading partner (sharing economic benefits is of course necessary). I had one of my funds shut down due to the early retirement of my partner. One of the reasons I started trading independently instead of working for a large firm is to avoid having my projects or strategies prematurely terminated by senior management, and having a partner involuntarily shuts you down is just as bad.&lt;br /&gt;
&lt;br /&gt;
Where to find your pair-trader? Publish your ideas and knowledge to social media is the easiest way (note this blog here). Whether you blog, tweet, quora, linkedIn, podcast, or youTube, if your audience finds you knowledgeable, you can entice them to a collaboration.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Hiring Researchers&lt;/h4&gt;
Besides pair-trading with partners on a shared intellectual property basis, I have also hired various interns and researchers, where I own all the IP. They range from undergraduates to post-doctoral researchers (and I would not hesitate to hire talented high schoolers either.) The difference with pair-traders is that as the hired quants are typically more junior in experience and hence require more supervision, and they need to be paid a guaranteed fee instead of sharing profits only. Due to the guaranteed fee, the screening criterion is more important.&amp;nbsp;&amp;nbsp;I found short interviews, even one with brain teasers, to be quite unpredictive of future performance (no offence, D.E. Shaw.) We settled on giving an applicant a tough financial data science problem to be done at their leisure. I also found that there is no particular advantage to being in the same physical office with your staff. We have worked very well with interns spanning the globe from the UK to Vietnam.&lt;br /&gt;
&lt;br /&gt;
Though physical meetings are unimportant, regular Google Hangouts with screen-sharing is essential in working with remote researchers. Unlike with pair-traders, there isn&#39;t time to work together on coding with all the different researchers. But it is very beneficial to walk through their codes whenever results are available. Bugs will be detected, nuances explained, and very often, new ideas come out of the video meetings. We used to have a company-wide weekly video meetings where a researcher would present his/her results using Powerpoints, but I have found that kind of high level presentation to be less useful than an in-depth code and result review. Powerpoint presentations are also much more time-consuming to prepare, whereas a code walk-through needs little preparation.&lt;br /&gt;
&lt;br /&gt;
Generally, even undergraduate interns prefer to develop a brand new strategy on their own. But that is not necessarily the most productive use of their talent for the firm. It is rare to be able to develop and complete a trading strategy using machine learning within a summer internship. Also, if the goal of the strategy is to be traded as an independent managed account product (e.g. our &lt;a href=&quot;https://www.qtscm.com/accounts&quot; target=&quot;_blank&quot;&gt;Futures strategy&lt;/a&gt;), it takes a few years to build a track record for it to be marketable. On the other hand, we can often see immediate benefits from improving an existing strategy, and the improvement can be researched within 3 or 4 months. This also fits within the &quot;production chain&quot; meta-strategy described by Lopez de Prado above, where each quant should mainly focus on one aspect of the strategy production.&lt;br /&gt;
&lt;br /&gt;
This whole idea of emphasizing improving existing strategies over creating new strategies was suggested to us by our post-doctoral researcher, which leads me to the next point.&lt;br /&gt;
&lt;br /&gt;
Sometimes one hires people because we need help with something we can do ourselves but don&#39;t have time to. This would generally be the reason to hire undergraduate interns. But sometimes, I hire&amp;nbsp; people who are better than I am at something. For example, despite my theoretical physics background, my stochastic calculus isn&#39;t top notch (to put it mildly). This is remedied by hiring our postdoc Ray who found tedious mathematics a joy rather than a drudgery. While undergraduate interns improve our productivity, graduate and post-doctoral researchers are generally able to break new ground for us. For these quants, they require more freedom to pursue their projects, but that doesn&#39;t mean we can skip the code reviews and weekly video conferences, just like what we do with pair-traders.&lt;br /&gt;
&lt;br /&gt;
Some firms may spend a lot of time and money to find such interns and researchers using professional recruiters. In contrast, these hires generally found their way to us, despite our minuscule size. That is because I am known as an educator (both formally as adjunct faculty in universities, as well as informally on social media and through books). Everybody likes to be educated while getting paid. If you develop a reputation of being an educator in the broadest sense, you shall find recruits coming to you too.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Hiring Subadvisors&lt;/h4&gt;
&lt;div&gt;
If one decides to give up on intellectual property creation, and just go for returns on investment, finding subadvisors to trade your account isn&#39;t a bad option. After all, creating IP takes a lot of time and money, and finding a profitable subadvisor will generate that cash flow and diversify your portfolio and revenue stream while you are patiently doing research. (In contrast to Silicon Valley startups where the cash for IP creation comes from venture capital, cash flow for hedge funds like ours comes mainly from fees and expense reimbursements, which are quite limited unless the fund is large or very profitable.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
We have tried a lot of subadvisors in the past. All but one failed to deliver. Why? That is because we were cheap. We picked &quot;emerging&quot; subadvisors who had profitable, but short, track records, and charged lower fees. To our chagrin, their long and deep drawdown typically immediately began once we hired them. There is a name for this: it is called selection bias. If you generate 100 geometric random walks representing the equity curves of subadvisors, it is likely that one of them has a Sharpe ratio greater than 2 if the random walk has only 252 steps.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Here, I simulated 100 normally distributed returns series with 252 bars, and sure enough, the maximum Sharpe ratio of those is 2.8 (indicated by the red curve in the graph below.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNeTKtYE_FiKmS9iEBhfTbrlfB0DewYb8q6A1-NYYExrOh3lhNbgjgqsrLF_2ktOcOn1YSYa5_6fB59B1C60jZTeo4njkJxSs_HGkGgkwyM-6rO8FGAoTW894VbMspoysbrZP0-w/s1600/randomWalk.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;560&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNeTKtYE_FiKmS9iEBhfTbrlfB0DewYb8q6A1-NYYExrOh3lhNbgjgqsrLF_2ktOcOn1YSYa5_6fB59B1C60jZTeo4njkJxSs_HGkGgkwyM-6rO8FGAoTW894VbMspoysbrZP0-w/s400/randomWalk.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
(The first 3 readers who can email me a correct analytical expression with a valid proof that describes the cumulative probability P of obtaining a Sharpe ratio greater than or equal to S of a normally distributed returns series of length T &lt;b&gt;will get a free copy of my book &lt;a href=&quot;https://www.amazon.com/Machine-Trading-Deploying-Computer-Algorithms/dp/1119219604/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=b6c22e03b04fdcf3f6a14bc4b5891edb&amp;amp;creativeASIN=1119219604&quot; target=&quot;_blank&quot;&gt;Machine Trading&lt;/a&gt;&lt;/b&gt;. At their option, I can also tweet their names and contact info to attract potential employment or consulting opportunities.)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
These lucky subadvisors are unlikely to maintain their Sharpe ratios going forward. To overcome this selection bias, we adopted this rule: whenever a subadvisor approaches us, we time-stamp that as Day Zero. We will only pay attention to the performance thereafter. This is similar in concept to &quot;paper trading&quot; or &quot;walk-forward testing&quot;.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Subadvisors with longer profitable track records do pass this test more often than &quot;emerging&quot; subadvisors. But these subadvisors typically charge the full 2 and 20 fees, and the more profitable ones may charge even more. Some investors balk at those high fees. I think these investors suffer from a behavioral finance bias, which for lack of a better term I will call &quot;Scrooge syndrome&quot;. Suppose one owns Amazon&#39;s stock that went up 92461% since IPO. Does one begrudge Jeff Bezo&#39;s wealth? Does one begrudge the many millions he rake in every day? No, the typical investor only cares about the net returns on equity. So why does this investor suddenly becomes so concerned with the difference between gross and net return of a subadvisor? As long as the net return is attractive, we shouldn&#39;t care how much fees the subadvisor is raking in. Renaissance Technologies&#39; Medallion Fund reportedly charges 5 and 44, but most people would jump at the chance of investing if they were allowed.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Besides fees, some quant investors balk at hiring subadvisors because of pride. That is another behavioral bias, which is known as the &quot;NIH syndrome&quot; (Not Invented Here). Nobody would feel diminished buying AAPL even though they were not involved in creating the iPhone at Apple, why should they feel diminished paying for a service that generates uncorrelated returns? Do they think they alone can create every new strategy ever discoverable by humankind?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
Epilogue&lt;/h4&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Your ultimate wealth when you are 100 years old will more likely be determined by the strategies created by your pair-traders, your consultants/employees, and your subadvisors, than the amazing strategies you created in your twenties. Hire well.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
===&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
Industry update&lt;/h4&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
1) A python package for market simulations by&amp;nbsp;Techila&lt;span style=&quot;background-color: white; color: #222222; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;is available &lt;a href=&quot;http://www.techilatechnologies.com/python-how-to&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. It enables easy parallel computations.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
2) A very readable new &lt;a href=&quot;https://amzn.to/2UeABI1&quot; target=&quot;_blank&quot;&gt;book&lt;/a&gt; on using R in Finance by&amp;nbsp;Jonathan Regenstein, who is the Director of Financial Services Practice at RStudio.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
3) PsyQuation now provides an &lt;a href=&quot;https://psyquation.com/en/premium&quot; target=&quot;_blank&quot;&gt;order flow sentiment indicator&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
4) Larry Connors published a new &lt;a href=&quot;https://amzn.to/2Db9Auu&quot; target=&quot;_blank&quot;&gt;book&lt;/a&gt; on simple but high Sharpe ratio strategies. I enjoyed reading it very much.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
5) &lt;a href=&quot;https://qresearch.qedgeam.com/&quot; target=&quot;_blank&quot;&gt;QResearch&lt;/a&gt; is a backtest platform for the Chinese stock market for non-programmers.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
6) Logan Kane describes an innovative application of volatility prediction &lt;a href=&quot;https://seekingalpha.com/article/4226165-trading-strategy-beat-s-and-p-500-16-plus-percentage-points-per-year-since-1928&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
7) If you aren&#39;t following @VolatilityQ on Twitter, you are missing out on a lot of quant research and alphas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2019/04/the-most-overlooked-aspect-of.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNeTKtYE_FiKmS9iEBhfTbrlfB0DewYb8q6A1-NYYExrOh3lhNbgjgqsrLF_2ktOcOn1YSYa5_6fB59B1C60jZTeo4njkJxSs_HGkGgkwyM-6rO8FGAoTW894VbMspoysbrZP0-w/s72-c/randomWalk.jpg" height="72" width="72"/><thr:total>45</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8196107068458141696</guid><pubDate>Fri, 29 Jun 2018 11:45:00 +0000</pubDate><atom:updated>2018-06-29T07:45:49.867-04:00</atom:updated><title>Loss aversion is not a behavioral bias</title><description>In his famous book &quot;&lt;a href=&quot;https://amzn.to/2yU4IKr&quot; target=&quot;_blank&quot;&gt;Thinking, Fast and Slow&lt;/a&gt;&quot;, the Nobel laureate Daniel Kahneman described one common example of a behavioral finance bias:&lt;br /&gt;
&lt;br /&gt;
&quot;You are offered a gamble on the toss of a [fair] coin.&lt;br /&gt;
If the coin shows tails, you lose $100.&lt;br /&gt;
If the coin shows heads, you win $110.&lt;br /&gt;
Is this gamble attractive? Would you accept it?&quot;&lt;br /&gt;
&lt;br /&gt;
(I have modified the numbers to be more realistic in a financial market setting, but otherwise it is a direct quote.)&lt;br /&gt;
&lt;br /&gt;
Experiments show that most people would not accept this gamble, even though the expected gain is $5. This is the so-called &quot;loss aversion&quot; behavioral bias, and is considered irrational. Kahneman went on to write that &quot;professional risk takers&quot; (read &quot;traders&quot;) are more willing to act rationally and accept this gamble.&lt;br /&gt;
&lt;br /&gt;
It turns out that the loss averse &quot;layman&quot; is the one acting rationally here.&lt;br /&gt;
&lt;br /&gt;
It is true that if we have infinite capital, and can play infinitely many rounds of this game simultaneously, we should expect $5 gain per round. But trading isn&#39;t like that. We are dealt one coin at a time, and if we suffer a string of losses, our capital will be depleted and we will be in debtor prison if we keep playing. The proper way to evaluate whether this game is attractive is to evaluate the expected compound rate of growth of our capital.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s say we are starting with a capital of $1,000. The expected return of playing this game once is initially 0.005.&amp;nbsp; The standard deviation of the return is 0.105. To simplify matters, let&#39;s say we are allowed to adjust the payoff of each round so we have the same expected return and standard deviation of return each round. For e.g. if at some point we earned so much that we doubled our capital to $2,000, we are allowed to win $220 or lose $200 per round. What is the expected growth rate of our capital? According to standard &lt;a href=&quot;http://epchan.blogspot.com/2017/05/paradox-resolved-why-risk-decreases.html&quot; target=&quot;_blank&quot;&gt;stochastic calculus&lt;/a&gt;, in the continuous approximation it is -0.0005125 per round - we are losing, not gaining! The layman is right to refuse this gamble.&lt;br /&gt;
&lt;br /&gt;
Loss aversion, in the context of a risky game played repeatedly, is rational, and not a behavioral bias. Our primitive, primate instinct grasped a truth that behavioral economists cannot.&amp;nbsp; It only seems like a behavioral bias if we take an &quot;ensemble view&quot; (i.e. allowed infinite capital to play many rounds of this game simultaneously), instead of a &quot;time series view&quot; (i.e. allowed only finite capital to play many rounds of this game in sequence, provided we don&#39;t go broke at some point). The time series view is the one relevant to all traders. In other words, take time average, not ensemble average, when evaluating real-world risks.&lt;br /&gt;
&lt;br /&gt;
The important difference between ensemble average and time average has been raised in this &lt;a href=&quot;https://aip.scitation.org/doi/full/10.1063/1.4940236&quot; target=&quot;_blank&quot;&gt;paper&lt;/a&gt; by Ole Peters and Murray Gell-Mann (another Nobel laureate like Kahneman.) It deserves to be much more widely read in the behavioral economics community. But beyond academic interest, there is a practical importance in emphasizing that loss aversion is rational. As traders, we should &lt;b&gt;not &lt;/b&gt;only focus on average returns: risks can depress compound returns severely.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
&lt;br /&gt;
Industry update&lt;br /&gt;
&lt;br /&gt;
1) &lt;a href=&quot;https://alpaca.markets/)&quot; target=&quot;_blank&quot;&gt;Alpaca&lt;/a&gt;&amp;nbsp;is a new&amp;nbsp;an algo-trading API brokerage platform with zero commissions.&lt;br /&gt;
&lt;br /&gt;
2) &lt;a href=&quot;https://www.algotrader.com/features/&quot; target=&quot;_blank&quot;&gt;AlgoTrader&lt;/a&gt; started a new quant strategy development and implementation platform.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My Upcoming Workshop&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
August 4 and 11:&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.epchan.com/workshops/&quot; target=&quot;_blank&quot;&gt;Artificial Intelligence Techniques for Traders&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I briefly discussed why AI/ML techniques are now part of the standard toolkit for quant traders &lt;a href=&quot;https://www.youtube.com/watch?v=5-nG8NSzE1s&amp;amp;t=5s&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. This real-time online workshop will take you through many of the nuances of applying these techniques to trading.</description><link>http://epchan.blogspot.com/2018/06/loss-aversion-is-not-behavioral-bias.html</link><author>noreply@blogger.com (Ernie Chan)</author><thr:total>41</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-8974183845006043278</guid><pubDate>Fri, 02 Feb 2018 10:02:00 +0000</pubDate><atom:updated>2018-02-02T05:02:21.885-05:00</atom:updated><title>FX Order Flow as a Predictor</title><description>Order flow is signed trade size, and it has long been known to be predictive of future price changes. (See &lt;a href=&quot;http://amzn.to/2DKKn8j&quot; target=&quot;_blank&quot;&gt;Lyons, 2001&lt;/a&gt;, or &lt;a href=&quot;https://www.amazon.com/Machine-Trading-Deploying-Computer-Algorithms/dp/1119219604/ref=as_sl_pc_tf_til?tag=quantitativet-20&amp;amp;linkCode=w00&amp;amp;linkId=b6c22e03b04fdcf3f6a14bc4b5891edb&amp;amp;creativeASIN=1119219604&quot; target=&quot;_blank&quot;&gt;Chan, 2017&lt;/a&gt;.) The problem, however, is that it is often quite difficult or expensive to obtain such data, whether historical or live. This is especially true for foreign exchange transactions which occur over-the-counter. Recognizing the profit potential of such data, most FX market operators guard them as their crown jewels, never to be revealed to customers. But recently FXCM, a FX broker, has kindly provided me with their &lt;a href=&quot;https://www.fxcm.com/uk/trading-services/market-data/&quot; target=&quot;_blank&quot;&gt;proprietary data&lt;/a&gt;, and I have made use of that to test a simple trading strategy using order flow on EURUSD.&lt;br /&gt;
&lt;br /&gt;
First, let us examine some general characteristics of the data. It captures all trades transacted on FXCM occurring in 2017, time stamped in milliseconds, and with their trade prices and signed trade sizes. The sign of a trade is positive if it is the result of a buy market order, and negative if it is the result of a sell. If we take the absolute value of these trade sizes and sum them over hourly intervals, we obtain the usual hourly volumes (click to enlarge) aggregated over the 1 year data set:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSb_PW_6PCkE4gIbsM2CwupQXfzcvG3_mVGo6COQqfyqHq-cYowW8wG8m5gJhMDNlKWDH88usOzs78Rd_t54Y_-rQhLGpxL2TpXZvAIY5j2iS-zSU5r7LpMz1QQaED8n3eQqUb4w/s1600/hourlyVolume.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;560&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSb_PW_6PCkE4gIbsM2CwupQXfzcvG3_mVGo6COQqfyqHq-cYowW8wG8m5gJhMDNlKWDH88usOzs78Rd_t54Y_-rQhLGpxL2TpXZvAIY5j2iS-zSU5r7LpMz1QQaED8n3eQqUb4w/s400/hourlyVolume.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is not surprising that the highest volume occurs between 16:00-17:00 London time, as 16:00 is when the benchmark rate (the &quot;&lt;a href=&quot;https://www.investopedia.com/articles/forex/031714/how-forex-fix-may-be-rigged.asp&quot; target=&quot;_blank&quot;&gt;fix&lt;/a&gt;&quot;) is determined. The secondary peak at 9:00-10:00 is of course the start of the business day in London.&lt;br /&gt;
&lt;br /&gt;
Next, I compute the daily total order flow of EURUSD (with the end of day at New York&#39;s midnight), and I establish a histogram of the last 20 days&#39; daily order flow. I then determine the average next-day return of each daily order flow quintile. (I.e. I bin a next-day return based on which quintile the prior day&#39;s order flow fell into, and then take the average of the returns in each bin.) The result is satisfying:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lYe72txg8HeMMDjAT2uOxBZ0P10mW95oTNsPsOPDVzlc7bhvfjpr4VyYwozZ-UgnhkcWJJG538nLQYhFhGcI9pxaocM9gXhMNkIcRj9-VQKMwPEjp34MoSv7lPuGcEqxVVSGOw/s1600/order+flow+return+quintiles.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;560&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lYe72txg8HeMMDjAT2uOxBZ0P10mW95oTNsPsOPDVzlc7bhvfjpr4VyYwozZ-UgnhkcWJJG538nLQYhFhGcI9pxaocM9gXhMNkIcRj9-VQKMwPEjp34MoSv7lPuGcEqxVVSGOw/s400/order+flow+return+quintiles.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
We can see that the average next-day returns are almost monotonically increasing with the previous day&#39;s order flow. The spread between the top and bottom quintiles is about 12 bps, which annualizes to about 30%. This doesn&#39;t mean we will generate 30% annualized returns, since we won&#39;t be able to arbitrage between today&#39;s return (if the order flow is in the top or bottom quintile) with some previous day&#39;s return when its order flow was in the opposite extreme. Nevertheless, it is encouraging. Also, this is an illustration that even though order flow must be computed on a tick-by-tick basis (I am not a fan of the &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2182819&quot; target=&quot;_blank&quot;&gt;bulk volume classification&lt;/a&gt; technique), it can be used in low-frequency trading strategies.&lt;br /&gt;
&lt;br /&gt;
(One may be tempted to also regress future returns against past order flows, but the result is statistically insignificant. Apparently only the top and bottom quintiles of order flow are predictive. This situation is actually quite &lt;a href=&quot;https://www.bloomberg.com/news/articles/2017-06-27/ex-bridgewater-quant-says-smart-beta-etfs-use-factors-all-wrong&quot; target=&quot;_blank&quot;&gt;common&lt;/a&gt; in finance, which is why linear regression isn&#39;t used more often in trading strategies.)&lt;br /&gt;
&lt;br /&gt;
Finally, one more sanity check before backtesting. I want to see if the buy trades (trades resulting from buy market orders) are filled above the bid price, and the sell trades are filled below the ask price. Here is the plot for one day (times are in New York):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJlwaOC-WeG5xXrT1rgefXhyOS37csnjXELLGbYWSYDsv_EfE6b9RbydNqBgMkidgHzwvddbs8TraElPvft9KId8iSYSRukkoStfMcwX3qpnmwvsDT-ZaY3kqvUyowUMlq5nhsmA/s1600/compare+trade+vs+quote+prices.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;560&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJlwaOC-WeG5xXrT1rgefXhyOS37csnjXELLGbYWSYDsv_EfE6b9RbydNqBgMkidgHzwvddbs8TraElPvft9KId8iSYSRukkoStfMcwX3qpnmwvsDT-ZaY3kqvUyowUMlq5nhsmA/s400/compare+trade+vs+quote+prices.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that by and large, the relationship between trade and quote prices is satisfied. We can&#39;t really expect that this relationship holds 100%, due to rare occasions that the quote has moved in the sub-millisecond after the trade occurred and the change is reported as synchronous with the trade, or when there is a delay in the reporting of either a trade or a quote change.&lt;br /&gt;
&lt;br /&gt;
So now we are ready to construct a simple trading strategy that uses order flow as a predictor. We can simply buy EURUSD at the end of day when the daily flow is in the top quintile among its last 20 days&#39; values, and hold for one day, and short it when it is in the bottom quintile. Since our daily flow was measured at midnight New York time, we also define the end of day at that time. (Similar results are obtained if we use London or Zurich&#39;s midnight, which suggests we can stagger our positions.) In my backtest, I have subtracted 0.20 bps commissions (based on Interactive Brokers), and I assume I buy at the ask and sell at the bid using market orders. The equity curve is shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6J-sUli0Uveemufn7684ch1MxLcegtKAmC6VYRnXgweMkT5LqhNJ9A15dURJbRlIgeMF2PDzcbPNLM7LlGkXY4K5LKyzWrxB2BxUWYNF1bgK38D31R9PqzyQqDk5QGjKJYJNXfw/s1600/equity+curve.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;560&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6J-sUli0Uveemufn7684ch1MxLcegtKAmC6VYRnXgweMkT5LqhNJ9A15dURJbRlIgeMF2PDzcbPNLM7LlGkXY4K5LKyzWrxB2BxUWYNF1bgK38D31R9PqzyQqDk5QGjKJYJNXfw/s400/equity+curve.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The CAGR is 13.7%, with a Sharpe ratio of 1.6. Not bad for a single factor model!&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Acknowledgement&lt;/i&gt;:&amp;nbsp; I thank&amp;nbsp;&lt;a href=&quot;http://zacharydavid.com/&quot; target=&quot;_blank&quot;&gt;Zachary David&lt;/a&gt;&amp;nbsp;for his&amp;nbsp;review and comments on an earlier draft of this post, and of course FXCM for providing their &lt;a href=&quot;https://www.fxcm.com/uk/trading-services/market-data/&quot; target=&quot;_blank&quot;&gt;data&lt;/a&gt;&amp;nbsp;for this research.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
&lt;br /&gt;
Industry update&lt;br /&gt;
&lt;br /&gt;
1)&amp;nbsp;&lt;a href=&quot;http://www.qbitia.com/&quot; target=&quot;_blank&quot;&gt;Qcaid&lt;/a&gt; is a cloud-based platform that provides traders with backtesting, execution, and simulation facilities. They also provide servers and data feed.&lt;br /&gt;
&lt;br /&gt;
2)&amp;nbsp;&lt;a href=&quot;https://blog.cadre.com/how-cadre-uses-machine-learning-to-target-real-estate-markets-3c03ca1dac26&quot; target=&quot;_blank&quot;&gt;How Cadre Uses Machine Learning to Target Real Estate Markets&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
3) Check out Quantopian&#39;s new &lt;a href=&quot;https://www.quantopian.com/tutorials/getting-started&quot; target=&quot;_blank&quot;&gt;tutorial&lt;/a&gt;&amp;nbsp;on getting started in quantitative finance.&lt;br /&gt;
&lt;br /&gt;
4) A new Matlab-based backtest and live trading platform for download&amp;nbsp;&lt;a href=&quot;https://github.com/EliteQuant/EliteQuant_Matlab&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
5) A nice resource page for&amp;nbsp;open source algorithmic trading tools at &lt;a href=&quot;http://www.quantnews.com/resources/&quot; target=&quot;_blank&quot;&gt;QuantNews&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My Upcoming Workshops&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
February 24 and March 3: &lt;a href=&quot;http://www.epchan.com/workshops&quot; target=&quot;_blank&quot;&gt;Algorithmic Options Strategies&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This online course focuses on backtesting intraday and portfolio option strategies. No pesky options pricing theories will be discussed, as the emphasis is on arbitrage trading.&lt;br /&gt;
&lt;br /&gt;
June 4-8: London workshops&lt;br /&gt;
&lt;br /&gt;
These intense 8-16 hours workshops cover &lt;a href=&quot;http://www.globalmarkets-training.co.uk/algorithmicoptions.html&quot; target=&quot;_blank&quot;&gt;Algorithmic Options Strategies&lt;/a&gt;, &lt;a href=&quot;http://www.globalmarkets-training.co.uk/quantmomentum.html&quot; target=&quot;_blank&quot;&gt;Quantitative Momentum Strategies&lt;/a&gt;, and &lt;a href=&quot;http://www.globalmarkets-training.co.uk/intradaytrading.html&quot; target=&quot;_blank&quot;&gt;Intraday Trading and Market Microstructure&lt;/a&gt;. Typical class size is under 10. They may qualify for CFA Institute continuing education credits. (Bonus: nice &lt;a href=&quot;https://twitter.com/chanep/status/908250965786144769&quot; target=&quot;_blank&quot;&gt;view&lt;/a&gt; of the Thames, and lots of free food.)&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2018/02/fx-order-flow-as-predictor.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSb_PW_6PCkE4gIbsM2CwupQXfzcvG3_mVGo6COQqfyqHq-cYowW8wG8m5gJhMDNlKWDH88usOzs78Rd_t54Y_-rQhLGpxL2TpXZvAIY5j2iS-zSU5r7LpMz1QQaED8n3eQqUb4w/s72-c/hourlyVolume.png" height="72" width="72"/><thr:total>38</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35364652.post-6209849724100317718</guid><pubDate>Thu, 04 Jan 2018 11:58:00 +0000</pubDate><atom:updated>2018-01-04T08:05:22.904-05:00</atom:updated><title>A novel capital booster: Sports Arbitrage</title><description>&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
By Stephen Hope&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=35364652&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
As traders, we of course need money to make money, but not everyone has 10-50k of capital lying around to start one&#39;s trading journey. Perhaps the starting capital is only 1k or less. This article describes how one can take a small amount of capital and multiply it as much as 10 fold in one year by taking advantage of large market inefficiencies (leading to arbitrage opportunities) in the sports asset class. However, impressive returns such as this are difficult to achieve with significantly larger seed capital, as discussed later.&lt;br /&gt;
&lt;br /&gt;
Arbitrage is the perfect trade if you can get your hands on one, but clearly this is exceptionally difficult in the financial markets. In contrast, the sports markets are very inefficient due to the general lack of trading APIs and patchy liquidity etc. Arbitrages can persist for minutes (or even hours at a time).&lt;br /&gt;
&lt;br /&gt;
Consider a very simple example of sports arbitrage; Team A vs Team B and three bookmakers quoting the odds shown in the table below. When the odds are expressed in decimal form we can calculate the implied probability of the event&amp;nbsp; e occurring as quoted by bookmaker i as&amp;nbsp; P(i,e) = 1/Odds(i,e)&amp;nbsp; (shown in brackets in the table).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; margin-left: 2.75pt; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 2.75pt 2.75pt 2.75pt 2.75pt; mso-table-layout-alt: fixed;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Three Way Market&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Bookmaker B1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Bookmaker B2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Bookmaker B3&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Team A win&lt;span style=&quot;color: red;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;color: red; font-size: 9.0pt;&quot;&gt;1.4 (71.4%)&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.2 (83.3%)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.2 (83.3%)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Team A lose&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;8.8 (11.4%)&lt;span style=&quot;color: red;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;color: red; font-size: 9.0pt;&quot;&gt;9.5 (10.5%)&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;9.1 (11.0%)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Draw&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;5.8 (17.2%)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;6.0 (16.7%)&lt;span style=&quot;color: red;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;color: red; font-size: 9.0pt;&quot;&gt;6.8 (14.7%)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
In the Three Way Market, there are only 3 possible outcomes; Team A wins, Team A loses or it&#39;s a draw. Therefore the sum of the probabilities of these 3 events should equal 100% (in a fair market). However, we can see that the market is not efficient and the combination of odds shown in red give;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ShDzRUSMo7fMr-dMTtnw880fCBESiHLH3kAUPMx-dmwXmtZFrX-OEvLLhx6vHWlPrn5MdlXMonY0HvQCXK3Nlz-x1MeCs_hTgfeJuWM0itl2Ke0hKjMYe6GcL_9RB5H73VkQRQ/s1600/formula_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;43&quot; data-original-width=&quot;640&quot; height=&quot;25&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ShDzRUSMo7fMr-dMTtnw880fCBESiHLH3kAUPMx-dmwXmtZFrX-OEvLLhx6vHWlPrn5MdlXMonY0HvQCXK3Nlz-x1MeCs_hTgfeJuWM0itl2Ke0hKjMYe6GcL_9RB5H73VkQRQ/s400/formula_1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
This is an arbitrage opportunity in the Three Way market with 3 legs;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=35364652&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
1_2_X and Odds = (1.4, 9.5, 6.8)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
where&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
1 = Three Way Market (home team to win)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
2 = Three Way Market (away team to win)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
X = Three Way Market (a draw)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The size of the arbitrage is given by&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiCkPaB5UnX6wb-bW_fnwirJa62HPnlqKFuh0EYI_h5p-1h3aMeX8jGOAlhJFneHXCK8aggkuXLUPY547-yE0Pa3CXkB99pBHvpUwa4yoxDAB8gRbr-p_hnd6rJ8bv_8wDgtPUDw/s1600/formula_2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;80&quot; data-original-width=&quot;592&quot; height=&quot;43&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiCkPaB5UnX6wb-bW_fnwirJa62HPnlqKFuh0EYI_h5p-1h3aMeX8jGOAlhJFneHXCK8aggkuXLUPY547-yE0Pa3CXkB99pBHvpUwa4yoxDAB8gRbr-p_hnd6rJ8bv_8wDgtPUDw/s320/formula_2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
and in order to realise this arbitrage we need to bet the following percentage stakes against our notional&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cJEKXNXVeKxCypzM0zUnVgsMvNNH-dpvg0fKDoFLCwnM2etXsi5sDaiWi4sZgvZjoS-DKl3fKq_lYN1DtnPw8d2tMiYFhsQiTOWMJYl_ts1jzuSVlBf-_FTk_fgMgTpa8pT19A/s1600/formula_3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;196&quot; data-original-width=&quot;640&quot; height=&quot;98&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cJEKXNXVeKxCypzM0zUnVgsMvNNH-dpvg0fKDoFLCwnM2etXsi5sDaiWi4sZgvZjoS-DKl3fKq_lYN1DtnPw8d2tMiYFhsQiTOWMJYl_ts1jzuSVlBf-_FTk_fgMgTpa8pT19A/s320/formula_3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above example is a &#39;simple&#39; arbitrage. However, the majority of football arbitrage opportunities are &#39;complex&#39; arbitrages. Complex in the sense that the bet legs are not mutually exclusive and more than one leg can pay out over some overlapping subset of possible outcomes. The calculation then becomes more complex.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
For example, consider the following 3 leg complex arbitrage;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
AH2(-0.25)_X1_1 and Odds = (1.69, 2.1, 5.25);&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
where&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
AH2(-0.25) = &lt;a href=&quot;http://www.valuepunter.com/asianhandicap-table.htm&quot; target=&quot;_blank&quot;&gt;Asian Handicap Market&lt;/a&gt; (away team to win, handicap -0.25)&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
X1 = Double Chance Market (home team to win or draw)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
1 = Three Way Market (home team to win)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
We can construct a payoff matrix to more easily visualise the outcome dependent payoffs of the 3 bet legs.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; margin-left: 2.75pt; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 2.75pt 2.75pt 2.75pt 2.75pt; mso-table-layout-alt: fixed;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Payoff Matrix&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Away Team Wins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Draw&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Home Team Wins&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;AH2(-0.25)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;0.69&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;-0.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;-1&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;X1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;-1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.1&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;-1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.45pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;-1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 120.5pt;&quot; valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;4.25&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Matrix Element Meanings&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
0.69 –&amp;gt; win 0.69 * stake 1 (+ stake 1 returned)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
1.1 –&amp;gt; win 1.1 * stake 2 (+ stake 2 returned)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
4.25 –&amp;gt; win 4.25 * stake 3 (+ stake 3 returned)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
-0.5 –&amp;gt; lose -0.5 * stake 1 (get half of stake 1 back)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
-1 –&amp;gt; lose -1 * stake i (lose your full stake)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The structure of the Payoff Matrix reveals a &#39;potential&#39; arbitrage because there exists no column (event outcome) that contains only negative cash flows. It is a potential &#39;complex arbitrage&#39; because in the event of a draw or home team win, there exists two bet legs that can give rise to a positive cash flow for the same outcome (remember, -0.5 means half of the stake is returned so is still positive). However, whether or not the arbitrage can be &#39;realised&#39; depends on whether or not we can find a solution for the stake percentages for each leg that gives a positive net profit for every outcome. So how do we do this ?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Constructed as a dynamic programming optimisation we have;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;160&quot; data-original-width=&quot;384&quot; height=&quot;83&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s200/formula_4.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjggoVSzYbYOfGTUE-0ECGv633WAhIOL8J-yvJ76kn-67yM2ci0Hk9NLZ3AAly-R-8xnu0lJOu6kkY-QyCxO5INGTRP-UA4RQRU3Bnk9_H4tYUPiY5RcuH1qBtSw9fJqliAchWR_w/s1600/formula_4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=35364652&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
where&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
x = ( x1 , x2 , x3 ... ) are the bet leg stakes&lt;/div&gt;
&lt;div&gt;
C is a payoff matrix column chosen to maximise&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
A is the constraints matrix (e.g sum of stakes = 1, stake (i) &amp;gt;= 0 etc)&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Solving the optimisation for the AH2(-0.25)_X1_1 example above gives;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; margin-left: 2.75pt; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 2.75pt 2.75pt 2.75pt 2.75pt; mso-table-layout-alt: fixed;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Payoff Matrix&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Away Team Wins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Draw&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Home Team Wins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Stake %&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;AH2(-0.25)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;101.70%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;30.10%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;60.20%&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;X1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;71.60%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;71.60%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;34.10%&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;30.10%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;5.70%&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;Net Profit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.70%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.35pt;&quot; valign=&quot;top&quot; width=&quot;128&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.70%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;1.70%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 2.75pt 2.75pt 2.75pt 2.75pt; width: 96.4pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;TableContents&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-size: 9.0pt;&quot;&gt;100.00%&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=35364652&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
We can see that the arbitrage does indeed have a solution with the stake percentages (60.2%, 34.1%, 5.7%) giving an arbitrage of 1.7% for every possible outcome. There are many thousands of these arbitrage opportunities appearing each day in the sports markets ranging in size from 0.1% - 7%+.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
What returns are possible? Consider, starting with a seed capital of £1k and a trading frequency of 3 times per week with an average arbitrage size of 1.6%. Initially we compound our winnings but there are limits to how much you can stake with a given bookmaker. Assume that we cannot increase our notional beyond £5000 across any multi-leg arbitrage trade. In that case, the initial £1k can grow to approximately £9,500 in one year. Not bad for a few minutes of effort per trade.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So what&#39;s the catch?&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There are really only two pitfalls.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
1)&amp;nbsp; Scaling: You cannot easily compound your returns as with the financial markets.&lt;/div&gt;
&lt;div&gt;
2) Limit Risk: Bookmakers don&#39;t want you to win and can be inclined to significantly reduce your allowed stake notional if you win too much. Avoiding this requires careful management.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Although sports arbitrage does not easily scale, it is a great way of boosting trading capital by a few thousand pounds per year with very small time effort; capital which could be put to use in the financial or crypto markets.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
===&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;About the author&lt;/i&gt;: Stephen Hope is Co-Founder of Machina Trading, a proprietary crypto &amp;amp; sports trading firm that provides an arbitrage tool called &lt;a href=&quot;https://www.rational.bet/affiliate-redirect/02da18ac-5333-4e87-ade8-1044645ba7fd&quot; target=&quot;_blank&quot;&gt;rational bet&lt;/a&gt;. He is former Head of Quantitative Trading Strategies at BNP Paribas and received his PhD in Physics from the University of Cambridge.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
===&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Upcoming Workshops by Dr. Ernie Chan&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;February 24 and March 3&lt;/b&gt;: &lt;a href=&quot;http://www.epchan.com/workshops&quot; target=&quot;_blank&quot;&gt;Algorithmic Options Strategies&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This online course focuses on backtesting intraday and portfolio option strategies. No pesky options pricing theories will be discussed, as the emphasis is on arbitrage trading.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;June 4-8&lt;/b&gt;:&amp;nbsp;&lt;a href=&quot;http://www.globalmarkets-training.co.uk/courses.html&quot; target=&quot;_blank&quot;&gt;London workshops&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
These intense 8-16 hours workshops cover Algorithmic Options Strategies, Quantitative Momentum Strategies, and Intraday Trading and Market Microstructure. Typical class size is under 10. They may qualify for CFA Institute continuing education credits.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://epchan.blogspot.com/2018/01/a-novel-capital-booster-sports-arbitrage.html</link><author>noreply@blogger.com (Ernie Chan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ShDzRUSMo7fMr-dMTtnw880fCBESiHLH3kAUPMx-dmwXmtZFrX-OEvLLhx6vHWlPrn5MdlXMonY0HvQCXK3Nlz-x1MeCs_hTgfeJuWM0itl2Ke0hKjMYe6GcL_9RB5H73VkQRQ/s72-c/formula_1.png" height="72" width="72"/><thr:total>16</thr:total></item></channel></rss>