A crypto risk parity portfolio aims to give each holding an equal contribution to modeled portfolio risk, often measured by volatility. An equal-weight portfolio gives each holding the same capital allocation. Inverse-volatility weights are a simpler rule; they produce equal risk contributions only under particular correlation structures. None of these rules establishes expected returns or prevents losses.
The useful comparison is between allocation rules applied to the same assets and assumptions. Otherwise, a change in the asset universe, leverage or measurement window can be mistaken for a benefit of the weighting method.
Decide what should be equal
For a long-only portfolio with three holdings, equal weight means assigning one third of capital to each. It needs no covariance estimate to determine those starting weights. Maintaining them still requires a rebalancing policy as prices change.
Risk parity instead asks how each holding contributes to a specified risk measure. This article uses equal contributions to portfolio volatility, usually called equal risk contribution, or ERC. Other risk measures and unequal risk budgets create different allocation problems. Palomar's explanation of dollar versus risk diversification makes this distinction explicit.
Inverse-volatility weighting assigns each asset a weight proportional to the reciprocal of its estimated volatility. An asset with twice the volatility receives half the capital weight, before normalization. It uses each asset's variability but ignores differences in their relationships with one another.
| Rule | Quantity it equalizes | Inputs needed for starting weights | What to check afterward |
|---|---|---|---|
| Equal weight | Capital weight, 1/N | Eligible asset list | Risk concentrations despite equal dollars |
| Inverse volatility | Weighted stand-alone volatility, weight × asset volatility | Comparable asset volatility estimates | Actual contributions under the full covariance matrix |
| Covariance-aware ERC | Each asset's share of portfolio volatility | Full covariance matrix and constraints | Contribution errors, stability and executable weights |
A portfolio can therefore look concentrated in dollars while being more evenly distributed under its risk model. Keep capital concentration measures such as HHI alongside the risk calculation; neither replaces the other.
Compare three rules on one hypothetical portfolio
Consider an invented $12,000 unleveraged spot portfolio containing assets A, B and C. These labels represent no particular tokens. USD is the reporting currency, and every return uses the same daily measurement interval. All capital is allocated among the three assets, with no cash line, borrowing or derivatives. The assumptions below are educational inputs, not current crypto estimates or an allocation recommendation.
Assume daily return standard deviations of 2% for A, 4% for B and 6% for C. Use this correlation matrix:
| Correlation | A | B | C |
|---|---|---|---|
| A | 1.00 | 0.80 | 0.10 |
| B | 0.80 | 1.00 | 0.20 |
| C | 0.10 | 0.20 | 1.00 |
Convert correlation into covariance using covariance(i,j) = volatility(i) × volatility(j) × correlation(i,j). For example, A–B covariance is 0.02 × 0.04 × 0.80 = 0.00064. The diagonal entries are the variances: 0.0004, 0.0016 and 0.0036.
Under equal weights, each asset receives $4,000. Inverse-volatility weights are proportional to 1/0.02, 1/0.04 and 1/0.06, giving the ratio 6:3:2. Normalizing that ratio produces capital weights of 54.55%, 27.27% and 18.18%.
Solving the covariance-aware equal-contribution equations produces a third allocation. Here are all three results, calculated with unrounded weights and rounded only for display:
| Allocation rule | Capital weights A / B / C | Volatility contribution shares A / B / C | Modeled daily portfolio volatility |
|---|---|---|---|
| Equal weight | 33.33% / 33.33% / 33.33% | 14.36% / 33.66% / 51.98% | 2.9963% |
| Inverse volatility | 54.55% / 27.27% / 18.18% | 36.54% / 38.46% / 25.00% | 2.4877% |
| Covariance-aware ERC | 53.10% / 25.06% / 21.84% | 33.33% / 33.33% / 33.33% | 2.5212% |
Equal dollars leave C responsible for about 52% of modeled volatility. Inverse volatility reduces that imbalance but gives B a materially larger risk share than C. ERC gives C more capital than inverse volatility does, reflecting its lower assumed correlations with the other two holdings.
The ERC weights are approximately 0.53104439, 0.25056695 and 0.21838866. At the assumed equity, that means about $6,372.53 in A, $3,006.80 in B and $2,620.66 in C, before costs.
ERC has slightly higher modeled volatility than inverse volatility in this example. Equalizing contributions and minimizing total volatility are different objectives. The table provides no return forecast or evidence that one rule will outperform.
Check the contributions instead of trusting the label
Let Σ be the return covariance matrix and w the capital-weight vector. Portfolio variance is v = wᵀΣw, and portfolio volatility is √v. The contribution ratios below require positive portfolio variance; they are undefined when it is zero.
An asset's component volatility is RC_i = w_i × (Σw)_i / √v. Its relative contribution is RC_i / √v, or equivalently w_i × (Σw)_i / v. Component volatilities add to portfolio volatility; relative contributions add to one. These are the volatility decomposition formulas in Palomar's methodology.
For equal weights in this example, the three covariance-weighted terms w_i × (Σw)_i are approximately 0.000128889, 0.000302222 and 0.000466667. Their total is 0.000897778. Dividing each by that total gives the first row's contribution shares.
The inverse-volatility result has a useful shortcut. Its three weighted stand-alone volatilities are identical. Consequently, its relative contributions are proportional to the sums of the correlation matrix's rows: 1.90, 2.00 and 1.30. Divide by their total, 5.20, to obtain 36.54%, 38.46% and 25.00%.
This also explains a special case: with zero pairwise correlations, every correlation row sums to one, so inverse volatility does produce equal contributions. Equal pairwise correlations are another sufficient case when portfolio variance is positive. The official riskParityPortfolio methodology distinguishes its inverse-volatility diagonal formulation from its full-covariance formulation.
For ERC, solving the equations makes each relative contribution one third. Recomputing from the resulting unrounded weights gives component daily volatilities of approximately 0.8404 percentage points each, totaling 2.5212%. A full portfolio risk-contribution worked example explains the attribution in more detail.
Change the relationships and check again
ERC is equal under the matrix used to construct it. It does not remain equal under every possible matrix.
As a second hypothetical calculation, freeze the original ERC weights and asset volatilities but replace every off-diagonal correlation with 0.80. The contribution shares become approximately 31.30% for A, 29.42% for B and 39.28% for C. Modeled daily portfolio volatility rises from 2.5212% to 3.1434%.
Under that same equal-correlation assumption, the original inverse-volatility weights do produce one-third contributions. Their modeled daily portfolio volatility is 3.0467%. Equal risk shares can therefore coexist with a larger total risk estimate.
These are sensitivity calculations, not predictions that correlations will reach 0.80. In a real study, preserve the original weights while changing assumptions so you can distinguish a model change from a rebalance. The rolling-correlation window guide addresses how the return clock and observation window affect those estimates.
Use a worksheet that exposes implementation failures
Record these choices before interpreting a portfolio as risk parity:
| Worksheet field | What to save | Failure that should stop or qualify the calculation |
|---|---|---|
| Universe and grouping | Underlying exposures, included assets, cash treatment | Duplicate wrappers or account rows counted as independent assets |
| Return measurement | Reporting currency, price source, interval, timestamps and missing-data rule | Stale marks, mismatched closes or missing returns filled with zeros |
| Risk inputs | Volatilities, correlations, covariance matrix and sample dates | Zero volatility, inconsistent units or an invalid covariance matrix |
| Allocation constraints | Weight bounds, eligible instruments, gross exposure and liquidity limits | A mathematically attractive weight cannot be held or traded |
| Acceptance check | Unrounded weights, achieved contributions and chosen error tolerance | Solver stops without achieving the stated budget |
| Sensitivity and execution | Alternate assumptions, turnover, fees and final fills | A small input change or trading friction overwhelms the intended adjustment |
Choose a contribution-error tolerance before inspecting results. For a three-asset equal budget, compare every achieved share with 1/3; save the largest absolute difference. A solver's success flag alone does not establish parity.
Check that the covariance matrix is symmetric and positive semidefinite. Correlations calculated from different pairwise samples can fail to form a valid joint matrix. Tiny estimated volatility also deserves investigation: a stale token price can otherwise attract a very large inverse-volatility allocation. Do not treat a stablecoin as zero-risk cash merely because its recent price variation is small.
Caps can deliberately prevent exact parity. If a liquidity or concentration limit binds, report the achieved contributions and the binding constraint. The package authors' discussion of constrained formulations explains why additional constraints can disrupt equal contributions. Preserve a real constraint even when doing so makes the risk-budget chart less tidy.
Keep custody, protocol failure, liquidation and abrupt discontinuities in a separate dependency review. A volatility model does not encode every possible loss. Use the existing portfolio correlation and common-shock worksheet to examine combined losses under explicit adverse scenarios.
Separate target weights from trades
Even a valid target is only a proposal until quantities, costs and fills are reconciled. In the hypothetical $12,000 account, moving from equal weight to ERC requires approximately $2,372.53 of purchases and the same amount of sales at unchanged marks. That is 19.77% one-way turnover, measured as half the sum of absolute weight changes.
Gross traded value is about $4,745.07. At a hypothetical 0.12% fee on every purchase and sale, fees total about $5.69, before spread, slippage or rounding. Paying those fees changes available equity, so exact post-cost target quantities require another calculation. The portfolio-turnover guide explains the denominator and gross-trading distinction.
Define when drift or new information warrants a review, then check actual holdings after execution. Recalculating constantly can create trades without providing more trustworthy estimates.
Before accepting a crypto risk parity allocation, reproduce its achieved contribution shares from the full covariance matrix. Save the assumptions, constraints and sensitivity results beside the capital weights. That record tells you what was equalized, under which model, and what would require the allocation to be reconsidered.
