A Quants Approach to RunningI’ve been training for a marathon and it is a personal habit to let data take over my life for each of my hobbies. I’ve built apps that…Jun 1, 2023Jun 1, 2023
Fitting Mixed Effects Models — Python, Julia or R?I’m benchmarking how long it takes to fit a mixed effects model using lme4 in R, statsmodels in Python, plus showing how MixedModels.jl in…Jan 6, 2022Jan 6, 2022
Optimising a Taskmaster Task with PythonFor those that don’t know Taskmaster is a game show where 5 comedians compete in a variety of nonsensical tasks to win points from the…Oct 28, 2021Oct 28, 2021
Fixture Difficulty and Fantasy Premier League Point PredictionsIn my last blog post I showed how the odds can be used to measure the difficulty of a football match. I then took this difficulty and…Oct 12, 2021Oct 12, 2021
How Tough is that Football Match?How do we quantify the difficulty of a soccer match and can we construct a single number that will explain how easy or hard the match is…Sep 26, 2021Sep 26, 2021
QuestDB Part 2 — High Frequency Finance (again!)Last time I showed you how to set up a producer/consumer model to build a database of BTCUSD trades using the CoinbasePro WebSocket feed…Aug 12, 2021Aug 12, 2021
Using QuestDB to Build a Crypto Trade Database in JuliaQuestDB is a timeseries database that is well suited for financial data. It is built with timestamps in mind both when storing the data and…Aug 5, 2021Aug 5, 2021
Double Machine Learning — An Easy IntroductionThis post serves as an introduction to the technique of double machine learning. I replicate an influential paper in R and show how you…May 28, 20211May 28, 20211
State of the MarketFitting Infinite State Hidden Markov Models to the Stock MarketJun 3, 2020Jun 3, 2020