<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Alexander Hübbert</title>
<link>https://alexanderhubbert.com/posts.html</link>
<atom:link href="https://alexanderhubbert.com/posts.xml" rel="self" type="application/rss+xml"/>
<description>Research and writing by Alexander Hübbert on finance, market microstructure, Python, and data-driven analysis.</description>
<generator>quarto-1.9.38</generator>
<lastBuildDate>Sat, 18 Jul 2026 22:00:00 GMT</lastBuildDate>
<item>
  <title>Connect to IBKR with Python</title>
  <link>https://alexanderhubbert.com/posts/ibkr-connect-python/</link>
  <description><![CDATA[ This post shows how to connect Python to Interactive Brokers with ib_async and download historical prices into pandas. ]]></description>
  <category>Python</category>
  <category>API</category>
  <category>Downloading data</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/ibkr-connect-python/</guid>
  <pubDate>Sat, 18 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/ibkr-connect-python/Compt.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Why a model with no predictive power can score 90% accuracy</title>
  <link>https://alexanderhubbert.com/posts/purged-cross-validation/</link>
  <description><![CDATA[ When an outcome spans several future observations, training labels can overlap the test period. This post shows how purging that overlap removes the inflated accuracy. ]]></description>
  <category>Python</category>
  <category>Machine Learning</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/purged-cross-validation/</guid>
  <pubDate>Wed, 15 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/purged-cross-validation/purging_explained.png" medium="image" type="image/png" height="83" width="144"/>
</item>
<item>
  <title>Why You Need to Bootstrap Your Trading Strategy</title>
  <link>https://alexanderhubbert.com/posts/sharpe-ratio-uncertainty/</link>
  <description><![CDATA[ This post shows how bootstrapping can reduce uncertainty about whether the performance of backtested trading strategies reflects a genuine edge or chance. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Statistics</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/sharpe-ratio-uncertainty/</guid>
  <pubDate>Sun, 12 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/sharpe-ratio-uncertainty/Boot.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Download Tick Data from LSEG Tick History in Python</title>
  <link>https://alexanderhubbert.com/posts/lseg-download-tick-data/</link>
  <description><![CDATA[ Download trade and quote data from LSEG Tick History using Python, with chunked requests, automatic retries and resumable CSV exports. ]]></description>
  <category>API</category>
  <category>Python</category>
  <category>Downloading data</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/lseg-download-tick-data/</guid>
  <pubDate>Sat, 11 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/lseg-download-tick-data/LOB.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Does the price of butter predict the S&amp;P 500? The reason you need cointegration.</title>
  <link>https://alexanderhubbert.com/posts/cointegration-butter-sp500/</link>
  <description><![CDATA[ Two unrelated series can appear highly correlated, even when there is no real relationship between them. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Statistics</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/cointegration-butter-sp500/</guid>
  <pubDate>Tue, 07 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/cointegration-butter-sp500/Butter.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>How to write better</title>
  <link>https://alexanderhubbert.com/posts/how-to-write-better/</link>
  <description><![CDATA[ Five rules for focusing your writing and saying more with less. ]]></description>
  <category>Writing</category>
  <guid>https://alexanderhubbert.com/posts/how-to-write-better/</guid>
  <pubDate>Sat, 04 Jul 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/how-to-write-better/Writing.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Using the chess rating system to predict the World Cup winners.</title>
  <link>https://alexanderhubbert.com/posts/elo-world-cup/</link>
  <description><![CDATA[ A walk-forward test of the chess rating system on four World Cups. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/elo-world-cup/</guid>
  <pubDate>Mon, 29 Jun 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/elo-world-cup/Pic_Fotboll.png" medium="image" type="image/png" height="115" width="144"/>
</item>
<item>
  <title>How to Backtest a Strategy</title>
  <link>https://alexanderhubbert.com/posts/backtest-simulated-data/</link>
  <description><![CDATA[ A set of short Python lines to backtest a strategy. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/backtest-simulated-data/</guid>
  <pubDate>Sun, 07 Jun 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/backtest-simulated-data/momentum_backtest_simulated.png" medium="image" type="image/png" height="53" width="144"/>
</item>
<item>
  <title>Are markets overvalued?</title>
  <link>https://alexanderhubbert.com/posts/are-markets-overvalued/</link>
  <description><![CDATA[ Three portfolios’ performance across the full range of S&P 500 monthly returns, 1988 to 2026. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/are-markets-overvalued/</guid>
  <pubDate>Tue, 02 Jun 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/are-markets-overvalued/portfolio_buckets_vs_sp500.png" medium="image" type="image/png" height="88" width="144"/>
</item>
<item>
  <title>Estimating the Frequency of Market Crimes</title>
  <link>https://alexanderhubbert.com/posts/Detecting_Marketcrimes/</link>
  <description><![CDATA[ Using Detection-Controlled Estimation to recover hidden market crimes from observed prosecutions. ]]></description>
  <category>Python</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/Detecting_Marketcrimes/</guid>
  <pubDate>Tue, 26 May 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/Detecting_Marketcrimes/Cases.png" medium="image" type="image/png" height="115" width="144"/>
</item>
<item>
  <title>Investing in high-yield dividend stocks?</title>
  <link>https://alexanderhubbert.com/posts/dividend-yield-backtest/</link>
  <description><![CDATA[ A monthly-rebalanced, equal-weighted portfolio of the top 30 highest-yielding US stocks benchmarked against the S&P 500. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/dividend-yield-backtest/</guid>
  <pubDate>Tue, 19 May 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/dividend-yield-backtest/dividend_top30_portfolio_vs_spy.png" medium="image" type="image/png" height="113" width="144"/>
</item>
<item>
  <title>Does a Large One-Day Move in the S&amp;P 500 Predict Next Week’s Return?</title>
  <link>https://alexanderhubbert.com/posts/buy-the-dip-sell-the-rip/</link>
  <description><![CDATA[ One-week S&P 500 total-return outcomes after large single-day moves, 1988 to 2026. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/buy-the-dip-sell-the-rip/</guid>
  <pubDate>Sun, 10 May 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/buy-the-dip-sell-the-rip/one_week_after_single_day_move_usa.png" medium="image" type="image/png" height="82" width="144"/>
</item>
<item>
  <title>Following insider trades?</title>
  <link>https://alexanderhubbert.com/posts/insider-net-buyer-backtest/</link>
  <description><![CDATA[ A monthly-rebalanced, equal-weighted portfolio of the largest net-dollar insider buyers benchmarking against the S&P 500. ]]></description>
  <category>Python</category>
  <category>Backtesting</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/insider-net-buyer-backtest/</guid>
  <pubDate>Tue, 21 Apr 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/insider-net-buyer-backtest/insider_top50_portfolio_vs_spy.png" medium="image" type="image/png" height="113" width="144"/>
</item>
<item>
  <title>Classify Insiders as Informed</title>
  <link>https://alexanderhubbert.com/posts/classify-routine-opportunistic-insiders/</link>
  <description><![CDATA[ Classifying insiders as informed according to Cohen, Malloy & Pomorski (2012) routine/opportunistic insider split. ]]></description>
  <category>Code</category>
  <category>Python</category>
  <guid>https://alexanderhubbert.com/posts/classify-routine-opportunistic-insiders/</guid>
  <pubDate>Sun, 19 Apr 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/classify-routine-opportunistic-insiders/ChatGPT Image Apr 20, 2026, 01_23_08 PM.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Download Stock Data from LSEG Workspace in Python</title>
  <link>https://alexanderhubbert.com/posts/lseg-download-stock-data/</link>
  <description><![CDATA[ A copy-paste pipeline for pulling every Swedish stock since 2000, active and delisted, into one CSV. ]]></description>
  <category>API</category>
  <category>Python</category>
  <category>Downloading data</category>
  <category>Code</category>
  <guid>https://alexanderhubbert.com/posts/lseg-download-stock-data/</guid>
  <pubDate>Thu, 09 Apr 2026 22:00:00 GMT</pubDate>
  <media:content url="https://alexanderhubbert.com/posts/lseg-download-stock-data/Pytho_LSEG.png" medium="image" type="image/png" height="95" width="144"/>
</item>
</channel>
</rss>
