skip to content
Danzell danzells blog
Table of Contents

Season 2026 is in full swing, and I’m currently sitting at rank 93. Not exactly where I wanted to be on my way to Numerai Grandmaster.

Still, a quick sign of life: I’m doing fine. I’ve just been busy rebuilding my Numerai setup and chasing a faster half marathon.

First comparison of the scores

I backed the wrong model. Again.

What happened? I put my stakes on the wrong model. Ouch.

I thought I was past that mistake by now. I’ve been doing this for a few years, after all. But I have to admit that I didn’t backtest my initial v5.2 models properly. The model in question was danzell_faith_debug, and it started so well.

Stakes on the wrong model again

My old Numerai workflow looked roughly like this:

  • Train many different models, mostly neural networks in PyTorch, aiming for as much model diversity as possible.
  • Watch the approaches over a longer period and use the results to make decisions about what to try next.
  • Put my stake on the models with the best local and live performance, with a heavy bias toward live performance.

The problem was that I was flying half-blind. I evaluated the models locally, but often with only one simple, if fairly large, holdout set. Overfitting was almost inevitable. Models looked good at first, then became stale after 3-4 weeks and often crashed. I had no robust way to assess the risk, as danzell_faith_debug demonstrated rather nicely.

Building a process instead of picking a winner

The codebase rebuild is meant to change that. My starting point is i_are_baboon_2, one of my older strategies that turned out to be genuinely promising. The model is comparatively simple, because of course it is, and over the past few weeks it consistently ranked among the top 5 models by 3-month payout.

Numerai updates its data regularly, which means retraining is unavoidable. So I don’t just need one good model. I need a stable process that consistently produces good models, including proper backtests, risk estimates, and everything around them.

The immediate goal is to rebuild i_are_baboon_2 from scratch with the new v5.3 dataset. I’ll consider the approach successful if those new models perform similarly well. If that works, it should save me a lot of effort in future seasons.

Thanks to some LLM magic and a solid old codebase, the rebuild moved fairly quickly. I’d already built most of what I needed, then used Claude and Codex to clean it up and rewire it. Apparently I’ve joined the pantheon of coding-agent gods now. Pretty damn cool. I love it.

The new setup is lean and clean. I have several dashboards showing how my models perform in backtests, and I’m hopefully operating without target leakage. Fingers crossed.

The first experiments suggest that I managed to replicate the performance of i_are_baboon_2. I’ll share the exact results in a separate post. Hopefully that one won’t take quite as long.

A half marathon PB is still a PB

There’s more good news. Running is still very much my thing, and at the start of the year I focused on improving my half marathon personal best.

I didn’t manage to break 1h19min. But a PB is a PB.

Feel free to follow me on Strava and my socials.