<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Dean’s Substack]]></title><description><![CDATA[Keep up to date with my blog posts and other thoughts on finance, Julia and everything else.]]></description><link>https://dm13450.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!sZXm!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415d06a4-05b5-40ad-b7ec-6aebda656fdb_48x48.png</url><title>Dean’s Substack</title><link>https://dm13450.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 03:23:50 GMT</lastBuildDate><atom:link href="/__u/dm13450.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dean Markwick]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dm13450@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dm13450@substack.com]]></itunes:email><itunes:name><![CDATA[Dean Markwick]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dean Markwick]]></itunes:author><googleplay:owner><![CDATA[dm13450@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dm13450@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dean Markwick]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The dm12450 Newsletter - August]]></title><description><![CDATA[Currency PCA, the 28p motorway petrol premium, pairwise dog treat rankings, and interview mental math.]]></description><link>https://dm13450.substack.com/p/the-dm12450-newsletter-august</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm12450-newsletter-august</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 06 Aug 2026 19:06:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yKXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>It&#8217;s the August update. Between petrol prices and relentless weather becoming standard small-talk material, alongside applying statistical models to everyday life, it&#8217;s been a month of data digging. So no real difference to any other month for me. In this edition, we look at why principal component analysis struggles with FX markets, rank dog treat preferences using the Bradley-Terry model, explore real-time UK fuel pricing data, and practice some fast mental arithmetic.</span></p><h2><strong><span>A Statistical FX Model</span></strong></h2><p>I&#8217;m still thinking about factor models and how to approach them in different ways. This time I&#8217;ve let the data decide the relevant factors through PCA, hence why it&#8217;s a statistical factor model: <a href="https://dm13450.github.io/2026/07/15/statistical-factor-model.html"><span>A Statistical Factor Model</span></a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!yKXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!yKXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png" width="611" height="436.42857142857144" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1400,&quot;resizeWidth&quot;:611,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Rolling PCA first component weights&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Rolling PCA first component weights" title="Rolling PCA first component weights" srcset="/__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yKXn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc885f6-67ca-4063-9482-f9e3e0b9eea5_1400x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Currency weights from a PCA based FX factor model</figcaption></figure></div><p><span>But like the fundamental model, it still doesn&#8217;t come up with any significant factors. After all, it is still FX data and this is a difficult asset class to build a factor model with. Ultimately, FX doesn&#8217;t move enough and I&#8217;m missing the most relevant factor - interest rates!</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><h2><strong><span>Fuel Insights</span></strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eoGP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 424w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 848w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eoGP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png" width="605" height="242.66483516483515" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:1456,&quot;resizeWidth&quot;:605,&quot;bytes&quot;:311521,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dm13450.substack.com/i/210028383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 424w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 848w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eoGP!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ca4ae9b-0c89-4bb8-bc0f-d1a88b4b52b9_2510x1006.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Red/green colour scheme. Not great for the colour blind AI out there. </figcaption></figure></div><p><span>With petrol prices getting rocked by the war in Iran, small talk is increasingly revolving around how much it costs to fill up. By coincidence, the UK government launched its FuelFinder scheme in Feb 2026. This mandates petrol stations to report their petrol prices in near real-time and the government takes this data and makes it available through a public API. </span><a href="https://www.fuelinsight.co.uk/"><span>Fuel Insights</span></a><span> consumes and saves this data to give a historical view of petrol prices across the UK. Turns out petrol on the motorway commands about a 28p premium and supermarkets are about 2p cheaper on average. It&#8217;s a slick dashboard with unique data from the government. So whilst the FuelFinder scheme is in its early days, things like this show why making data available leads to good things. I&#8217;d be interested to see if the data leads to any real change in pricing behaviour from the public. Looking at my local data I need to drive to my nearest Costco to get the cheapest petrol!</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm12450-newsletter-august/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm12450-newsletter-august/comments"><span>Leave a comment</span></a></p><h2><strong><span>Dog Treats</span></strong></h2><p><span>There&#8217;s nothing I enjoy more than a novel use of statistics. This time it&#8217;s the Bradley-Terry model and using it to work out what particular brand of treats this person&#8217;s dog enjoys the most. </span></p><p><a href="https://www.wespiser.com/posts/2026-06-19-best-dog-treat.html">https://www.wespiser.com/posts/2026-06-19-best-dog-treat.html</a></p><p><span>The Bradley-Terry model is about pairwise comparison and seeing what &#8220;thing&#8221; wins when in competition. I&#8217;ve used it before to look at red cards (</span><a href="https://dm13450.github.io/2018/04/01/BradleyTerry.html"><span>New Applications of Bradley Terry Models</span></a><span>]) and this type of model is used frequently in sports modelling and drug trials. I&#8217;m up for anything that helps me understand man&#8217;s best friend a bit more. Although for my dog, the most expensive treat would be the best predictor.</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zTLK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 424w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 848w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zTLK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png" width="250" height="225.12975778546712" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1041,&quot;width&quot;:1156,&quot;resizeWidth&quot;:250,&quot;bytes&quot;:941712,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dm13450.substack.com/i/210028383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 424w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 848w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zTLK!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F868b145e-198e-46d9-a8c2-680a6e79a1c6_1156x1041.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Luxury treats only pls</figcaption></figure></div><h1><strong><span>Zeta Monkey</span></strong></h1><p><span>Mental arithmetic is something that comes up in finance interviews. You are expected to add, subtract, multiply and divide different amounts quickly and without a calculator. </span><a href="https://www.zetamonkey.com/"><span>ZetaMonkey</span></a><span> is a well-presented website that lets you practice those problems in an aesthetically pleasing way. It does one thing and does it well. See if you can beat my personal best of 20.</span></p><p>As always, feel free to reply directly to this email or leave a comment on the post with your thoughts.</p><p>Happy modeling and enjoy the last bit of summer! </p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm12450-newsletter-august?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Dean&#8217;s Substack! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm12450-newsletter-august?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm12450-newsletter-august?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[From the Archives - August 2021]]></title><description><![CDATA[A quick look back at some past conferences]]></description><link>https://dm13450.substack.com/p/from-the-archives-august-2021</link><guid isPermaLink="false">https://dm13450.substack.com/p/from-the-archives-august-2021</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 04 Jun 2026 17:59:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/6kSPwHcO6L0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let&#8217;s take another look back at August 2021. Something must have happened to spellcheckers that summer, mine was clearly on holiday. Still, that&#8217;s why I repost the past and correct my previous mistakes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>I had just attended two virtual conferences: UseR and JuliaCon. I mentioned it in my last look back, but virtual conferences, while necessary at the time, are not something I miss. The microphone I bought especially for recording video still sits gathering dust, and I occasionally threaten my wife that I might start a podcast. The rest is market microstructure, anyone?</p><p>For UseR, it&#8217;s my <a href="http://dm13450.github.io/2020/06/03/State-of-the-Market.html">State of the Market</a> post and accompanying video. I&#8217;d say this is the earliest post of mine that actually got some eyeballs on it&#8212;only took me six years of blogging!</p><div id="youtube2-6kSPwHcO6L0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6kSPwHcO6L0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6kSPwHcO6L0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For the JuliaCon talks, the high-frequency covariance matrices made a lasting impression. The speaker also wrote a paper that I replicated in <a href="https://dm13450.github.io/2024/12/17/Importance-Sampling-Reinforcement-Learning-and-Getting-More-From-The-Data-You-Have.html">Importance Sampling, Reinforcement Learning and Getting More From The Data You Have</a>. Both the paper and my replication are worth checking out.</p><p>And finally, <a href="https://github.com/dm13450/CoinbasePro.jl">CoinbasePro.jl</a> is still alive and kicking. If it ain&#8217;t broke, don&#8217;t fix it. I might think about letting AI take a look to see if there are any clear bugs I&#8217;ve missed, though.</p><p>Thanks for reading &#8212; enjoy the look back to 2021.</p><p>Dean</p><h2><strong>From the Archives - August 2021</strong></h2><p>This month&#8217;s newsletter will be video-themed. I&#8217;ve just come off the back of two conferences (UseR and JuliaCon), so I&#8217;ll point you towards a long and a short talk.</p><p>First up is JET.jl, a static code analyser for Julia. This talk goes through how to use JET to check your Julia code for any errors without running it. It&#8217;s a tool that should be in any Julia programmer&#8217;s repertoire, and after running it on my packages I found a number of bugs that I then fixed.</p><div id="youtube2-7eOiGc8wfE0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7eOiGc8wfE0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7eOiGc8wfE0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A shorter talk (just 10 minutes) on a practical application of Julia was given by a quant from Credit Suisse on high-frequency covariance matrices. I recommend this for anyone interested in calculating correlation and how it can go wrong when you have lots of data over time.</p><div id="youtube2-X_TCI02rgu0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;X_TCI02rgu0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/X_TCI02rgu0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I&#8217;ve also uploaded my virtual poster presentation for UseR as my YouTube debut:</p><div id="youtube2-6kSPwHcO6L0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6kSPwHcO6L0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6kSPwHcO6L0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>It gives a quick explanation of <a href="http://dm13450.github.io/2020/06/03/State-of-the-Market.html">this blog post</a>.</p><p>Finally, I&#8217;ve updated <a href="https://github.com/dm13450/CoinbasePro.jl">CoinbasePro.jl</a> to a new version that can now handle the nanoseconds in the trade data.</p><p>Thanks for reading &#8212; hopefully you can watch one of the above videos over breakfast, lunch, or dinner depending on how fast you eat!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/from-the-archives-august-2021/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/from-the-archives-august-2021/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item><item><title><![CDATA[Two Tiny Projects and the Problem with AI-Generated Code]]></title><description><![CDATA[Free Cloudflare, over editing and a podcast]]></description><link>https://dm13450.substack.com/p/two-tiny-projects-and-the-problem</link><guid isPermaLink="false">https://dm13450.substack.com/p/two-tiny-projects-and-the-problem</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 21 May 2026 18:15:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_PEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>May is a great month, two bank holidays and the start of summer. What better way to get you ready than reading this newsletter?</p><h2><strong>Bank Holiday Building: Two Little Cloudflare Projects</strong></h2><p>Over the bank holiday weekend, I built two little projects using Cloudflare&#8217;s suite of developer tools. I&#8217;m not sure whether AI has made me more productive or if it&#8217;s just given me some motivation to get things done and out there. This newfound inspiration has led me to churn out two little projects: a personal train timetable so I can get home quicker and a mini dashboard for FX volumes.</p><p style="text-align: center;"><a href="https://dm13450.github.io/2026/05/18/the-joys-of-free-cloudflare.html">The Joys of Free Cloudflare</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_PEN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 424w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 848w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_PEN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png" width="486" height="360.4945054945055" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:1456,&quot;resizeWidth&quot;:486,&quot;bytes&quot;:203939,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dm13450.substack.com/i/197564757?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 424w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 848w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_PEN!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F027d70d8-d873-4344-a641-2d13aabdb45b_1682x1248.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Both of them are built using the free tier of Cloudflare, and I&#8217;ve really enjoyed learning these new technologies. My post gives a run-through of how I approached it and what the tools do. The best thing is that you can get going without having to put any payment details in. So avoid any catastrophic bills if something takes off!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><h2><strong>Is AI Writing Too Much Code?</strong></h2><p>I&#8217;m at a crossroads with AI. No doubt it&#8217;s the future, but the current iteration of using an agent program feels like the payday loan equivalent of tech debt. I find the code it comes out with is so verbose, and it aims to maximise line count above everything else.</p><p>Turns out, you can measure this. In <a href="https://nrehiew.github.io/blog/minimal_editing/">Minimal Editing</a>, the author sets up broken programs and asks various AI models to fix them. Each model is then scored on how different the solution is from the original program. If a model turns out lines and lines of code, then it scores poorly, whereas a model that makes a simple, targeted change does a good job. If you&#8217;re missing a semicolon somewhere, the best solution just adds it in, and it doesn&#8217;t start null-checking and needlessly catching errors everywhere.</p><p>They find Opus 4.6 does the best, with GPT 5.4 doing the most editing. But if you add an explicit instruction to the prompt to minimise the amount of editing, things also improve. This is where using AI still feels a bit rusty. Things like writing a good prompt and knowing the right magic words/incantations are all too opaque and a bit annoying to tune.</p><p>There&#8217;s a lot more detail in the post, and it goes further with the experiments &#8212; worth a read if you find yourself wrestling with bloated AI-generated code.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/two-tiny-projects-and-the-problem/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/two-tiny-projects-and-the-problem/comments"><span>Leave a comment</span></a></p><h2><strong>What I&#8217;m Listening To: Gamecraft</strong></h2><p>Now, if there is any industry where AI is kicking up a storm, then look no further than game development.</p><p>The new series of Gamecraft has started. In this podcast, they talk about the business of video games but focus on the current rather than a historical retrospective, and a recurring theme of this series is where AI is slotting into this industry.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wqXg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wqXg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg" width="220" height="220" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1280,&quot;width&quot;:1280,&quot;resizeWidth&quot;:220,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Gamecraft&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Gamecraft" title="Gamecraft" srcset="/__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!wqXg!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e77c64-7feb-4e90-82bc-a0cb183d5fb3_1280x1280.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://gamecraftpod.com/">Gamecraft</a></figcaption></figure></div><p>In the first episode of the new season (2026 Trends and Specific Prediction), they have a small section on AI and their experiences with OpenClaw. Like I said, very current rather than historical. It leads into how AI is going to change building game software and how the first AI game might look in 2026. This episode is a good jumping-off point for the podcast. Listen to this one, and go through the catalogue if you like it. If you are a fan of Acquired, you will enjoy Gamecraft.</p><p>If you want just the deeper dive into AI, then episode 30 looks at the real future of AI in the games business. Games and AI are an interesting intersection. On the one hand, you have the coders using AI to write better code and be more productive, things where everyone can agree AI is an improvement to how things get done. On the other side of the coin, you have the artists and designers, the creatives. How AI helps them is much more nuanced, and everyone starts to get a bit frosty when creative elements start to lose the human touch. The podcast is a balanced take on both of these angles, but really highlights how we are currently in the complete unknown based on how things are evolving. When I started drafting this newsletter, Opus 4.6 could do no wrong. Now that I&#8217;ve sent it, you&#8217;ll see more people telling you how Codex is now superior. Personally, I&#8217;ll still be crafting these newsletters and posts the old-fashioned way, but perhaps Claude or Gemini will become the editor I&#8217;ve always needed.</p><p>That&#8217;s it for May. As always, reply if anything catches your eye.</p><p>Subscribe in case I ever make the FX Volume Dashboard public!</p><p>Dean</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/two-tiny-projects-and-the-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Dean&#8217;s Substack! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/two-tiny-projects-and-the-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/two-tiny-projects-and-the-problem?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[From the Archive - July 2021]]></title><description><![CDATA[High frquency finance, Kats and Conferences]]></description><link>https://dm13450.substack.com/p/from-the-archive-july-2021</link><guid isPermaLink="false">https://dm13450.substack.com/p/from-the-archive-july-2021</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Wed, 06 May 2026 19:33:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sZXm!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415d06a4-05b5-40ad-b7ec-6aebda656fdb_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Another look back at some of my old writing. The 2026 World Cup is almost here, so it feels right that I started July 2021&#8217;s post with some whinging about England&#8217;s loss in the 2021 final. Maybe this year is England&#8217;s year.</p><p>Football aside, my intro to high-frequency finance series is one of my better-performing blog posts and eventually evolved into a sponsored post for QuestDB. I stumbled across a whole section on post-trade analysis <a href="https://questdb.com/docs/cookbook/sql/finance/post-trade-overview/">QuestDB - Post Trade Overview</a> in their docs the other day.</p><p>Then Kats, the Facebook/Meta time series library. I never got around to using it or writing a blog post about it. It&#8217;s not had a release since 2022, so I missed the boat on that one.</p><p>And finally, JuliaCon 2021. I presented a poster. Virtually. A strange experience sitting in my room in a virtual conference, waiting for people to look at a 60s video. I don&#8217;t think anyone did in the end. If you&#8217;ve ever wanted to see my talks from any of my conferences, virtual and in person, I&#8217;ve created a YouTube playlist: </p><p style="text-align: center;"><a href="https://youtube.com/playlist?list=PLIojEI1c4KwPW08-qXN2tL1ra1HV6XyJu&amp;si=_w2JBCmXuu975MKy">Dean's Conference Talks</a></p><p>Hawkes Process, Fantasy Football, RFQ trading. There is something for everyone in that playlist. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p><strong>## From the Archive - July 2021</strong></p><p>I write this email with two faded England flags painted on my face, and my heart is heavy with another near miss at the football. The loss to Iceland in 2016 was a small price to pay to be in our position now. So onwards to the World Cup.</p><p>Onto the regular content. Last month&#8217;s post was an introduction to some high-frequency finance concepts. Using my CoinbasePro.jl Julia package, I walk you through some of the main calculations and examples, all with free data so you can play along at home:</p><p><a href="http://dm13450.github.io/2021/06/25/HighFreqCrypto.html">Getting Started with High Frequency Finance using Crypto Data and Julia</a></p><p>Next up is a new piece of time series analysis software from Facebook: Kats.</p><p><a href="https://facebookresearch.github.io/Kats/">https://facebookresearch.github.io/Kats/</a></p><p>You might have heard of Prophet, another Facebook timeseries library, and this is supposed to be something that builds on top of the lessons from Prophet. It has a slightly different feature set, and I will probably be exploring it in a blog post in the future.</p><p>Finally, it has been conference season. I spoke at userR this week and am lined up to present at JuliaCon at the end of July. You can register for free, and I&#8217;m sure there will be something you find interesting over the two days:</p><p>https://juliacon.org/2021/tickets/</p><p>There we go. Hopefully you&#8217;ve found something interesting in this month&#8217;s email. Until next time!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dean&#8217;s Substack! Subscribe for free to keep up to date with my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Some Systems Stay Bad: DXY, DVLA, and Optimization]]></title><description><![CDATA[Three notes on legacy tradeoffs, market data, and the real cost of making systems better]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-april-2026</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-april-2026</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 23 Apr 2026 16:36:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!P_fx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are 1/4 of the way through the year already and what a start. The headlines haven&#8217;t really let up and markets keep gyrating. Despite all this fun I&#8217;ve managed to get a blog post out and have a few links on getting imperfect systems up to scratch.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>My post for March (and first one for 2026) covers two topics that have been on my to-do list. 1. Replicating the DXY calculation and 2. Start thinking about factor models.</p><p>Before we start the factor models we need the data and this post looks at a new (free) data source to get currency data. I also run through what the DXY is, how to calculate it and how currencies move with it: <a href="https://dm13450.github.io/2026/03/10/Making-Sense-of-the-DXY.html">Making Sense of the DXY</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!P_fx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!P_fx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png" width="598" height="427.14285714285717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1000,&quot;width&quot;:1400,&quot;resizeWidth&quot;:598,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart depicting the DXY&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart depicting the DXY" title="Line chart depicting the DXY" srcset="/__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!P_fx!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707083b3-38e5-435e-91aa-8c2ae2eb849c_1400x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This post is step zero in my attempt to build out an FX factor model and I take a lot of the functionality into my next upcoming post. Interestingly, the DXY has been around since 1973 and has only been updated once, 1999 for the euro, so it might be considered a bit legacy and due for an update.</p><p>Continuing the theme of systems that might be in need of updating I&#8217;ve got two links, one on legacy government IT and another on how to move up the optimisation ladder.</p><p><a href="https://sites.prh.com/how-big-things-get-done-book">How Big Things Get Done</a> was one of my favourites reads last year and it touches on government IT upgrades and why they are so difficult. This, <a href="https://dafyddvaughan.uk/blog/2025/why-some-dvla-digital-services-dont-work-at-night/">Why Some DVLA Digital Services Don&#8217;t Work at Night</a>, is a nice anecdote from someone on the front line of such projects.</p><p>The DVLA is the motoring branch of the British government. It handles things like road tax, driving licenses and car registrations. You can do most of these things online, but with a specific catch, you can only do things during working hours. This turns out to be because of an IT problem. an, an unfinished migration from the legacy systems to something more modern. So now it is the worst of both systems. There is a legacy batch job that updates overnight and has to complete with no issues and can&#8217;t be edited in realtime . This leads to a system that can only operate in working hours. Entries stop as the working days end, the batch job can complete overnight and everything opens up the next day.</p><p>So in essence it&#8217;s a compromise. Public sector IT migrations are hard and the cost of doing things online means we have to restrict it to business hours. Would it be nice to do it 24 hours a day? Yes. Do I want to pay more tax to make it happen? Not really! Would throwing money resolve it? Also unlikely.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>On the subject of programs running slow, <a href="https://cemrehancavdar.com/2026/03/10/optimization-ladder/">The Optimization Ladder</a>, is a great run through of practical steps to speed up Python once you&#8217;ve written the core logic.</p><p>I think we&#8217;ve all been faced with code that we want to run quicker. As the phrase goes premature optimization is the root of all evil, so only once you&#8217;ve finished the bulk of the work you start thinking about how to make it run faster. Once you&#8217;ve done the simple things, pr-allocate arrays, made sure your types are consistent etc., you are know wondering where the next big speedup comes from. This blog post steps you through each of the steps and how much speed up you can get versus vs how much effort.</p><p>So if it&#8217;s the DXY, a website to get your driving license or a humble python script there&#8217;s always a way to make them better. The real question is whether the juice is worth the squeeze either in time or money.</p><p>Until next month. </p><p>Dean</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dean&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p> </p>]]></content:encoded></item><item><title><![CDATA[From the Archive - May 2021]]></title><description><![CDATA[Crypto pre-trade, dinosaurs and double machine learning]]></description><link>https://dm13450.substack.com/p/from-the-archive-may-2021</link><guid isPermaLink="false">https://dm13450.substack.com/p/from-the-archive-may-2021</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Tue, 10 Mar 2026 19:06:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sZXm!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415d06a4-05b5-40ad-b7ec-6aebda656fdb_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Another look back at May 2021 and the beginnings of this newsletter. </p><p>It&#8217;s the first announcement of my crypto pre-trade tool <a href="https://cryptoliquiditymetrics.com/">cryptoliquiditymetrics</a>. This is a simple web app that allows you to assess the current state of the cryptocurrency market and estimate the cost of executing a specific amount. It&#8217;s nothing too complicated, and my first foray into JavaScript hosting something on Netlfy. I should have the coding assistants try to enhance it a bit now. </p><p>The second link was a blog site similar to mine, and the dinosaur post below still shows how there are interesting data sets out there to practice your modelling on. They are still writing to this day. In fact their latest post [<a href="https://austinrochford.com/posts/decaying-bayes.html">Decaying Bayesian Updating for Non-stationary Time Series Models</a>] they are looking at how to fit Bayesian models on time series data and how to decay the updates to account for non-stationary data.  </p><p><a href="https://tamarabroderick.com/index.html">Tamara Broderick&#8217;s website</a>  is a gold mine of stats, machine learning info and tutorials. The full machine learning course linked below is well worth a browse, as are the other sections. </p><p>Then I ended with my blog post on causal machine learning. Double machine learning is a method of untangling the causal effect of a variable, trying to understand if it actually causes a change and isn&#8217;t statistical noise. Double machine learning links both more advanced statistical learning tools and causal inference. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><h1><strong>The Late May Edition - 2021</strong></h1><p>May&#8217;s edition of my newsletter is a bit delayed. It was a bank holiday weekend here in the UK, the sun was out, so I did the right thing and spent too long outside getting burnt. Still, I&#8217;ve curated some good links to make the wait worth it.</p><p>Firstly, the release of my side-project:</p><p><a href="https://cryptoliquiditymetrics.com">https://cryptoliquiditymetrics.com</a></p><p>This is a little application I&#8217;ve cooked up that reflects current market conditions across lots of different cryptocurrencies. You enter how much you would like to trade and I&#8217;ll plot some graphs, calculate some statistics and hopefully give you an insight into what&#8217;s happening at the minute. It&#8217;s built just using JavaScript and was an excuse for me to actually do something on the web rather than the usual R/Julia stuff I build.</p><p>As a child, I wanted to be a paleontologist and would wow adults with my dinosaur knowledge picked up from various picture books. So when this post appeared on my Twitter feed, I was overjoyed. </p><p><a href="https://austinrochford.com/posts/2021-05-17-tyrannosaurid-pymc3.html">https://austinrochford.com/posts/2021-05-17-tyrannosaurid-pymc3.html</a></p><p>20 big dinosaur fossils are modelled using PyMC3 to build a model relating their age and mass. From then on, it walks you through different types of models that could best represent the data. In fact, it is very similar to the types of posts that I write, and I might take the same data for a Turing tutorial in Julia. Inspiration is just hiding your sources after all. </p><p>Next up is a series of machine learning lectures from Tamara Broderick. YouTube links and slides across 14 lectures covering everything from basic regression to reinforcement learning and all the topics inbetween. </p><p><a href="http://people.csail.mit.edu/tbroderick/ml.html">http://people.csail.mit.edu/tbroderick/ml.html</a></p><p>I&#8217;ve seen her speak a couple of times and would highly recommend her work. So this series of lectures will be of top quality. </p><p>Now, finally, my latest blog post on double machine learning.</p><p><a href="http://dm13450.github.io/2021/05/28/Double-ML.html">http://dm13450.github.io/2021/05/28/Double-ML.html</a></p><p>Most of my new subscribers have come after reading this, hence why I&#8217;ve left it to the end. Still, maybe you would like to read it again.</p><p>Thanks for reading, now go out and enjoy the sun this weekend!</p><p>Dean</p>]]></content:encoded></item><item><title><![CDATA[A Busy January Left Me Chasing Links — Here's What Caught My Eye]]></title><description><![CDATA[Plus the early days of RenTech]]></description><link>https://dm13450.substack.com/p/february-2026-macro-moves-runway</link><guid isPermaLink="false">https://dm13450.substack.com/p/february-2026-macro-moves-runway</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 19 Feb 2026 19:00:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/iyA6cVmShC0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What a January that ended up being macro news from start to finish,  some big moves in gold and silver, plus I&#8217;ve been on the road, doing the rounds in the Big Apple, Connecticut, Miami and Chicago, which hasn&#8217;t left much time to get a blog post down, so it&#8217;s another newsletter looking at links. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>First up, a (very) short memoir from Baum of <a href="https://en.wikipedia.org/wiki/Baum%E2%80%93Welch_algorithm">Baum-Welch algorithm</a> fame.  </p><p><a href="https://klendathucapitalist.com/wp-content/uploads/2017/08/baum-as-a-trader.pdf">Baum as a trader</a> details his days trading with Jim Simmons of Renaissance Technologies, and it&#8217;s a fun read about punting currency and coffee with very little data and reading books to get an idea of previous patterns. Given Jim Simmons is a grandfather of quant investing, it&#8217;s interesting how it seems so ad hoc but eventually grows into a model-based approach. The Man for All Markets has been in my Kindle library for a while now; perhaps it&#8217;s time to finally crack it open. </p><p>Given I&#8217;ve been in and out of Heathrow the last few weeks, this post that made its way up Hacker News piqued my interest. </p><p><a href="https://blog.billyedmoore.com/heathrow">What's going on at Heathrow Airport</a></p><p>Billy creates a lightweight machine learning model to classify which Heathrow runway is used for takeoff and landing. It&#8217;s trained on OpenSky Network data, and the model ends up so lightweight that it&#8217;s all served from your browser. The result is <a href="https://lhr.billyedmoore.com/">LHR NET</a> that simply tells you which runway is currently being used. Fun little project. </p><p>Two Sigma have a few videos on their YouTube channel that look at machine/deep learning and how it applies to finance. The Deep Learning for Sequences</p><div id="youtube2-iyA6cVmShC0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;iyA6cVmShC0&quot;,&quot;startTime&quot;:&quot;1s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/iyA6cVmShC0?start=1s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>video is a great introduction to deep learning and how it can be applied to the different aspects of quantitative investing. It also harks back to the COVID days of everyone working from home, if you are nostalgic for that vibe. </p><p>To end with, we look back at Feb 2024 and my post on cross-asset skew - <a href="https://dm13450.github.io/2024/02/08/Cross-Asset-Skew-A-Trading-Strategy.html">Cross Asset Skew - A Trading Strategy</a>. I enjoyed writing this post as it was something a bit different to my usual high-frequency stuff. Instead, I constructed a daily signal of the &#8216;skew&#8217; of an ETF and then created a sorted portfolio to back test if there are excess returns. I&#8217;ve been reading Giuseppe Paleologo&#8217;s new(ish) book, <a href="https://www.wiley.com/en-us/The+Elements+of+Quantitative+Investing-p-9781394265466">Elements of Quantative Investing</a>, and it&#8217;s given me some ideas on how to take this skew strategy further. </p><p>And that&#8217;s it. Let&#8217;s hope the next month brings slightly less news. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/february-2026-macro-moves-runway?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/february-2026-macro-moves-runway?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - Jan 2026]]></title><description><![CDATA[AI Summaries of 2026 forecasts, the Cost of Talent and Realistic Robots]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-jan-2026</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-jan-2026</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Wed, 21 Jan 2026 00:58:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/-L8OFMTteOo" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Another year rolls over, and I enter my 12th year of blogging and 5 years of newsletter&#8217;ing. As the years go on, I&#8217;m finding less time to work on the blog post to the standard that I want, so this year might be one where I focus on the general writing, be it a blog post or newsletter, just to get my thoughts onto paper (screen?) without the commitment of the full tutorials. </p><p>What better way to look at what can happen this year than an AI-assisted summary of all the year-ahead pieces from various banks and asset managers. </p><p><a href="https://2026macro.vercel.app/">2026 Outlook - views across the street</a></p><p>The &#8216;year ahead&#8217; is almost mandatory research for the big financial firms to put their stake in the ground over what will and won&#8217;t move markets, general themes and geopolitics. It can be as simple as the S&amp;P 500 will be higher/lower/unchanged (delete as appropriate) to guessing (forecasting) how countries will respond to each other&#8217;s policies.</p><p>This site takes 14 of these research reports and uses GPT (5.1) to give a summary and compare where the analysts agree and disagree with citations to try and minimise hte amount of hallucinations. The author (<a href="https://www.charlje.com/">https://www.charlje.com/</a>) checked the results and found some errors, but minimal and trustworthy enough to release. When I clicked through the links, I found that it seemed to be ok with nothing wildly taken out of context/made up. So rather than reading the 14 reports individually, use the summary to give you a jumping-off point. The next step would be to look at this at the end of the year and see how right/wrong the overall predictions were. Then you have the beginnings of an <a href="https://dm13450.github.io/2024/09/19/Alpha-Capture-and-Acquired.html)">Alpha Capture</a> strategy.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>It&#8217;s also that time of the year when we find out how much we are really worth. The FT has a great piece on how hedge funds pay their portfolio managers.</p><p><a href="https://www.ft.com/content/4e56e245-93e5-4129-9972-602abe3dbd23">How top hedge funds can pay traders $100mn</a></p><p>Multi-strategy hedge funds need new ways of obtaining and retaining talent to generate returns, and as such, a PM&#8217;s pay packet becomes a game of incentives, clauses and ultimately, the end investor having to foot the bill in a down year. Consequently, it means bonuses are now an expense for the investor rather than something taken from the fund fees. There are some nice graphics in the article, and it shines a light on something that most people will never have to worry about, but like hearing about. Wonder if they still go through PAYE?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>What else is January for? Well, according to all the adverts I&#8217;m seeing, it&#8217;s booking holidays. Disneyland Paris has a new Frozen section (the film, not everything is now covered in ice) and as part of this new attraction they have built a hyper realistic Olaf. Bare with me, this is relevant if you subscribe to this newsletter. A video of this animatronic in action:</p><div id="youtube2--L8OFMTteOo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-L8OFMTteOo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-L8OFMTteOo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>To me, this was incredibly impressive. They used reinforcement learning to train the robot&#8217;s actions and movements and had to make sure the robot didn&#8217;t overheat its motors. There is also the &#8216;special&#8217; way in which Olaf walks to make it as close to the animation as possible. They even wrote a paper (told you it was relevant) <a href="https://arxiv.org/pdf/2512.16705">Olaf: Bringing an Animated Character to Life in the Physical World</a>. For me, to see reinforcement learning used in such a practical way is impressive and shows that there is a wide world of machine learning uses beyond just fancier statistical models. </p><p>I&#8217;ll leave it there for Jan. Have a good start to the year!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm13450-newsletter-jan-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm13450-newsletter-jan-2026?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[April 2021 Revisited]]></title><description><![CDATA[FX Algos, an Accidental O(N^2) and DeFi Reads]]></description><link>https://dm13450.substack.com/p/april-2021-revisited</link><guid isPermaLink="false">https://dm13450.substack.com/p/april-2021-revisited</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Tue, 25 Nov 2025 20:17:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sZXm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415d06a4-05b5-40ad-b7ec-6aebda656fdb_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Another look back at the early days of this newsletter - April 2021-, and it&#8217;s a nice blend of work, leisure, and even some crypto. </p><p>First up was my piece on limit prices and algo executions. Still up on FX Markets and still relevant today. </p><p>Then some classic Julia/algorithm work. I accidentally wrote a piece of code that was O(N^2), so as the data grew, it slowed down. A quick Google and rewrite managed to get it down to a more reasonable time. </p><p>The post45 piece is a pretty in-depth look at GoodReads data and what people call a &#8216;classic&#8217;. It chucks in some clustering of books and reflects on what drives the proliferation of classics. If your novel gets tagged as a classic, schools will read it, and suddenly, you have a consistent demand to publish and sell the book yearly! It&#8217;s my favourite kind of post, unusual data and interesting statistics. I really undercooked my blurb in the original!</p><p>For the Paradigm research, I&#8217;ve got a draft blog post of the TWAP contract knocking about. I should quickly finish that off and get it out just to finally promote it from drafts to published.  </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/april-2021-revisited?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/april-2021-revisited?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><h1>April 2021</h1><p>The first item on this month&#8217;s newsletter is something out of my day job. My latest research has been featured in FX Markets, and the article (for FX-Markets subscribers) can be found here. </p><p><a href="https://www.fx-markets.com/tech-and-data/4336451/price-limits-in-fx-algos-fill-your-boots">Price Limits in FX Algos - Fill Your Boots</a></p><p>In short, I found that using a limit on an algo trade doesn&#8217;t affect its performance. So you can freely set a limit on your algo trades and not worry about reducing performance. </p><p>Next up is my latest blog post:</p><p><a href="http://dm13450.github.io/2021/04/21/Accidentally-Quadratic.html">Accidentally Quadratic</a></p><p>This document is my process of finding a bug in my code at work because I had written a slow function. It was a surprise as the slowdown only happened once the dataset got large enough. In this post, you&#8217;ll see how slow and how my fix drastically reduced the running times.</p><p>Now for two interesting links:</p><p><a href="https://post45.org/2021/04/the-goodreads-classics-a-computational-study-of-readers-amazon-and-crowdsourced-amateur-criticism/">The Goodreads &#8220;Classics&#8221;: A Computational Study of Readers, Amazon, and Crowdsourced Amateur Criticism</a></p><p>It is quite a few words, but it is worth it for the pretty plots. It looks at how we classify what we think a &#8216;classic&#8217; book is and how the Goodreads data can be explored to answer such questions.</p><p>Now for fewer plots and more maths. I&#8217;ve been in a bit of a DeFi rabbit hole recently. Looking at all the different platforms (UniSwap, PancakeSwap, SushiSwap) for yield farming, staking and all those things. Like everything else in my life, I like to ruin it with numbers.</p><p><a href="https://research.paradigm.xyz/">https://research.paradigm.xyz/</a></p><p>They post lots of articles on such topics, with maths explaining all the key concepts. They&#8217;ve also got whitepapers on other topics. Another resource for math and finance. </p><p>There we go. Another month and some more reading.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[A Python Detour: Premier League Survival Explored]]></title><description><![CDATA[Premier League Survival, FX Market Making and Big Bank Accounts]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-november-2025</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-november-2025</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Thu, 06 Nov 2025 06:10:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YT7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a quote in Moneyball about being told you have to stop playing baseball:</p><blockquote><p>We&#8217;re all told at some point in time that we can no longer play the children&#8217;s game, we just don&#8217;t... don&#8217;t know when that&#8217;s gonna be. Some of us are told at eighteen, some of us are told at forty, but we&#8217;re all told.</p></blockquote><p>This is how I feel about having to write some posts in Python rather than Julia. I&#8217;ve needed to find some time to sharpen my Python skills, and unfortunately, that means I&#8217;ll have to reduce my Julia blog writing time. Expect a few more Python-based posts as I learn Polars, Plotly, Scikit-Learn, and all the other major packages.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:401316}" data-component-name="PollToDOM"></div><p>Which leads me into my latest post. I&#8217;ve taken a look at the data to understand how many points you need to survive in the Premier League. With all the promoted teams doing well and some of the stalwart teams not doing so well, we could be in for a season where things are shaken up.</p><p><a href="https://dm13450.github.io/2025/10/31/Premier-League-Survival-How-Many-Points-Are-Enough.html">Premier League Survival &#8211; How Many Points Are Enough?</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YT7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YT7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png" width="430" height="307.14285714285717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1400,&quot;resizeWidth&quot;:430,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart titled Safety Stats showing cumulative points by match week on the x axis and total points on the y axis. Primary subjects are the colored lines representing Avg Points of a Safe Team, Min Points of a Safe Team, and individual teams West Ham, Wolves, Sunderland, Leeds, Burnley. Sunderland is well above both safety lines, Leeds and Burnley track close to the average and minimum lines, Wolves falls below both safety lines, and West Ham falls below the average line.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart titled Safety Stats showing cumulative points by match week on the x axis and total points on the y axis. Primary subjects are the colored lines representing Avg Points of a Safe Team, Min Points of a Safe Team, and individual teams West Ham, Wolves, Sunderland, Leeds, Burnley. Sunderland is well above both safety lines, Leeds and Burnley track close to the average and minimum lines, Wolves falls below both safety lines, and West Ham falls below the average line." title="Line chart titled Safety Stats showing cumulative points by match week on the x axis and total points on the y axis. Primary subjects are the colored lines representing Avg Points of a Safe Team, Min Points of a Safe Team, and individual teams West Ham, Wolves, Sunderland, Leeds, Burnley. Sunderland is well above both safety lines, Leeds and Burnley track close to the average and minimum lines, Wolves falls below both safety lines, and West Ham falls below the average line." srcset="/__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 424w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 848w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YT7Y!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e20497c-da40-4d31-8856-f4e197450fbe_1400x1000.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is my foray into Python and getting my teeth into the new way of doing things, mainly Polars, which is an alternative to Pandas and working with dataframes. All in, I didn&#8217;t mind it. Python has its quirks (that Julia mainly fixes), but I need to bring my Python up to my level of Julia. Next up will be building out some models using Scikit-Learn and seeing how it compares to MLJ.jl.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>I also attended the Financial Engineering Workshop last week to listen to a talk by HSBC on Market Making in Foreign Exchange. The slides are here - <a href="https://www.bayes.citystgeorges.ac.uk/__data/assets/pdf_file/0007/935440/FX-Market-Making.pdf">Market Making in Foreign Exchange</a>. It&#8217;s an intro to the FX market for anyone going in blind and then quickly jumps into lots of the maths, but with some good graphs on the practicalities of FX market making.</p><p>Finally, there was an interesting story around HashiCorp and how it approached (or rather ignored) its business banking in the early stages of the company. <a href="https://mitchellh.com/writing/my-startup-banking-story">My Startup Business Banking Story</a>. It&#8217;s a fun little read. At one point, they had $335mln in a regular business account!</p><p>Until the next newsletter!</p><p>Dean</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm13450-newsletter-november-2025?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm13450-newsletter-november-2025?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm13450-newsletter-november-2025?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[March 2021 Revisited: Julia 1.6, Crypto Data, and Hawkes Processes]]></title><description><![CDATA[A lookback at 2021 - Crypto data and terror attatcks]]></description><link>https://dm13450.substack.com/p/from-the-dm13450-archives-march-2021</link><guid isPermaLink="false">https://dm13450.substack.com/p/from-the-dm13450-archives-march-2021</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Mon, 18 Aug 2025 18:30:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qrkn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Another post looking back at the glory (gory?) years of 2021 and my early newsletter writings. Writing these archive reflections gives me a chance to tidy up the posts I reference (i.e., spell-check and fix links), reminisce about my early work, and share it with any new subscribers.</p><p>Back in March 2021, Julia 1.6 had just come out and was a big release - the largest since Julia 1.0 in 2018. It promised (and delivered) major speedups in package loading, which had been an ongoing criticism. Judging from my brief review below, it worked, and in fact, it's worked so well that I only have a brief memory of importing the packages and waiting multiple minutes for it to finish. Although in my day-to-day with KDB, I now spend an inordinate amount of time waiting for HDBs to load.</p><p>I also had a couple of blog posts, <a href="https://dm13450.github.io/2021/03/27/CryptoAlphaVantage.html">Crypto Data using AlphaVantage.jl </a> and <a href="http://dm13450.github.io/2021/03/02/Terror-Attacks-Hawkes-Processes.html">Does a Terror Attack Lead to More Terror Attacks?</a> . Plus the first release of <a href="https://github.com/dm13450/CoinbasePro.jl">Coinbase.jl</a>. Oh, and nice COVID lockdown reference to round it all off.</p><p>Overall, more of the same. I'm still using Julia, still writing about crypto occasionally, and I'm even doing a presentation on Hawkes Processes this week at work.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h1><strong>The March Update - 2021</strong></h1><p>This month has been one of new releases:</p><p>Julia 1.6 has come out. If you've ever tried Julia and been put off by the slow compilations or how sluggish everything feels to start up, well, now is the time to try it again.</p><p>There has been much work on making things spin up quicker and trying to reduce the initial wind-up time as everything is being prepared. I've noticed the difference, so I urge anyone thinking about it to try it out again and get stuck into some Julia.</p><p>I've written a short blog post on the AlphaVantage.jl library and how it can be used to pull crypto data. This was all done using Julia 1.6, and I felt the compilation speed increased.</p><p><a href="https://dm13450.github.io/2021/03/27/CryptoAlphaVantage.html">Crypto Data using AlphaVantage.jl</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!qrkn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 424w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 848w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 1272w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!qrkn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg" width="482" height="321.3333333333333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:600,&quot;resizeWidth&quot;:482,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;svg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="svg" title="svg" srcset="/__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 424w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 848w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 1272w, /__u/substackcdn.com/image/fetch/$s_!qrkn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc301def-9d77-411b-b744-b7f92cc13a3a_600x400.svg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Returns and market caps from AlphaVantage.jl</figcaption></figure></div><p>I've also released CoinbasePro.jl into the general repo.</p><p>This provides methods for getting high-frequency crypto data into Julia. The great thing about crypto data is that it is free. To get the equivalent data in, say, a stock or currency pair, you are probably looking at hundreds of dollars a month. Companies like Coinbase and other exchanges provide this data for free, democratising quant finance.</p><p>It's still in the early stages for the package, and a blog post is in the works, but any early adopters can have a play around with the package and let me know what they think.</p><ul><li><p>  <a href="https://github.com/dm13450/CoinbasePro.jl">Coinbase.jl</a></p></li></ul><p>In case you missed it, last month's blog post was on Hawkes processes and a look at how they can be used to model terror attacks. Again, in Julia using my package that I wrote throughout my PhD.</p><ul><li><p> <a href="http://dm13450.github.io/2021/03/02/Terror-Attacks-Hawkes-Processes.html">Does a Terror Attack Lead to More Terror Attacks?</a> </p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LfZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 424w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 848w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 1272w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LfZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg" width="600" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;svg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="svg" title="svg" srcset="/__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 424w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 848w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 1272w, /__u/substackcdn.com/image/fetch/$s_!LfZc!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7040d85d-82c4-4fcd-a8bd-efadeb91333a_600x400.svg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Terror attack intensities across different countries using Hawkes processes</figcaption></figure></div><p>That's been about it for this month. Desperately waiting for the lockdown restrictions to loosen so I can get out on the golf course again!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dean&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - August 2025]]></title><description><![CDATA[Cyclical Embedings, Electricity Trading and Mountains]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-august-2025</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-august-2025</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Mon, 04 Aug 2025 19:01:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uyx6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I've been playing around with neural nets as part of a Deep Learning in Finance course and building up from the simplest to the more advanced architectures. In the process of getting the data in the correct format and building out the variables, I came across <a href="https://dm13450.github.io/2025/06/16/Cyclical-Embedding.html">Cyclical Embeddings</a>. Although my foray into deep learning will be the subject of a future blog post, I found the cyclical embeddings interesting enough to warrant a blog post of their own.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uyx6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 424w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 848w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uyx6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png" width="424" height="282.7637362637363" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:424,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A two-dimensional plot showing the cyclical embedding of days of the week, where each day is represented as a point on a circle using sine and cosine transformations. The points form a closed loop, visually demonstrating the cyclical nature of the days.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A two-dimensional plot showing the cyclical embedding of days of the week, where each day is represented as a point on a circle using sine and cosine transformations. The points form a closed loop, visually demonstrating the cyclical nature of the days." title="A two-dimensional plot showing the cyclical embedding of days of the week, where each day is represented as a point on a circle using sine and cosine transformations. The points form a closed loop, visually demonstrating the cyclical nature of the days." srcset="/__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 424w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 848w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uyx6!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ae64217-2973-4087-ba4c-8f75e53556a5_1800x1200.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Turning days of the week into a cycle</figcaption></figure></div><p>Long story short, time variables run in cycles (e.g., days of the week where Monday follows Sunday), and you can use simple trigonometric functions to encode this cyclical nature. For the simple linear models in the blog post, they don't have a massive effect on the performance, but as a sneak peek for the next blog post, it works better in the neural nets.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>After moving over to my new laptop, I managed to update <a href="https://github.com/dm13450/AlpacaMarkets.jl">AlpacaMarkets.jl</a> and <a href="https://github.com/dm13450/CoinbasePro.jl">CoinbasePro.jl</a>. It was mainly upgrading the dependencies, as they were using older versions of packages that stopped my overall Julia installation from updating (and probably yours if you had the packages installed!). Some other minor tweaks and bugfixes as well.</p><p>An interesting paper recently came through Hacker News - <a href="https://arxiv.org/abs/2504.06932">Maximizing Battery Storage Profits via High-Frequency Intraday Trading</a>. I enjoyed it as it provides a good overview of the structure of the electricity market. For example, given once electricity is generated it needs to be used or stored quickly and there are contracts expiring every 15 minutes throughout the day to balance the supply and demand across Europe. It's reminiscent of <a href="https://en.wikipedia.org/wiki/TV_pickup">TV Pick Up</a> phenomenon, where UK electricity demand spikes as popular TV shows and football matches end, so the UK grid needs to quickly source more electricity as these pick-ups occur. Overall, it's a different type of trading paper that offers an alternative angle on similar problems. Instead of slippage and transaction costs, you have battery efficiency and degradation. They even have a GitHub with the code - <a href="https://github.com/dschaurecker/bitepy">bitepy</a>.</p><p>And finally, an interesting mountaineering read about a relatively unknown disaster. <a href="https://www.esquire.com/news-politics/a65080159/mountaineering-deadliest-avalanche-disaster-lenin-peak/">Mountaineering Deadliest Avalanche Disaster Lenin Peak</a>. I have a passing interest in mountain climbing, mainly fantasising about having enough time off at work to even think about summiting a peak! I've even written about <a href="https://dm13450.github.io/2023/04/27/Predicting-a-Successful-Mt-Everest-Climb.html">predicting a successful Mt Everest Climb</a>.</p><p>Until the next post!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm13450-newsletter-august-2025?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm13450-newsletter-august-2025?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - April 2025]]></title><description><![CDATA[Practical price impact, metaorders and dating app analysis]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-april-2025</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-april-2025</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Mon, 28 Apr 2025 18:04:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MvI3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>To start is my first blog post of 2025 - <a href="https://dm13450.github.io/2025/03/14/Fitting-Price-Impact-Models.html">Fitting Price Impact Models</a>. A labour of love and something I&#8217;ve been trying to write about and do justice for quite some time now. Using both the Handbook of Price Impact Models and Stochastic Liquidity as the foundations I was able to use my QuestDB database of BTC trades and work through the practical challenge of fitting the models. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!MvI3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!MvI3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png" width="468" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:468,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!MvI3!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e7603e0-b3f6-43b3-a5bc-9f82e9e6fa27_1200x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Different price impact models fitted on Bitcoin trades</figcaption></figure></div><p>My dataset was way too small to produce meaningful results but it was more of a post exploring how to fit the models rather than a true data calibration.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>On a similar note a very interesting paper, <a href="https://arxiv.org/pdf/2503.18199">Generating realistic metaorders from public data</a>, looks at how you can use the public trade data to simulate parent (meta) orders. Given my blog post outlined the two ways you fit price impact models (public trades vs private trades) this new method introduced in the paper gives you a way of coming up with simulated private trades using the available public data. I&#8217;ve replicated the results at work and it looks promising. All in all, a simple method using the law of large numbers!</p><p>Next up is a good introduction to the practical realities of the FX market and how it is structured - <a href="https://www.dbresearch.com/PROD/RPS_EN-PROD/PROD0000000000542285/The_Brilliant_World_of_FX_-_A_Primer.PDF?undefined&amp;realload=ibL5T7eqDkDNlEBkc0Wg0YAor5x~6tgd8SAlYOzP9cA9AQpPjbhRk9znsOftkP0B">The Brilliant World of FX</a>. This is similar to the equity market structure document from Proof Trading I posted previously (<a href="/__u/dm13450.substack.com/i/154315620/equity-market-structure-primer">Jan's Newsletter</a>), but this time looking at the FX market.</p><p>Finally, a bit of fun&#8212;<a href="https://blog.luap.info/what-really-happens-inside-a-dating-app.html">What Really Happens Inside a Dating App</a>. This is a deep dive into the statistics of modern dating apps, how they function, and what that means for men and women separately. There is nothing quite like trying to moneyball your Tinder profile!</p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - Jan 2025]]></title><description><![CDATA[Importance sampling, equity market structure and congestion pricing.]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-jan-2025</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-jan-2025</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Fri, 17 Jan 2025 14:34:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u5fY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Getting straight into 2025 with a look at importance sampling and using it to assess strategies without running them in production: </p><p><a href="https://dm13450.github.io/2024/12/17/Importance-Sampling-Reinforcement-Learning-and-Getting-More-From-The-Data-You-Have.html">Importance Sampling, Reinforcement Learning and Getting More From The Data You Have</a></p><p>When you have something running and working in production you want some evidence that a change will improve things. With importance sampling you can re-weight the production data to provide information on a strategy that hasn&#8217;t even been run in production. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!u5fY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!u5fY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png" width="426" height="284" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:426,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;model slippage&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="model slippage" title="model slippage" srcset="/__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!u5fY!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F613c8b4c-86ef-4755-ac39-a69f7797f727_1200x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here, we have an xgboost model (blue line) running in production. By re-weighting the observed data (using equal weights, orange line), we can see the performance is worse, so we should not make the change.  This blog post was inspired by <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5001783">Choosing Trading Strategies in Electronic Execution using Importance Sampling</a>.</p><h3>Equity Market Structure Primer</h3><p>Proof Trading have a nice pdf that offers a basic introduction to the equity market landscape - <a href="https://primer.prooftrading.com/assets/pdf/Proof-Market-Structure-Primer.pdf">Proof Market Structure Primer</a>. It lightly covers most of the essential topics in equity trading. Good reading if you're from another asset class (me!) or just getting started in the world of electronic trading. They have a few other interesting reads in the blog section of their website.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><h3>NYC Congestion Pricing Dashboard</h3><p>NYC has bought in congestion pricing in an attempt to reduce traffic. This is a dashboard that compares the traffic both before and after the introduction of the congestion pricing but also a comparison to Boston and Chicago.</p><p>The <a href="https://www.congestion-pricing-tracker.com/">Congestion Pricing Tracker</a> is a simple dashboard but an interesting way of viewing the results of the experiment. From the data some routes look like they have improved things, but still early days. In a perfect world, we would AB test this type of tax (each day randomises whether you have to pay or not) but that might be a bit politically difficult to sell! London has had congestion pricing for 20 years and still can&#8217;t decide whether it had a causal effect on traffic - <a href="https://journals.sagepub.com/doi/abs/10.1177/0042098011417017?casa_token=E6g7vrxXx7QAAAAA%3AwdL7Z5bSVAOxazyrrmoyKRlropncD11FMwgaGgKJwHQLyBo5IKL2V3VVQiAzIFkSxWHOoH0ytbr0qw&amp;journalCode=usja">Re-assessing the Results of the London Congestion Charging Scheme</a>. </p><p>And just for fun, turns out you can easily solve Spot the Difference puzzles if you cross your eyes when looking at the two pictures - <a href="https://danielwirtz.com/blog/spot-the-difference-superpower">Spot the Difference Superpower</a>. Now I just need to practice crossing my eyes to see if it&#8217;s true.</p><p>Happy New Year all!</p><p>Dean</p><p></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - October 2024]]></title><description><![CDATA[Markouts, Market Making and Electronic Bonds]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-october-2024</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-october-2024</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Wed, 02 Oct 2024 18:15:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!c32_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After a summer (and a little more) of a break, I am back writing and getting some content out. </p><p>First is a piece on <a href="https://dm13450.github.io/2024/09/19/Alpha-Capture-and-Acquired.html">Alpha Capture and Acquired</a>.  Does the Acquired podcast have Alpha? We want to know when they release a podcast on a company does the stock rise or fall in the days after the release date?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!S82b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 424w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 848w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 1272w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!S82b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png" width="514" height="259" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/599ce660-baf0-4876-95e5-f5fe55964976_514x259.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:259,&quot;width&quot;:514,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Alpha capture markout graph&quot;,&quot;title&quot;:&quot;Alpha capture markout graph&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Alpha capture markout graph" title="Alpha capture markout graph" srcset="/__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 424w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 848w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 1272w, /__u/substackcdn.com/image/fetch/$s_!S82b!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599ce660-baf0-4876-95e5-f5fe55964976_514x259.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Markout graphs after a podcast is released.</figcaption></figure></div><p>My first time writing about how AI helped collect some data too. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>Next is a piece from the FT - <a href="https://www.ft.com/content/b4a7f326-266a-450f-915a-6a3fa21e2702">ETFs are eating the bond market</a>. This runs through fixed-income ETFs, their growth mechanics and likely consequences and also touches on the growth of electronic trading in the same space. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!MSuU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 424w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 848w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!MSuU!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif" width="360" height="272" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd17c66a-1e50-4870-aa26-031c081da571_360x272.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:272,&quot;width&quot;:360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 424w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 848w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!MSuU!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd17c66a-1e50-4870-aa26-031c081da571_360x272.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How FX used to be traded before the machines took over.</figcaption></figure></div><p>At the start of the decade it was a meme that bonds were always teetering on a liquidity crisis and the growth of the ETFs/passive investing was a powder keg waiting to explode when there was true distress in the market. Well, we ended up having the true distress in 2020 and the research suggests that the ETFs helped provide liquidity where it was needed rather than hamper it. It&#8217;s a good article that gets you up to speed with the modern landscape of fixed-income trading. </p><p>Next up is a new paper from my colleagues - <a href="https://www.risk.net/our-take/7959998/bofa-quants-propose-new-model-for-when-to-hold-when-to-sell">BofA quants propose new model for when to hold, when to sell</a>. It explores a mathematical model of when to take profit or stop loss after a period of holding the risk to give a closed-form solution when you have the market spread and client order arrival rate. Many of these types of problems are solved through optimal control so good to see (in my biased position) an analytical solution. </p><p>Speaking of market-making problems and solutions, the recent <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4885957">Unwinding Toxic Flow with Partial Information</a> paper now has accompanying code in a <a href="https://colab.research.google.com/drive/1qPdMUTApWw5nfARem0xK_7pUGdWB726y?usp=sharing#scrollTo=lrs1HJoekYDO">Colab notebook</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!c32_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 424w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 848w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!c32_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png" width="1456" height="703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:703,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 424w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 848w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c32_!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F195fae45-d0f4-4434-bf12-357c3673f3c6_2377x1148.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A market maker has incoming flow they need to unwind but they do not know the drift of the asset price and the drift will also change based on how quickly they unwind. </figcaption></figure></div><p>As someone who learns better through code than maths, it gives me a chance to fully understand the paper! Also, first time I&#8217;ve used a Colab notebook in the wild. </p><p>And finally, a fun, if a bit rambly (in a good way!) read about the state of the tech job market from someone&#8217;s personal blog - <a href="https://matt.sh/panic-at-the-job-market">Panic at the Job Market</a>.</p><p>Happy Q4 to all those who celebrate and until next time! </p><p>Dean</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/p/the-dm13450-newsletter-october-2024?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/p/the-dm13450-newsletter-october-2024?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - July 2024]]></title><description><![CDATA[Almgren-Chriss, Carry and Cookie Cutters]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-july-2024</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-july-2024</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Tue, 09 Jul 2024 23:46:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dX9n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This month I&#8217;ve finally finished a draft that&#8217;s been many years in the making. I&#8217;ve gone through the maths, <a href="https://dm13450.github.io/2024/06/06/Solving-the-Almgren-Chris-Model.html">Solving the Almgren Chriss Model</a>, showing each step to achieve the final results. The Almgren-Chriss model of optimal execution is the foundation for optimal execution. It is a simple mean-variance optimisation problem that you can solve with a fairly basic understanding of maths. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!dX9n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!dX9n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Comparing the TWAP to the Almgren Chriss model&quot;,&quot;title&quot;:&quot;Comparing the TWAP to the Almgren Chriss model&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparing the TWAP to the Almgren Chriss model" title="Comparing the TWAP to the Almgren Chriss model" srcset="/__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!dX9n!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d00b102-b1c3-48b1-b9a3-df37709bd9c7_5400x2700.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Optimal execution profiles from the Almgren Chris model compared to a TWAP.</figcaption></figure></div><p>This paper and its concepts are the foundations of optimal execution and it is always good to know the classics. Once you have this under your belt more complicated models await!</p><p>Resolve Asset Management have released a white paper on carry - <a href="https://investresolve.com/inc/uploads/pdf/Managed-Futures-Carry-Whitepaper.pdf">Managed Futures Carry - A Practitioners Guide</a>. This is a good paper that starts with the basics as carry is a fundamental quant strategy but more complicated than momentum. You can use the <a href="https://data.nasdaq.com/data/CHRIS-wiki-continuous-futures/documentation">CHRISS Wiki Continuous Futures</a> dataset to get futures data of different expiry which gives you the basic data needed to replicate the calculations. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>Another link that cropped up on my Twitter feed was <a href="https://cookiecutter-data-science.drivendata.org/">CookieCutter Data Science</a>. It&#8217;s a template for setting up data science projects and acts as scaffolding for common tasks. It&#8217;s about getting organised, setting up the right packages and having opinions on how a data project should be structured. If you find yourself making the same mistakes/bad decisions when doing this type of work you can learn from this setup. </p><p>And finally, a nice article on Bank of America&#8217;s TWAP and VWAP recent enhancements: <a href="https://thefullfx.com/bofa-flags-algo-improvement-as-it-adds-vwap-to-bloomberg/">BofA Flags Algo Improvement as it Adds VWAP to Bloomberg</a>.</p><p>Thanks for reading, </p><p>Dean</p>]]></content:encoded></item><item><title><![CDATA[From the dm13450 Archives: Feb 2021]]></title><description><![CDATA[Story Telling, Sports Data and some research blurbs.]]></description><link>https://dm13450.substack.com/p/from-the-dm13450-archives-feb-2021</link><guid isPermaLink="false">https://dm13450.substack.com/p/from-the-dm13450-archives-feb-2021</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Wed, 05 Jun 2024 18:12:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!G83W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>I&#8217;m porting over my old newsletters to Substack and giving my new followers a chance to look back at some of my older work. Mini review and my current thoughts at the end!</em></p><p>We enter the last week of Feb so it&#8217;s about time I fired off my first newsletter. This will be a collection of things I've read over the month, things I've found interesting, have inspired other ideas and everything in between.</p><p>First up, a presentation on data communication. <a href="https://laderast.github.io/data_storytelling_talk/#1">Data Story Telling</a> by Ted Laderas popped up on Twitter and is a good walkthrough of how to build an effective data story. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!G83W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 424w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 848w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!G83W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png" width="454" height="255.6868131868132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:454,&quot;bytes&quot;:486240,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 424w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 848w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G83W!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd3a8a73-98d4-4489-bc83-4cbadabe1e44_2352x1324.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone, junior or senior, could take something away from this talk. </p><p>Next is a new data source, or at least multiple data sources. The <a href="https://www.sports-reference.com">Sports Reference</a> website has easily digestible stats for so many different sports; baseball, American football, basketball, ice hockey and of course, proper football (soccer). So take a look and take in all the wonderful numbers.</p><p>Finally, here are updates on the projects I maintain/contribute to:</p><ul><li><p><a href="https://github.com/ellisvalentiner/AlphaVantage.jl">AlphaVantage.jl</a> released version 0.3. This included a rewrite of the authentication methods and included IPO and earnings calendar functionality.</p></li><li><p><a href="https://github.com/dm13450/HawkesProcesses.jl">HawkesProcesses.jl</a> is slowly building out the documentation to try and help people use it. </p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>Plus updates on my professional work:</p><p>A new metric for quantifying algo execution: </p><ul><li><p><a href="https://www.bestx.co.uk/publications/2021/1/25/measuring-an-algo-fill-profile-centre-of-mass">Measuring an Algo Fill Profile</a></p></li></ul><p>A look at how Hawkes processes and Dirichlet processes can be used to classify different trading cost regimes.</p><ul><li><p><a href="https://www.bestx.co.uk/publications/2021/2/18/volatility-spikes-and-impacts-on-liquidity">Volatility Spikes and Impacts on Liquidity</a></p></li></ul><p>You've got to be a BestX customer to read those pieces, but the blurbs might be enough to inspire you!</p><p>There we go, stay safe out there until the next newsletter.</p><p><em>Overall not a bad first newsletter, the Data Story Telling presentation is timeless and I enjoyed rereading it. I still use Sports Reference when deciding on what to do with the Fantasy Premier League team (more on that in future Archives, <a href="https://youtu.be/IS-lziTqClE?feature=shared">Optimising Fantasy Football with JuMP</a>). I've switched from Alphavantage to <a href="https://github.com/dm13450/AlpacaMarkets.jl">AlpacaMarkets.jl</a> now for finance data but my HawkesProcesses package is still going strong. I've moved on from BestX anymore but that research is still relevant and useful. </em></p><p></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - May 2024]]></title><description><![CDATA[Principal Components, Stochastic Control and T+1]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-may-2024</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-may-2024</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Tue, 21 May 2024 18:29:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sEHn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p>First up is my latest blog post. I take a look at principal component analysis (PCA) and how we can reduce a basket of currencies to a &#8216;market portfolio&#8217; and use this to hedge the overall exposure to these currencies. </p><p><a href="https://dm13450.github.io/2024/04/25/Currency-Hedging-and-Principal-Component-Analysis.html">Currency Hedging and Principal Component Analysis</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sEHn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sEHn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png" width="466" height="250.92307692307693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1300,&quot;resizeWidth&quot;:466,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;\&quot;Eigen portfolio returns\&quot;&quot;,&quot;title&quot;:&quot;Eigen portfolio returns&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="&quot;Eigen portfolio returns&quot;" title="Eigen portfolio returns" srcset="/__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 424w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 848w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sEHn!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65db1b0a-b6f7-4b32-bbe0-77c06df430e4_1300x700.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Different principal component portfolios</figcaption></figure></div><p>I think it&#8217;s a practical example of PCA even if it took a bit of a kicking on the <a href="https://www.reddit.com/r/quant/comments/1cjuehi/currency_hedging_and_principal_component_analysis/?ref=share&amp;ref_source=link">r/quant</a> subreddit. </p><p>Stochastic control is one of those things that I frequently read about but struggle to articulate what it means on a practical application. Thankfully this document <a href="https://cap.columbia.edu/sites/default/files/content/Documents/11-1910/Stochastic%20Control%20Theory%20in%20High-Frequency%20Trading.pdf">Stochastic Control Theory and Automated Market Making</a> builds up the problem in an intuitive way, starting from basic calculus to the full market-making solution. My next step would be to write the code that implements the solution, perhaps a blog post for the future! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>As a KDB/q person, I am always on the lookout for better tutorials or help with improving my language comprehension or at least something beyond the official docs! This PDF, <a href="http://nsl.com/papers/idioms_K3.pdf">Learn K programming, idiom by idiom</a>, came up on Hacker News a few weeks ago and details some common operations that are easy say Python, but not intuitive in q. </p><p>For example, if you have an array, x, and want to count all the occurrences of y</p><p><code>q)+/x=y</code> </p><p>Compared to pythons</p><p><code>python) sum([z == y for z in x])</code></p><p>although Julia is a bit nicer</p><p><code>julia) sum(x .== y)</code></p><p>And finally, next week equities move to <a href="https://business.bofa.com/content/dam/flagship/global-markets/preparing-for-t1-settlement/T+1-Settlement-Impact-on-FX-and-Other-Asset-Classes.pdf">T+1 settlement</a>. Feels like a fairly big change in the financial world and one in which the effects might not be immediately apparent. As an FX guy, I&#8217;ll be watching and observing to see if there are any major changes in my market structures. </p><p>Thanks for making it this far and until next month.</p><p>Dean</p><p></p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - April 2024]]></title><description><![CDATA[OU Processes, Modern Julia and Macroeconomics]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-april-2024</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-april-2024</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Wed, 17 Apr 2024 18:23:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!419Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My latest blog post looks at Ornstein-Uhlenbeck processes and how it can be a little tricky to estimate the parameters even from simulated data sets. <a href="https://dm13450.github.io/2024/03/09/Calibrating-an-Ornstein-Uhlenbeck-Process.html">Calibrating an Ornstein&#8211;Uhlenbeck Process</a> came about from reading <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4609588">Unwinding Stochastic Order Flow: When to Warehouse Trades </a>where they use the OU process to model incoming trades from a client. I realized that I had never taken an in-depth look into this type of process and wanted to get a handle on how to calibrate one. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!419Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!419Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png" width="728" height="273" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:546,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Different values an OU process can look&quot;,&quot;title&quot;:&quot;Different values an OU process can look&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Different values an OU process can look" title="Different values an OU process can look" srcset="/__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!419Q!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd589e67c-a25a-40d8-8639-7dc1c4d619f3_7200x2700.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Different types of OU processes. </figcaption></figure></div><p>It is surprising how much uncertainty is in the parameters and my general conclusion was that you can perhaps have confidence in the sign of the parameters, but actual point estimates can vary wildly.  </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you are looking at getting started in Julia then this guide, <a href="https://modernjuliaworkflows.github.io/">Modern Julia Workflow</a>, goes through the full process of getting Julia installed and writing scripts. If you are more of a veteran to Julia it goes into more advanced topics with a nice reference page at the end for all different packages that can help you optimise your Julia code. It&#8217;s good to see Julia get these types of tutorials as it matures into a more stable product. </p><p>Then on the academic side, there is a new free, online Macroeconomics book for graduate students: <a href="https://phdmacrobook.org/">https://phdmacrobook.org/</a></p><p>It&#8217;s unfinished as of today, but so far almost 800 pages of core macroeconomic theory for free. It&#8217;s worth dipping in and out if you have a passing interest. I&#8217;ve been using it to top up my AS-Level economics (from over 10 years ago now, god, I&#8217;m getting old). </p><p>That&#8217;s all for this month, see you in 30 days!</p><p>Dean</p>]]></content:encoded></item><item><title><![CDATA[The dm13450 Newsletter - March 2024]]></title><description><![CDATA[Causal regularization, crypto's return and other bits]]></description><link>https://dm13450.substack.com/p/the-dm13450-newsletter-march-2024</link><guid isPermaLink="false">https://dm13450.substack.com/p/the-dm13450-newsletter-march-2024</guid><dc:creator><![CDATA[Dean Markwick]]></dc:creator><pubDate>Mon, 11 Mar 2024 19:34:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6mE3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the faff of migrating this newsletter over to Substack, I managed to miss out on talking about my Christmas blog post. Finance is increasingly thinking about causal inference and trying to understand <em>why</em> things happen rather than just throwing more and more data features to draw out an extra inch of predictive accuracy. This in turn means that I am also trying to understand causal analysis and build out my analytic toolbox. One such tool is Causal Regularization and this uses regularised regression to try and undo the effects of confounding. </p><p><a href="https://dm13450.github.io/2023/12/28/Exploring-Causal-Regularisation.html">Exploring Causal Regularisation</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6mE3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6mE3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png" width="1456" height="546" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:811763,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 424w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 848w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6mE3!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3784a1c-b186-4aad-bbe1-560f4811f99f_7200x2700.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The term causal regression can be a bit daunting (at least it was for me!) but this type of analysis shows that if you are confident with basic regression/machine learning tasks then you can easily apply them to causal problems and understand the true relationships between your variables.  </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to keep up to date.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Crypto's Return</h2><p>Bitcoin is making all-time highs again so that puts crypto back on the menu which also means I can once again plug my Crypto PreTrade dashboard</p><p><a href="https://cryptoliquiditymetrics.com/">Crypto Liquidity Metrics</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!M5y9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 424w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 848w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 1272w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!M5y9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png" width="544" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1224,&quot;resizeWidth&quot;:544,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot of cryptoliquiditymetrics.com&quot;,&quot;title&quot;:&quot;Cryptoliquidtymetrics screenshot&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot of cryptoliquiditymetrics.com" title="Cryptoliquidtymetrics screenshot" srcset="/__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 424w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 848w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 1272w, /__u/substackcdn.com/image/fetch/$s_!M5y9!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb543b658-f4a6-425e-84a8-0f78ac672727_1224x810.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It's a quick and dirty view of current market conditions built just using JavaScript and hosted with Netlify. </p><p>On the investing front, Sparkline Capital wrote an interesting piece on using factors in the crypto markets </p><p><a href="https://www.sparklinecapital.com/post/crypto-factor-investing">Crypto Factor Investing</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Wz4I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_webp, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Wz4I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png" width="508" height="317.15675675675675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:462,&quot;width&quot;:740,&quot;resizeWidth&quot;:508,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Crypto Market Evolution&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Crypto Market Evolution" title="Crypto Market Evolution" srcset="/__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_424, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_848, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_1272, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wz4I!, /__u/dm13450.substack.com/w_1456, /__u/dm13450.substack.com/c_limit, /__u/dm13450.substack.com/f_auto, /__u/dm13450.substack.com/q_auto:good, /__u/dm13450.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb61a5c7-9484-4af4-8b46-c1c2e2ff55ba_740x462.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The proposed crypto equivalent of the 60/40 portfolio (60% equities, 40% bonds) is 60% Bitcoin, 20% large-cap momentum and 20% small-cap intangible value, which passes the common sense test. </p><p>It's a well-written post with some nice graphics that also works as a good introduction to factor investing. Given last month I wrote about the Skew Factor () it's timely to take another look at factor-based finance. </p><h2>Any Other Business</h2><p>Another thing about moving to Substack, they are big on getting you to recommend other Substacks and get some network effects going. I'm not going to do that, instead, I'm going to highlight a random blog I found (and admired) over the years. </p><p><a href="https://sebastiancallh.github.io/">https://sebastiancallh.github.io/</a></p><p>Similar to my posts, they cover a wide range of topics in a beginner-friendly way and give you that practical introduction to lots of different topics.  If you like what I write about you will probably enjoy this blog too. Shame it hasn't been updated since August!</p><p>I also finally got around to getting Julia 1.10 installed on my machine but this time using <a href="https://github.com/JuliaLang/juliaup">juliaup</a> which is a Julia version manager. So now it's just a terminal command to update to the latest version rather than a download and point your shell to a binary. Annoyingly it hasn't been picked up by IJulia, so I need to spend some time working out what has happened there. This meant running my quarterly ```brew upgrade``` which locks down my computer for a few hours. Should probably thinking about replacing my late 2013 MacBook with a shiny M3 one. </p><p>And that's it for March, enjoy the end of Q1 and until April!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://dm13450.substack.com/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share Dean&#8217;s Substack&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/dm13450.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Dean&#8217;s Substack</span></a></p>]]></content:encoded></item></channel></rss>