Targeting 40% Vol and Only Getting 20%: A Debugging Story
A deep dive into why realized volatility wasn't matching targets, and the allocation formula fix that solved it
Hey friends,
One of the things I’ve been struggling with lately is that some of my models WERE NOT matching the volatility target I set for them. Targeting 40% annualized volatility, only realizing about 20%. Half. And I had no idea why.
This obviously affects the returns since we’re not hitting the risk targets we set. Even though we win on sharpe against the benchmarks, the absolute returns stay far behind what we want them to be.
Spoiler: by the end of this post, we did achieve the target. But man… It was a lengthy task, took me the weekend. Here’s how the equity curve looks by the end, after we’ve fixed our formulas.
I had a few hypotheses to start with. Most of them were wrong. But I’m leaving them in this post because I think there’s a lot of value in dissecting your models and what they’re actually doing on the backend. Sometimes we learn more from digging ourselves off the wrong paths, than going straight to the right ones.
Let’s get into it.
Breaking It Down
First thing I like to do is plot things out, right? So, we’ve been running this strategy at around 20% realized volatility. Mean of 23.65%, median of 22.28%.
Is that bad? Well, not necessarily… if your target is 20%. But I was targeting 40% for this model and I’m only realizing about half. Which I don’t understand why.




