Code & Kapital logoCode & KapitalQuant Research Systems
Portfolio ConstructionMarch 29, 202611 min read

Research Article

Inverse Volatility Weighting: Why Risk Shapes Portfolio Returns

Equal weighting assumes every asset deserves the same capital. Inverse volatility asks a different question: how much risk should each asset contribute?

Core idea

Risk scaling

weights ∝ 1 / volatility

Primary effect

Risk balance

less dominated by high-vol assets

Trade-off

Implicit tilts

low-vol bias emerges

By Code & Kapital ResearchApplied research for serious practitioners

Research standard

This article is written from a production-first perspective: assumptions are part of the result, not a footnote.

The emphasis is on failure modes, implementation detail, and why process quality matters more than an elegant historical curve.

Portfolio construction begins with a hidden assumption

Every portfolio construction method embeds a view about how capital should be allocated across assets. Equal weighting, for example, assumes that each asset deserves the same share of capital regardless of its behavior. This assumption is simple and intuitive, but it ignores one of the most important characteristics of financial assets: their volatility.

In practice, volatility determines how much an asset can influence the overall portfolio. A high-volatility asset will dominate portfolio risk even if it has the same capital weight as a more stable asset. This creates an imbalance where a small number of positions effectively drive the outcome.

Callout

Inverse volatility starts from a different premise

Instead of allocating capital equally, allocate risk more evenly. Capital becomes the variable, not the constraint.

From capital allocation to risk allocation

Volatility is simply a measure of how much an asset moves. Higher volatility means larger and more unpredictable price swings, while lower volatility means more stable behavior. Inverse volatility weighting takes this information and translates it into portfolio weights: assets that are more volatile receive less capital, while more stable assets receive more capital.

The core idea is straightforward: you do not want to allocate the same amount of money to a stock that moves 15% a year and one that moves 50% a year. Risk should influence how much capital you allocate.

This creates a portfolio that is less sensitive to any single position. Instead of allowing volatile assets to dominate outcomes, the method attempts to equalize their contribution to overall risk. The result is often a smoother return profile, even though the underlying assets remain unchanged.

The inverse volatility weight

Inverse volatility weighting is a natural entry point into risk-based portfolio construction. In its basic form, the weight for each asset is set by dividing its inverse volatility by the sum of inverse volatilities across the portfolio.

wi=1 / σiΣj (1 / σj)

Here, sigma_i is the volatility of asset i. Capital is therefore scaled in inverse proportion to how much each asset tends to move.

A simple inverse volatility implementation

python

vol = returns.rolling(window=252).std()
inv_vol = 1 / vol
weights = inv_vol.div(inv_vol.sum(axis=1), axis=0)

Weights are proportional to the inverse of volatility and normalized to sum to one.

Callout

A full inverse volatility implementation is available in the Code & Kapital Backtesting Engine

The Code & Kapital Backtesting Engine includes this kind of production-ready inverse volatility workflow directly, so the method can be tested inside a broader research stack instead of being rebuilt from scratch in each notebook.

Inverse volatility weighting in practice

python

strat3 = Strategy(
    "InvVol 3 Months",
    [
        RunDaily(),
        SelectAll(),
        LedoitWolfCovariance(lookback=pd.DateOffset(months=3)),
        WeightInvVol(),
        Rebalance(),
    ],
)

This is a small snippet taken directly from the Code & Kapital Backtesting Engine. A structured inverse volatility strategy can be assembled with only a few components, making it easy to move from idea to a usable, production-minded implementation.

Inv Vol in action across a multi-asset portfolio

S&P 500
NASDAQ 100
DEVELOPED MARKETS EQ
EMERGING MARKETS EQ
TREASURY BONDS
IG BONDS
HY BONDS
GOLD FUTURES
OIL FUTURES
COMMODITIES
US DOLLAR
REAL ESTATE
BITCOIN

Monthly portfolio weights

0%25%50%75%100%2014-122020-072026-03

A monthly stacked area view of how inverse volatility weighting redistributes capital across equities, bonds, commodities, currencies, real estate, and bitcoin as relative risk changes through time. This example was run on the Code & Kapital Backtesting Engine using the Code & Kapital data stack. In practice, the method often loads more heavily into bonds and the US Dollar because those assets typically exhibit lower realized volatility, which is exactly what the weighting rule is designed to reward. Interestingly enough, during the COVID-19 market shock, the strategy loaded up on Bitcoin as relative volatility conditions shifted across the broader asset set.

The geometry behind the intuition

At a deeper level, inverse volatility weighting can be understood as a simplification of the minimum variance problem. In the full formulation, portfolio risk depends on the covariance matrix between assets. Inverse volatility ignores correlations and focuses only on individual variances, effectively approximating the solution under a diagonal covariance assumption.

This simplification is what makes the method both practical and robust. It avoids the instability that often comes with estimating full covariance matrices, while still capturing a meaningful part of the risk structure. The trade-off is that it cannot fully account for diversification effects between assets.

In the multi-asset example above, this shows up clearly in the bond allocations. The strategy can add a lot of weight to Treasury Bonds, IG Bonds, and HY Bonds at the same time because each sleeve may look individually less volatile than equities or commodities. But inverse volatility does not fully account for how those bond exposures co-move with one another, so the portfolio can look more diversified in capital terms than it really is in correlation terms.

Equal weight vs inverse volatility

Equal weight

Capital balanced

Inverse vol

Risk balanced

Outcome

Lower concentration

Inverse volatility weighting reduces concentration in high-volatility assets, leading to a more balanced risk profile compared to equal weighting.

What changes in practice

When applied to real data, inverse volatility weighting tends to shift capital toward more stable assets. This often results in a portfolio that exhibits lower drawdowns and reduced volatility compared to equal weighting. The effect can be particularly noticeable in multi-asset settings where volatility differences are large.

At the same time, this shift introduces implicit exposures. By overweighting low-volatility assets, the portfolio may develop a structural tilt toward certain sectors, factors, or asset classes. These tilts are not explicitly chosen, but they emerge naturally from the weighting scheme.

Equal weight vs inverse volatility

MetricEqual WeightInvVol 3 MonthsInvVol 12 Months
CAGR10.9%7.2%8.4%
Volatility14.2%9.4%8.9%
Max Drawdown-37.3%-21.4%-19.3%
VaR-1.1%-0.8%-0.7%
Sharpe0.800.790.95

Illustrative portfolio diagnostics comparing equal weighting with inverse volatility lookbacks across the same multi-asset universe.

Even though the returns in this multi-asset example are lower under inverse volatility weighting, the risk profile improves meaningfully. Volatility comes down, and the drawdown profile becomes much more controlled than under equal weighting.

That trade-off is especially visible in the 12-month inverse volatility version. While it does not produce the highest raw return, it improves the Sharpe ratio and reduces drawdowns significantly, which is often the more relevant outcome when the objective is to build a steadier portfolio rather than simply maximize headline CAGR.

Callout

This comparison was produced with the Code & Kapital Portfolio Diagnostics tool

The Code & Kapital Portfolio Diagnostics tool makes it easy to compare weighting schemes, review portfolio-level risk, and inspect how construction choices change return, drawdown, and implementation behavior across the same asset universe.

What the method does not capture

Inverse volatility weighting does not incorporate expected returns, nor does it fully account for correlations between assets. As a result, it should not be interpreted as an optimal allocation in the classical sense. It is a heuristic that improves upon equal weighting by introducing a basic form of risk awareness.

In environments where correlations matter significantly, or where return forecasts are reliable, more advanced methods may provide better results. However, these methods often come with increased estimation error and implementation complexity.

Impact on portfolio volatility and drawdowns

Volatility

Reduced

Drawdowns

Shallower

Stability

Improved

Inverse volatility portfolios typically exhibit smoother return paths, though performance differences depend on the underlying asset universe.

A different way to think about portfolios

Inverse volatility weighting reframes portfolio construction as a question of risk distribution rather than capital allocation. This shift is subtle but important. It highlights that the same set of assets can produce very different outcomes depending on how they are combined.

The method does not rely on forecasting or complex optimization. Instead, it introduces a structural adjustment that aligns capital with observed behavior. In doing so, it provides a baseline that is often more robust than naive alternatives.

Portfolio construction is not just about what you own. It is about how risk is allowed to accumulate.
Code & Kapital Research

From simplicity to structure

Inverse volatility weighting occupies an interesting position between simplicity and structure. It is easy to implement, requires minimal assumptions, and yet meaningfully changes portfolio behavior. That combination makes it a useful baseline for both research and production systems.

More importantly, it serves as a reminder that portfolio construction is not a secondary step. It is where signals are translated into outcomes, and where small design choices can have large consequences.

Continue the research

Receive future research and product updates directly.

Join the newsletter for serious commentary on backtesting, data engineering, portfolio construction, and the systems behind robust quant work.

Weekly research notes, product updates, and serious quant commentary.

No spam. Unsubscribe anytime.

Related Research

Continue reading

View research archive
Data EngineeringApril 4, 20268 min read

Pulling Macroeconomic Data with the FRED API

The FRED API makes macro metadata, current observations, and revision-aware history unusually accessible, but the real step up comes from handling release timing and vintages with more discipline.

Code & Kapital ResearchRead research